@toolproof-core/genesis 1.0.52 → 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 (187) 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} +68 -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} +2 -3
  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/src/utils/constantsAndMappings.d.ts +20 -2
  99. package/dist/src/utils/constantsAndMappings.js +113 -5
  100. package/dist/tsconfig.tsbuildinfo +1 -0
  101. package/package.json +42 -8
  102. package/generated-src/implementations/tools.ts +0 -214
  103. package/generated-src/metadata/Core.json +0 -1929
  104. package/generated-src/metadata/dependencyMap.json +0 -297
  105. package/generated-src/metadata/terminals.json +0 -16
  106. package/generated-src/schemas/standalone/Boolean.json +0 -5
  107. package/generated-src/schemas/standalone/Error.json +0 -78
  108. package/generated-src/schemas/standalone/Goal.json +0 -53
  109. package/generated-src/schemas/standalone/Natural.json +0 -6
  110. package/generated-src/schemas/standalone/Resource.json +0 -166
  111. package/generated-src/schemas/standalone/ResourceType.json +0 -147
  112. package/generated-src/schemas/standalone/Strategy.json +0 -637
  113. package/generated-src/schemas/standalone/StrategyTrace.json +0 -816
  114. package/generated-src/schemas/standalone/Suite.json +0 -646
  115. package/generated-src/schemas/standalone/Tool.json +0 -533
  116. package/generated-src/schemas/zod/Error.ts +0 -11
  117. package/generated-src/schemas/zod/Goal.ts +0 -8
  118. package/generated-src/schemas/zod/Resource.ts +0 -21
  119. package/generated-src/schemas/zod/ResourceType.ts +0 -14
  120. package/generated-src/schemas/zod/Strategy.ts +0 -68
  121. package/generated-src/schemas/zod/StrategyTrace.ts +0 -75
  122. package/generated-src/schemas/zod/Suite.ts +0 -44
  123. package/generated-src/schemas/zod/Tool.ts +0 -34
  124. package/src/declarations/booleans.json +0 -4
  125. package/src/declarations/naturals.json +0 -13
  126. package/src/declarations/resourceTypes/resourceTypeShells.json +0 -53
  127. package/src/declarations/resourceTypes/schemas.json +0 -1839
  128. package/src/declarations/tools.json +0 -705
  129. package/src/implementations/tools.ts +0 -214
  130. package/src/index.ts +0 -131
  131. package/src/utils/constantsAndMappings.ts +0 -195
  132. package/src/utils/coreProjection.ts +0 -53
  133. package/src/utils/resourceTypes.ts +0 -71
  134. package/src/utils/schemaDependencies.ts +0 -115
  135. package/src/utils/schemaObjectNormalization.ts +0 -71
  136. package/src/utils/schemaRefNormalization.ts +0 -83
  137. package/src/utils/schemaShims.ts +0 -17
  138. package/src/utils/standaloneSchemas.ts +0 -114
  139. package/src/utils/standaloneTypes.ts +0 -28
  140. package/src/utils/standaloneZodSchemas.ts +0 -72
  141. package/src/utils/timestampedResources.ts +0 -42
  142. package/src/utils/typeGeneration.ts +0 -31
  143. package/src/utils/typeGenerationPostProcess.ts +0 -246
  144. package/src/utils/typeGenerationPreflight.ts +0 -119
  145. package/src/utils/zodCodegen.ts +0 -549
  146. /package/{generated-src/declarations/booleans.ts → dist/generated-src/declarations/booleans.js} +0 -0
  147. /package/{generated-src/declarations/naturals.ts → dist/generated-src/declarations/naturals.js} +0 -0
  148. /package/{generated-src/declarations/resourceTypes.ts → dist/generated-src/declarations/resourceTypes.js} +0 -0
  149. /package/{generated-src/declarations/tools.ts → dist/generated-src/declarations/tools.js} +0 -0
  150. /package/{generated-src/schemas/schemas.ts → dist/generated-src/schemas/schemas.js} +0 -0
  151. /package/{generated-src/schemas/standalone/Boolean.ts → dist/generated-src/schemas/standalone/Boolean.js} +0 -0
  152. /package/{generated-src/schemas/standalone/Error.ts → dist/generated-src/schemas/standalone/Error.js} +0 -0
  153. /package/{generated-src/schemas/standalone/Goal.ts → dist/generated-src/schemas/standalone/Goal.js} +0 -0
  154. /package/{generated-src/schemas/standalone/Natural.ts → dist/generated-src/schemas/standalone/Natural.js} +0 -0
  155. /package/{generated-src/schemas/standalone/Resource.ts → dist/generated-src/schemas/standalone/Resource.js} +0 -0
  156. /package/{generated-src/schemas/standalone/ResourceType.ts → dist/generated-src/schemas/standalone/ResourceType.js} +0 -0
  157. /package/{generated-src/schemas/standalone/Strategy.ts → dist/generated-src/schemas/standalone/Strategy.js} +0 -0
  158. /package/{generated-src/schemas/standalone/StrategyTrace.ts → dist/generated-src/schemas/standalone/StrategyTrace.js} +0 -0
  159. /package/{generated-src/schemas/standalone/Suite.ts → dist/generated-src/schemas/standalone/Suite.js} +0 -0
  160. /package/{generated-src/schemas/standalone/Tool.ts → dist/generated-src/schemas/standalone/Tool.js} +0 -0
  161. /package/{generated-src/schemas/zod/index.ts → dist/generated-src/schemas/zod/index.js} +0 -0
  162. /package/{generated-src/timestampedResources/booleans.ts → dist/generated-src/timestampedResources/booleans.js} +0 -0
  163. /package/{generated-src/timestampedResources/naturals.ts → dist/generated-src/timestampedResources/naturals.js} +0 -0
  164. /package/{generated-src/timestampedResources/resourceTypes.ts → dist/generated-src/timestampedResources/resourceTypes.js} +0 -0
  165. /package/{generated-src/timestampedResources/tools.ts → dist/generated-src/timestampedResources/tools.js} +0 -0
  166. /package/{generated-src → dist/generated-src}/types/standalone/BooleanResource.d.ts +0 -0
  167. /package/{generated-src → dist/generated-src}/types/standalone/BooleanResource.js +0 -0
  168. /package/{generated-src → dist/generated-src}/types/standalone/ErrorResource.d.ts +0 -0
  169. /package/{generated-src → dist/generated-src}/types/standalone/ErrorResource.js +0 -0
  170. /package/{generated-src → dist/generated-src}/types/standalone/GoalResource.d.ts +0 -0
  171. /package/{generated-src → dist/generated-src}/types/standalone/GoalResource.js +0 -0
  172. /package/{generated-src → dist/generated-src}/types/standalone/NaturalResource.d.ts +0 -0
  173. /package/{generated-src → dist/generated-src}/types/standalone/NaturalResource.js +0 -0
  174. /package/{generated-src → dist/generated-src}/types/standalone/ResourceResource.d.ts +0 -0
  175. /package/{generated-src → dist/generated-src}/types/standalone/ResourceResource.js +0 -0
  176. /package/{generated-src → dist/generated-src}/types/standalone/ResourceTypeResource.d.ts +0 -0
  177. /package/{generated-src → dist/generated-src}/types/standalone/ResourceTypeResource.js +0 -0
  178. /package/{generated-src → dist/generated-src}/types/standalone/StrategyResource.d.ts +0 -0
  179. /package/{generated-src → dist/generated-src}/types/standalone/StrategyResource.js +0 -0
  180. /package/{generated-src → dist/generated-src}/types/standalone/StrategyTraceResource.d.ts +0 -0
  181. /package/{generated-src → dist/generated-src}/types/standalone/StrategyTraceResource.js +0 -0
  182. /package/{generated-src → dist/generated-src}/types/standalone/SuiteResource.d.ts +0 -0
  183. /package/{generated-src → dist/generated-src}/types/standalone/SuiteResource.js +0 -0
  184. /package/{generated-src → dist/generated-src}/types/standalone/ToolResource.d.ts +0 -0
  185. /package/{generated-src → dist/generated-src}/types/standalone/ToolResource.js +0 -0
  186. /package/{generated-src → dist/generated-src}/types/types.d.ts +0 -0
  187. /package/{generated-src → dist/generated-src}/types/types.js +0 -0
@@ -1,533 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "type": "object",
4
- "required": [
5
- "handle",
6
- "isTemplate"
7
- ],
8
- "properties": {
9
- "handle": {
10
- "$ref": "#/$defs/ToolHandle"
11
- },
12
- "templateToolHandle": {
13
- "$ref": "#/$defs/ToolHandle"
14
- },
15
- "isTemplate": {
16
- "type": "boolean"
17
- },
18
- "instantiationRoleSpec": {
19
- "$ref": "#/$defs/RoleSpec"
20
- }
21
- },
22
- "$comment": "Template Tools own dispatch contract: Core scans all instantiation Tools grouped by templateToolHandle, derives a specializationKey from each instantiation tool's generic assignment by taking the canonical order of genericRoleName -> assigned ResourceType.resourceTypeHandle pairs, and asserts injectivity (no two instantiation Tools share the same key for the same template). At invocation time Core injects the specializationKey -> instantiationToolHandle lookup as the second input, then the template resolves the first input against it to return one instantiation Tool. Cross-resource compatibility between an instantiation Tool's roleSpec and the template's instantiationRoleSpec is deferred to the validation package.",
23
- "semanticValidation": "Deferred: verify injectivity of specializationKey map per template; verify instantiation Tool roleSpec matches template instantiationRoleSpec; verify every supplied generic assignment key-set exactly equals roleSpec.inputRoleValueByName.GenericAssignmentByRoleName.mapKeys; verify every supplied generic assignment matches a registered specializationKey.",
24
- "allOf": [
25
- {
26
- "$ref": "#/$defs/DocumentationSpec"
27
- },
28
- {
29
- "if": {
30
- "required": [
31
- "isTemplate"
32
- ],
33
- "properties": {
34
- "isTemplate": {
35
- "const": true
36
- }
37
- }
38
- },
39
- "then": {
40
- "required": [
41
- "instantiationRoleSpec"
42
- ]
43
- },
44
- "else": {
45
- "not": {
46
- "required": [
47
- "instantiationRoleSpec"
48
- ]
49
- }
50
- }
51
- },
52
- {
53
- "$comment": "Template Tools must declare named roles: two map inputs (GenericAssignmentByRoleName and InstantiationToolHandleBySpecializationKey) and one scalar TYPE-Tool output (InstantiationTool). GenericAssignmentByRoleName.mapKeys declares the generic parameter names accepted by the template. Runtime semantic validation enforces that each invocation's GenericAssignmentByRoleName object has exactly that key set: no missing keys, no extra keys. These keys are the generic parameter names later referenced via roleSchema refs such as #OperandType; they are not required to match the top-level role names of instantiationRoleSpec.",
54
- "if": {
55
- "required": [
56
- "isTemplate"
57
- ],
58
- "properties": {
59
- "isTemplate": {
60
- "const": true
61
- }
62
- }
63
- },
64
- "then": {
65
- "properties": {
66
- "roleSpec": {
67
- "properties": {
68
- "inputRoleValueByName": {
69
- "required": [
70
- "GenericAssignmentByRoleName",
71
- "InstantiationToolHandleBySpecializationKey"
72
- ],
73
- "properties": {
74
- "GenericAssignmentByRoleName": {
75
- "required": [
76
- "containerKind",
77
- "typeRef",
78
- "mapKeys"
79
- ],
80
- "properties": {
81
- "containerKind": {
82
- "const": "map"
83
- },
84
- "typeRef": {
85
- "required": [
86
- "resourceTypeHandle"
87
- ],
88
- "properties": {
89
- "resourceTypeHandle": {
90
- "const": "TYPE-ResourceType"
91
- }
92
- }
93
- },
94
- "mapKeys": {
95
- "type": "array",
96
- "items": {
97
- "$ref": "#/$defs/RoleName"
98
- },
99
- "minItems": 1,
100
- "uniqueItems": true
101
- }
102
- }
103
- },
104
- "InstantiationToolHandleBySpecializationKey": {
105
- "required": [
106
- "containerKind",
107
- "typeRef"
108
- ],
109
- "properties": {
110
- "containerKind": {
111
- "const": "map"
112
- },
113
- "typeRef": {
114
- "required": [
115
- "resourceTypeHandle"
116
- ],
117
- "properties": {
118
- "resourceTypeHandle": {
119
- "const": "TYPE-Tool"
120
- }
121
- }
122
- }
123
- },
124
- "not": {
125
- "required": [
126
- "mapKeys"
127
- ]
128
- }
129
- }
130
- },
131
- "additionalProperties": false
132
- },
133
- "outputRoleValueByName": {
134
- "required": [
135
- "InstantiationTool"
136
- ],
137
- "properties": {
138
- "InstantiationTool": {
139
- "required": [
140
- "containerKind",
141
- "typeRef"
142
- ],
143
- "properties": {
144
- "containerKind": {
145
- "const": "scalar"
146
- },
147
- "typeRef": {
148
- "required": [
149
- "resourceTypeHandle"
150
- ],
151
- "properties": {
152
- "resourceTypeHandle": {
153
- "const": "TYPE-Tool"
154
- }
155
- }
156
- }
157
- }
158
- }
159
- },
160
- "additionalProperties": false
161
- }
162
- }
163
- }
164
- }
165
- }
166
- },
167
- {
168
- "$ref": "#/$defs/RoleSpecFacet"
169
- }
170
- ],
171
- "unevaluatedProperties": false,
172
- "$defs": {
173
- "ToolHandle": {
174
- "$schema": "https://json-schema.org/draft/2020-12/schema",
175
- "type": "string",
176
- "pattern": "^TOOL-.+$"
177
- },
178
- "RoleSpec": {
179
- "$schema": "https://json-schema.org/draft/2020-12/schema",
180
- "type": "object",
181
- "required": [
182
- "inputRoleValueByName",
183
- "outputRoleValueByName"
184
- ],
185
- "properties": {
186
- "inputRoleValueByName": {
187
- "$ref": "#/$defs/RoleValueByName"
188
- },
189
- "outputRoleValueByName": {
190
- "$ref": "#/$defs/RoleValueByName"
191
- },
192
- "refinementSchema": {
193
- "$comment": "Allows Tool authors to specify additional constraints on the role assignment beyond those expressible in the type system.",
194
- "$ref": "#/$defs/JsonSchemaObject"
195
- }
196
- },
197
- "unevaluatedProperties": false
198
- },
199
- "DocumentationSpec": {
200
- "$schema": "https://json-schema.org/draft/2020-12/schema",
201
- "type": "object",
202
- "allOf": [
203
- {
204
- "$ref": "#/$defs/NameFacet"
205
- },
206
- {
207
- "type": "object",
208
- "properties": {
209
- "symbol": {
210
- "type": "string"
211
- }
212
- }
213
- },
214
- {
215
- "$ref": "#/$defs/DescriptionFacet"
216
- }
217
- ]
218
- },
219
- "RoleName": {
220
- "$schema": "https://json-schema.org/draft/2020-12/schema",
221
- "$ref": "#/$defs/Name"
222
- },
223
- "RoleSpecFacet": {
224
- "$schema": "https://json-schema.org/draft/2020-12/schema",
225
- "type": "object",
226
- "required": [
227
- "roleSpec"
228
- ],
229
- "properties": {
230
- "roleSpec": {
231
- "$ref": "#/$defs/RoleSpec"
232
- }
233
- }
234
- },
235
- "RoleValueByName": {
236
- "$schema": "https://json-schema.org/draft/2020-12/schema",
237
- "type": "object",
238
- "propertyNames": {
239
- "$ref": "#/$defs/RoleName"
240
- },
241
- "additionalProperties": {
242
- "$ref": "#/$defs/RoleValue"
243
- }
244
- },
245
- "JsonSchemaObject": {
246
- "$schema": "https://json-schema.org/draft/2020-12/schema",
247
- "type": "object",
248
- "required": [
249
- "$schema"
250
- ],
251
- "properties": {
252
- "$schema": {
253
- "const": "https://json-schema.org/draft/2020-12/schema"
254
- }
255
- },
256
- "additionalProperties": true
257
- },
258
- "NameFacet": {
259
- "$schema": "https://json-schema.org/draft/2020-12/schema",
260
- "type": "object",
261
- "required": [
262
- "name"
263
- ],
264
- "properties": {
265
- "name": {
266
- "$ref": "#/$defs/Name"
267
- }
268
- }
269
- },
270
- "DescriptionFacet": {
271
- "$schema": "https://json-schema.org/draft/2020-12/schema",
272
- "type": "object",
273
- "required": [
274
- "description"
275
- ],
276
- "properties": {
277
- "description": {
278
- "$ref": "#/$defs/Description"
279
- }
280
- }
281
- },
282
- "Name": {
283
- "$schema": "https://json-schema.org/draft/2020-12/schema",
284
- "type": "string",
285
- "minLength": 1,
286
- "pattern": "^[A-Z][a-zA-Z0-9]*$",
287
- "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
288
- "semanticValidation": "Ajv custom keyword to verify name."
289
- },
290
- "RoleValue": {
291
- "$schema": "https://json-schema.org/draft/2020-12/schema",
292
- "$comment": "Pairs a type reference (typeRef) with a container shape. typeRef may be a single atomic type reference or a finite sum type over atomic successful value alternatives.",
293
- "type": "object",
294
- "required": [
295
- "typeRef",
296
- "containerKind"
297
- ],
298
- "properties": {
299
- "typeRef": {
300
- "$ref": "#/$defs/TypeRef"
301
- },
302
- "refinementSchema": {
303
- "$comment": "Allows Tool authors to specify additional constraints on the role value beyond those expressible in the type system.",
304
- "$ref": "#/$defs/JsonSchemaObject"
305
- },
306
- "containerKind": {
307
- "$ref": "#/$defs/ContainerKind"
308
- },
309
- "containerSchema": {
310
- "$ref": "#/$defs/JsonSchemaObject"
311
- },
312
- "mapKeys": {
313
- "$ref": "#/$defs/RoleNameArray"
314
- }
315
- },
316
- "allOf": [
317
- {
318
- "$comment": "If containerKind is scalar, containerSchema is forbidden. Otherwise, it is optional.",
319
- "if": {
320
- "properties": {
321
- "containerKind": {
322
- "const": "scalar"
323
- }
324
- }
325
- },
326
- "then": {
327
- "not": {
328
- "required": [
329
- "containerSchema"
330
- ]
331
- }
332
- }
333
- },
334
- {
335
- "$comment": "If containerKind is array and containerSchema is provided, it must describe a homogeneous array (type=array with items; tuple-only schemas are disallowed).",
336
- "if": {
337
- "required": [
338
- "containerSchema"
339
- ],
340
- "properties": {
341
- "containerKind": {
342
- "const": "array"
343
- }
344
- }
345
- },
346
- "then": {
347
- "properties": {
348
- "containerSchema": {
349
- "type": "object",
350
- "required": [
351
- "type",
352
- "items"
353
- ],
354
- "properties": {
355
- "type": {
356
- "const": "array"
357
- },
358
- "items": {
359
- "type": "object"
360
- }
361
- },
362
- "not": {
363
- "required": [
364
- "prefixItems"
365
- ]
366
- }
367
- }
368
- }
369
- }
370
- },
371
- {
372
- "$comment": "If containerKind is map and containerSchema is provided, it must describe a homogeneous map (type=object with additionalProperties; key-specific schemas are disallowed).",
373
- "if": {
374
- "required": [
375
- "containerSchema"
376
- ],
377
- "properties": {
378
- "containerKind": {
379
- "const": "map"
380
- }
381
- }
382
- },
383
- "then": {
384
- "properties": {
385
- "containerSchema": {
386
- "type": "object",
387
- "required": [
388
- "type",
389
- "additionalProperties"
390
- ],
391
- "properties": {
392
- "type": {
393
- "const": "object"
394
- },
395
- "additionalProperties": {
396
- "type": "object"
397
- }
398
- },
399
- "not": {
400
- "anyOf": [
401
- {
402
- "required": [
403
- "properties"
404
- ]
405
- },
406
- {
407
- "required": [
408
- "patternProperties"
409
- ]
410
- }
411
- ]
412
- }
413
- }
414
- }
415
- }
416
- },
417
- {
418
- "$comment": "If containerKind is map, mapKeys is optional (omit for open/dynamic keys, supply for statically-known fixed keys). On non-map containers, mapKeys is forbidden.",
419
- "if": {
420
- "properties": {
421
- "containerKind": {
422
- "const": "map"
423
- }
424
- }
425
- },
426
- "then": {},
427
- "else": {
428
- "not": {
429
- "required": [
430
- "mapKeys"
431
- ]
432
- }
433
- }
434
- }
435
- ],
436
- "unevaluatedProperties": false
437
- },
438
- "Description": {
439
- "$schema": "https://json-schema.org/draft/2020-12/schema",
440
- "type": "string",
441
- "minLength": 1,
442
- "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
443
- "semanticValidation": "Ajv custom keyword to verify description."
444
- },
445
- "TypeRef": {
446
- "$comment": "A type reference is either a single AtomicTypeRef or a finite sum type expressed as oneOfTypeRefs. The oneOfTypeRefs branch permits a union of atomic successful value alternatives and does not permit nested unions.",
447
- "oneOf": [
448
- {
449
- "$ref": "#/$defs/AtomicTypeRef"
450
- },
451
- {
452
- "type": "object",
453
- "required": [
454
- "oneOfTypeRefs"
455
- ],
456
- "properties": {
457
- "oneOfTypeRefs": {
458
- "type": "array",
459
- "items": {
460
- "$ref": "#/$defs/AtomicTypeRef"
461
- },
462
- "minItems": 2,
463
- "uniqueItems": true
464
- }
465
- },
466
- "additionalProperties": false
467
- }
468
- ]
469
- },
470
- "ContainerKind": {
471
- "$schema": "https://json-schema.org/draft/2020-12/schema",
472
- "type": "string",
473
- "enum": [
474
- "scalar",
475
- "array",
476
- "map"
477
- ]
478
- },
479
- "RoleNameArray": {
480
- "$schema": "https://json-schema.org/draft/2020-12/schema",
481
- "type": "array",
482
- "items": {
483
- "$ref": "#/$defs/RoleName"
484
- }
485
- },
486
- "AtomicTypeRef": {
487
- "$schema": "https://json-schema.org/draft/2020-12/schema",
488
- "$comment": "An atomic type reference is either resource-backed (resourceTypeHandle, strategy-legal) or schema-backed (roleSchema, internal/Core-only). The roleSchema branch holds an object whose $ref names the type parameter (e.g. '#OperandType'), matching an entry in the template's GenericAssignmentByRoleName.mapKeys. Exactly one atomic branch must be present.",
489
- "oneOf": [
490
- {
491
- "type": "object",
492
- "required": [
493
- "resourceTypeHandle"
494
- ],
495
- "properties": {
496
- "resourceTypeHandle": {
497
- "$ref": "#/$defs/ResourceTypeHandle"
498
- }
499
- },
500
- "additionalProperties": false
501
- },
502
- {
503
- "type": "object",
504
- "required": [
505
- "roleSchema"
506
- ],
507
- "properties": {
508
- "roleSchema": {
509
- "type": "object",
510
- "required": [
511
- "$ref"
512
- ],
513
- "$comment": "A reference to a named type parameter. The $ref value must be '#' followed by a RoleName, matching a key in the template's GenericAssignmentByRoleName.mapKeys.",
514
- "properties": {
515
- "$ref": {
516
- "type": "string",
517
- "pattern": "^#[A-Z][a-zA-Z0-9]*$"
518
- }
519
- },
520
- "additionalProperties": false
521
- }
522
- },
523
- "additionalProperties": false
524
- }
525
- ]
526
- },
527
- "ResourceTypeHandle": {
528
- "$schema": "https://json-schema.org/draft/2020-12/schema",
529
- "type": "string",
530
- "pattern": "^TYPE-.+$"
531
- }
532
- }
533
- }
@@ -1,11 +0,0 @@
1
- // Auto-generated from standalone schema 'Error'. Do not edit.
2
- import { z } from 'zod/v4';
3
-
4
-
5
- const DescriptionSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1));
6
- const DescriptionFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "description": DescriptionSchema }));
7
- const DocumentationSpecSchema: z.ZodTypeAny = z.lazy(() => z.object({ "name": NameSchema, "symbol": z.string().optional(), "description": DescriptionSchema }));
8
- const NameSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1).regex(new RegExp("^[A-Z][a-zA-Z0-9]*$")));
9
- const NameFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "name": NameSchema }));
10
-
11
- export const ErrorSchema: z.ZodTypeAny = z.lazy(() => z.object({ "name": NameSchema, "symbol": z.string().optional(), "description": DescriptionSchema, "details": z.object({ }).optional() }).strict());
@@ -1,8 +0,0 @@
1
- // Auto-generated from standalone schema 'Goal'. Do not edit.
2
- import { z } from 'zod/v4';
3
-
4
-
5
- const GoalHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^GOAL-.+$")));
6
- const ToolHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TOOL-.+$")));
7
-
8
- export const GoalSchema: z.ZodTypeAny = z.lazy(() => z.object({ "handle": GoalHandleSchema, "target": z.number().int().min(0), "disallowedTools": z.array(ToolHandleSchema).optional(), "disallowedSequences": z.array(z.array(ToolHandleSchema)).optional(), "minSteps": z.number().int().min(1).optional(), "maxSteps": z.number().int().min(1).optional() }).strict());
@@ -1,21 +0,0 @@
1
- // Auto-generated from standalone schema 'Resource'. Do not edit.
2
- import { z } from 'zod/v4';
3
-
4
-
5
- const BaseResourceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "projection": z.any(), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
6
- const GenesisProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenanceKind": z.literal("genesis") }).strict());
7
- const NameSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1).regex(new RegExp("^[A-Z][a-zA-Z0-9]*$")));
8
- const OutputAddressSchema: z.ZodTypeAny = z.lazy(() => z.object({ "roleName": RoleNameSchema, "toolStepPath": ToolStepPathSchema }).strict());
9
- const ProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.union([GenesisProvenanceSchema, StrategyProvenanceSchema]));
10
- const ProvenanceFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenance": ProvenanceSchema }));
11
- const ResourceIdSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^RESOURCE-.+$")));
12
- const ResourcePointerSchema: z.ZodTypeAny = z.lazy(() => z.object({ "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
13
- const ResourceTypeHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TYPE-.+$")));
14
- const RoleNameSchema: z.ZodTypeAny = z.lazy(() => NameSchema);
15
- const StrategyProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenanceKind": z.literal("strategy"), "strategyTraceHandle": StrategyTraceHandleSchema, "outputAddress": OutputAddressSchema }).strict());
16
- const StrategyTraceHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^STRATEGY_TRACE-.+$")));
17
- const ThreadedToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$")));
18
- const ToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.union([UnthreadedToolStepPathSchema, ThreadedToolStepPathSchema]));
19
- const UnthreadedToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$")));
20
-
21
- export const ResourceSchema: z.ZodTypeAny = z.lazy(() => BaseResourceSchema);
@@ -1,14 +0,0 @@
1
- // Auto-generated from standalone schema 'ResourceType'. Do not edit.
2
- import { z } from 'zod/v4';
3
-
4
-
5
- const DescriptionSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1));
6
- const DescriptionFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "description": DescriptionSchema }));
7
- const DocumentationSpecSchema: z.ZodTypeAny = z.lazy(() => z.object({ "name": NameSchema, "symbol": z.string().optional(), "description": DescriptionSchema }));
8
- const JsonSchemaObjectSchema: z.ZodTypeAny = z.lazy(() => z.object({ "$schema": z.literal("https://json-schema.org/draft/2020-12/schema") }).passthrough());
9
- const NameSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1).regex(new RegExp("^[A-Z][a-zA-Z0-9]*$")));
10
- const NameFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "name": NameSchema }));
11
- const ResourceTypeHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TYPE-.+$")));
12
- const ToolHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TOOL-.+$")));
13
-
14
- export const ResourceTypeSchema: z.ZodTypeAny = z.lazy(() => z.intersection(z.intersection(z.intersection(z.object({ "handle": ResourceTypeHandleSchema, "projectionSchema": JsonSchemaObjectSchema.optional(), "ingestorToolHandle": ToolHandleSchema.optional(), "ingestorToolInputSchema": JsonSchemaObjectSchema.optional(), "embeddingModelTools": z.array(ToolHandleSchema).min(1).optional() }).strict(), DocumentationSpecSchema), z.union([z.object({ }), z.object({ })])), z.any()));
@@ -1,68 +0,0 @@
1
- // Auto-generated from standalone schema 'Strategy'. Do not edit.
2
- import { z } from 'zod/v4';
3
-
4
-
5
- export const StrategyZodGenerationWarnings = [
6
- {
7
- "path": "$defs.StepArray.uniqueItems",
8
- "message": "uniqueItems not enforced by generated Zod."
9
- },
10
- {
11
- "path": "$defs.StrategyStateInputEntryByRoleName.propertyNames",
12
- "message": "Unsupported propertyNames $ref target; keys will not be validated."
13
- },
14
- {
15
- "path": "$defs.BranchStep.allOfMerged.properties.cases.uniqueItems",
16
- "message": "uniqueItems not enforced by generated Zod."
17
- }
18
- ] as const;
19
-
20
- const BaseResourceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "projection": z.any(), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
21
- const BaseStrategySchema: z.ZodTypeAny = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "strategyKind": StrategyKindSchema }));
22
- const BranchStepSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("branch"), StepKindSchema), "cases": z.array(CaseSchema).min(1) }));
23
- const CaseSchema: z.ZodTypeAny = z.lazy(() => z.object({ "when": ToolStepSchema, "what": ToolStepSchema }).strict());
24
- const DeferredStrategyProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenanceKind": z.literal("strategy"), "outputAddress": OutputAddressSchema }).strict());
25
- const ExternalInputPotentialSchema: z.ZodTypeAny = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("externalInputPotential"), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema }).strict());
26
- const ForStepSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("for"), StepKindSchema), "case": CaseSchema }));
27
- const GenesisProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenanceKind": z.literal("genesis") }).strict());
28
- const InputPotentialSchema: z.ZodTypeAny = z.lazy(() => z.union([ExternalInputPotentialSchema, InternalInputPotentialSchema]));
29
- const InputResourceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("inputResource"), "projection": z.any(), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
30
- const InternalInputPotentialSchema: z.ZodTypeAny = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("internalInputPotential"), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": DeferredStrategyProvenanceSchema }).strict());
31
- const NameSchema: z.ZodTypeAny = z.lazy(() => z.string().min(1).regex(new RegExp("^[A-Z][a-zA-Z0-9]*$")));
32
- const OutputAddressSchema: z.ZodTypeAny = z.lazy(() => z.object({ "roleName": RoleNameSchema, "toolStepPath": ToolStepPathSchema }).strict());
33
- const ProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.union([GenesisProvenanceSchema, StrategyProvenanceSchema]));
34
- const ProvenanceFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenance": ProvenanceSchema }));
35
- const ResourceIdSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^RESOURCE-.+$")));
36
- const ResourcePointerSchema: z.ZodTypeAny = z.lazy(() => z.object({ "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
37
- const ResourceTypeHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TYPE-.+$")));
38
- const RoleBindingSpecSchema: z.ZodTypeAny = z.lazy(() => z.object({ "inputBindings": RoleNameArraySchema, "outputBindings": RoleNameArraySchema }).strict());
39
- const RoleBindingSpecFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "roleBindingSpec": RoleBindingSpecSchema }));
40
- const RoleNameSchema: z.ZodTypeAny = z.lazy(() => NameSchema);
41
- const RoleNameArraySchema: z.ZodTypeAny = z.lazy(() => z.array(RoleNameSchema));
42
- const StepSchema: z.ZodTypeAny = z.lazy(() => z.union([ToolStepSchema, BranchStepSchema, WhileStepSchema, ForStepSchema]));
43
- const StepArraySchema: z.ZodTypeAny = z.lazy(() => z.array(StepSchema));
44
- const StepArrayArraySchema: z.ZodTypeAny = z.lazy(() => z.array(StepArraySchema));
45
- const StepKindSchema: z.ZodTypeAny = z.lazy(() => z.union([z.literal("tool"), z.literal("branch"), z.literal("while"), z.literal("for")]));
46
- const StepKindFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepKind": StepKindSchema }));
47
- const StepsByThreadIndexFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepsByThreadIndex": StepArrayArraySchema }));
48
- const StepsFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "steps": StepArraySchema }));
49
- const StrategyHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^STRATEGY-.+$")));
50
- const StrategyKindSchema: z.ZodTypeAny = z.lazy(() => z.union([z.literal("unthreaded"), z.literal("threaded")]));
51
- const StrategyProvenanceSchema: z.ZodTypeAny = z.lazy(() => z.object({ "provenanceKind": z.literal("strategy"), "strategyTraceHandle": StrategyTraceHandleSchema, "outputAddress": OutputAddressSchema }).strict());
52
- const StrategyStateInputEntrySchema: z.ZodTypeAny = z.lazy(() => z.union([InputPotentialSchema, InputResourceSchema]));
53
- const StrategyStateInputEntryByRoleNameSchema: z.ZodTypeAny = z.lazy(() => z.record(z.string(), StrategyStateInputEntrySchema));
54
- const StrategyTraceHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^STRATEGY_TRACE-.+$")));
55
- const ThreadedStrategySchema: z.ZodTypeAny = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "strategyKind": z.intersection(StrategyKindSchema, z.literal("threaded")), "stepsByThreadIndex": StepArrayArraySchema, "strategyState": ThreadedStrategyStateSchema }).strict());
56
- const ThreadedStrategyStateSchema: z.ZodTypeAny = z.lazy(() => z.record(z.string(), StrategyStateInputEntryByRoleNameSchema).superRefine((obj, ctx) => { for (const k of Object.keys(obj)) { if (!new RegExp("^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$").test(k)) ctx.addIssue({ code: 'custom', message: 'Invalid key: ' + k }); } }));
57
- const ThreadedStrategyStateFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "strategyState": ThreadedStrategyStateSchema }));
58
- const ThreadedToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$")));
59
- const ToolHandleSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^TOOL-.+$")));
60
- const ToolStepSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("tool"), StepKindSchema), "toolHandle": ToolHandleSchema, "roleBindingSpec": RoleBindingSpecSchema }));
61
- const ToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.union([UnthreadedToolStepPathSchema, ThreadedToolStepPathSchema]));
62
- const UnthreadedStrategySchema: z.ZodTypeAny = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "strategyKind": z.intersection(StrategyKindSchema, z.literal("unthreaded")), "steps": StepArraySchema, "strategyState": UnthreadedStrategyStateSchema }).strict());
63
- const UnthreadedStrategyStateSchema: z.ZodTypeAny = z.lazy(() => z.record(z.string(), StrategyStateInputEntryByRoleNameSchema).superRefine((obj, ctx) => { for (const k of Object.keys(obj)) { if (!new RegExp("^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$").test(k)) ctx.addIssue({ code: 'custom', message: 'Invalid key: ' + k }); } }));
64
- const UnthreadedStrategyStateFacetSchema: z.ZodTypeAny = z.lazy(() => z.object({ "strategyState": UnthreadedStrategyStateSchema }));
65
- const UnthreadedToolStepPathSchema: z.ZodTypeAny = z.lazy(() => z.string().regex(new RegExp("^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$")));
66
- const WhileStepSchema: z.ZodTypeAny = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("while"), StepKindSchema), "case": CaseSchema }));
67
-
68
- export const StrategySchema: z.ZodTypeAny = z.lazy(() => z.union([UnthreadedStrategySchema, ThreadedStrategySchema]));