@toolproof-core/schema 1.0.0 → 1.0.2

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 (83) hide show
  1. package/dist/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  2. package/dist/generated/types/standalone/Resource_Job.d.ts +3 -0
  3. package/dist/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  4. package/dist/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  5. package/dist/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  6. package/dist/generated/types/types.d.ts +487 -548
  7. package/dist/scripts/_lib/config.d.ts +12 -6
  8. package/dist/scripts/_lib/config.js +33 -15
  9. package/dist/scripts/{extractSchemas.js → extractSchemasFromResourceTypeShells.js} +14 -27
  10. package/dist/scripts/generateDependencies.js +2 -2
  11. package/dist/scripts/generateSchemaShims.js +22 -4
  12. package/dist/scripts/{extractSubSchemaWithDefs.js → generateStandaloneSchema.js} +12 -34
  13. package/dist/scripts/{generateResourceTypeType.js → generateStandaloneType.js} +23 -14
  14. package/dist/scripts/generateTypes.js +1 -1
  15. package/dist/scripts/{rewriteAnchors.js → normalizeAnchorsToPointers.js} +2 -2
  16. package/dist/scripts/{generateResourceShells.js → wrapResourceTypesWithResourceShells.js} +12 -34
  17. package/package.json +15 -14
  18. package/src/Genesis.json +1999 -2042
  19. package/src/generated/{dependencies.json → dependencyMap.json} +207 -214
  20. package/src/generated/{resourceTypes → normalized}/Genesis.json +44 -87
  21. package/src/generated/resources/Genesis.json +415 -478
  22. package/src/generated/schemas/Genesis.json +1026 -1057
  23. package/src/generated/schemas/{Goal.json → standalone/Goal.json} +34 -34
  24. package/src/generated/schemas/{Job.json → standalone/Job.json} +85 -85
  25. package/src/generated/schemas/{RawStrategy.json → standalone/RawStrategy.json} +238 -263
  26. package/src/generated/schemas/{ResourceType.json → standalone/ResourceType.json} +60 -60
  27. package/src/generated/schemas/{RunnableStrategy.json → standalone/RunnableStrategy.json} +296 -321
  28. package/src/generated/schemas/{StrategyRun.json → standalone/StrategyRun.json} +390 -421
  29. package/src/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  30. package/src/generated/types/standalone/Resource_Genesis.js +1 -0
  31. package/src/generated/types/standalone/Resource_Job.d.ts +3 -0
  32. package/src/generated/types/standalone/Resource_Job.js +1 -0
  33. package/src/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  34. package/src/generated/types/standalone/Resource_RawStrategy.js +1 -0
  35. package/src/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  36. package/src/generated/types/standalone/Resource_ResourceType.js +1 -0
  37. package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  38. package/src/generated/types/standalone/Resource_RunnableStrategy.js +1 -0
  39. package/src/generated/types/types.d.ts +487 -548
  40. package/src/generated/types/types.js +1 -1
  41. package/src/scripts/_lib/config.ts +205 -181
  42. package/src/scripts/extractSchemasFromResourceTypeShells.ts +218 -0
  43. package/src/scripts/generateDependencies.ts +120 -120
  44. package/src/scripts/generateSchemaShims.ts +135 -115
  45. package/src/scripts/{extractSubSchemaWithDefs.ts → generateStandaloneSchema.ts} +175 -196
  46. package/src/scripts/{generateResourceTypeType.ts → generateStandaloneType.ts} +119 -110
  47. package/src/scripts/generateTypes.ts +614 -614
  48. package/src/scripts/{rewriteAnchors.ts → normalizeAnchorsToPointers.ts} +123 -123
  49. package/src/scripts/{generateResourceShells.ts → wrapResourceTypesWithResourceShells.ts} +84 -105
  50. package/dist/generated/types/Resource_Genesis.d.ts +0 -3
  51. package/dist/generated/types/Resource_Job.d.ts +0 -3
  52. package/dist/generated/types/Resource_RawStrategy.d.ts +0 -3
  53. package/dist/generated/types/Resource_ResourceType.d.ts +0 -3
  54. package/dist/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  55. package/src/Roadmap.json +0 -102
  56. package/src/generated/types/Resource_Genesis.d.ts +0 -3
  57. package/src/generated/types/Resource_Genesis.js +0 -1
  58. package/src/generated/types/Resource_Job.d.ts +0 -3
  59. package/src/generated/types/Resource_Job.js +0 -1
  60. package/src/generated/types/Resource_RawStrategy.d.ts +0 -3
  61. package/src/generated/types/Resource_RawStrategy.js +0 -1
  62. package/src/generated/types/Resource_ResourceType.d.ts +0 -3
  63. package/src/generated/types/Resource_ResourceType.js +0 -1
  64. package/src/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  65. package/src/generated/types/Resource_RunnableStrategy.js +0 -1
  66. package/src/scripts/extractSchemas.ts +0 -229
  67. /package/dist/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
  68. /package/dist/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
  69. /package/dist/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
  70. /package/dist/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
  71. /package/dist/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
  72. /package/dist/scripts/{extractSchemas.d.ts → extractSchemasFromResourceTypeShells.d.ts} +0 -0
  73. /package/dist/scripts/{extractSubSchemaWithDefs.d.ts → generateStandaloneSchema.d.ts} +0 -0
  74. /package/dist/scripts/{generateResourceShells.d.ts → generateStandaloneType.d.ts} +0 -0
  75. /package/dist/scripts/{generateResourceTypeType.d.ts → normalizeAnchorsToPointers.d.ts} +0 -0
  76. /package/dist/scripts/{rewriteAnchors.d.ts → wrapResourceTypesWithResourceShells.d.ts} +0 -0
  77. /package/src/generated/{resourceTypes → normalized}/Genesis.ts +0 -0
  78. /package/src/generated/schemas/{Goal.ts → standalone/Goal.ts} +0 -0
  79. /package/src/generated/schemas/{Job.ts → standalone/Job.ts} +0 -0
  80. /package/src/generated/schemas/{RawStrategy.ts → standalone/RawStrategy.ts} +0 -0
  81. /package/src/generated/schemas/{ResourceType.ts → standalone/ResourceType.ts} +0 -0
  82. /package/src/generated/schemas/{RunnableStrategy.ts → standalone/RunnableStrategy.ts} +0 -0
  83. /package/src/generated/schemas/{StrategyRun.ts → standalone/StrategyRun.ts} +0 -0
@@ -1,12 +1,19 @@
1
1
  {
2
+ "$anchor": "Goal",
2
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
4
  "type": "object",
4
- "allOf": [
5
- {
6
- "$ref": "#/$defs/DomainFacet"
7
- }
5
+ "required": [
6
+ "identity",
7
+ "target"
8
8
  ],
9
9
  "properties": {
10
+ "identity": {
11
+ "$ref": "#/$defs/GoalIdentity"
12
+ },
13
+ "target": {
14
+ "type": "integer",
15
+ "minimum": 0
16
+ },
10
17
  "disallowedJobs": {
11
18
  "type": "array",
12
19
  "items": {
@@ -22,58 +29,51 @@
22
29
  }
23
30
  }
24
31
  },
25
- "identity": {
26
- "$ref": "#/$defs/GoalIdentity"
27
- },
28
- "maxSteps": {
29
- "type": "integer",
30
- "minimum": 1
31
- },
32
32
  "minSteps": {
33
33
  "type": "integer",
34
34
  "minimum": 1
35
35
  },
36
- "target": {
36
+ "maxSteps": {
37
37
  "type": "integer",
38
- "minimum": 0
38
+ "minimum": 1
39
39
  }
40
40
  },
41
- "required": [
42
- "identity",
43
- "target"
41
+ "allOf": [
42
+ {
43
+ "$ref": "#/$defs/DomainFacet"
44
+ }
44
45
  ],
45
46
  "unevaluatedProperties": false,
46
- "$anchor": "Goal",
47
47
  "$defs": {
48
- "DomainFacet": {
48
+ "GoalIdentity": {
49
+ "$anchor": "GoalIdentity",
49
50
  "$schema": "https://json-schema.org/draft/2020-12/schema",
50
- "type": "object",
51
- "properties": {
52
- "domain": {
53
- "$ref": "#/$defs/Domain"
54
- }
55
- },
56
- "required": [
57
- "domain"
58
- ],
59
- "$anchor": "DomainFacet"
51
+ "type": "string",
52
+ "pattern": "^GOAL-.+$"
60
53
  },
61
54
  "JobIdentity": {
55
+ "$anchor": "JobIdentity",
62
56
  "$schema": "https://json-schema.org/draft/2020-12/schema",
63
57
  "type": "string",
64
- "$anchor": "JobIdentity",
65
58
  "pattern": "^JOB-.+$"
66
59
  },
67
- "GoalIdentity": {
60
+ "DomainFacet": {
61
+ "$anchor": "DomainFacet",
68
62
  "$schema": "https://json-schema.org/draft/2020-12/schema",
69
- "type": "string",
70
- "$anchor": "GoalIdentity",
71
- "pattern": "^GOAL-.+$"
63
+ "type": "object",
64
+ "required": [
65
+ "domain"
66
+ ],
67
+ "properties": {
68
+ "domain": {
69
+ "$ref": "#/$defs/Domain"
70
+ }
71
+ }
72
72
  },
73
73
  "Domain": {
74
+ "$anchor": "Domain",
74
75
  "$schema": "https://json-schema.org/draft/2020-12/schema",
75
76
  "type": "string",
76
- "$anchor": "Domain",
77
77
  "enum": [
78
78
  "internal",
79
79
  "numerical",
@@ -1,6 +1,19 @@
1
1
  {
2
+ "$anchor": "Job",
2
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
4
  "type": "object",
5
+ "required": [
6
+ "identity",
7
+ "implementationUri"
8
+ ],
9
+ "properties": {
10
+ "identity": {
11
+ "$ref": "#/$defs/JobIdentity"
12
+ },
13
+ "implementationUri": {
14
+ "$ref": "#/$defs/Uri"
15
+ }
16
+ },
4
17
  "allOf": [
5
18
  {
6
19
  "$ref": "#/$defs/DocumentationFacet"
@@ -12,22 +25,22 @@
12
25
  "$ref": "#/$defs/RolesFacet"
13
26
  }
14
27
  ],
15
- "properties": {
16
- "identity": {
17
- "$ref": "#/$defs/JobIdentity"
18
- },
19
- "implementationUri": {
20
- "$ref": "#/$defs/Uri"
21
- }
22
- },
23
- "required": [
24
- "identity",
25
- "implementationUri"
26
- ],
27
28
  "unevaluatedProperties": false,
28
- "$anchor": "Job",
29
29
  "$defs": {
30
+ "JobIdentity": {
31
+ "$anchor": "JobIdentity",
32
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
33
+ "type": "string",
34
+ "pattern": "^JOB-.+$"
35
+ },
36
+ "Uri": {
37
+ "$anchor": "Uri",
38
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
39
+ "type": "string",
40
+ "format": "uri"
41
+ },
30
42
  "DocumentationFacet": {
43
+ "$anchor": "DocumentationFacet",
31
44
  "$schema": "https://json-schema.org/draft/2020-12/schema",
32
45
  "type": "object",
33
46
  "allOf": [
@@ -37,77 +50,64 @@
37
50
  {
38
51
  "$ref": "#/$defs/DescriptionFacet"
39
52
  }
40
- ],
41
- "$anchor": "DocumentationFacet"
53
+ ]
42
54
  },
43
55
  "DomainFacet": {
56
+ "$anchor": "DomainFacet",
44
57
  "$schema": "https://json-schema.org/draft/2020-12/schema",
45
58
  "type": "object",
59
+ "required": [
60
+ "domain"
61
+ ],
46
62
  "properties": {
47
63
  "domain": {
48
64
  "$ref": "#/$defs/Domain"
49
65
  }
50
- },
51
- "required": [
52
- "domain"
53
- ],
54
- "$anchor": "DomainFacet"
66
+ }
55
67
  },
56
68
  "RolesFacet": {
69
+ "$anchor": "RolesFacet",
57
70
  "$schema": "https://json-schema.org/draft/2020-12/schema",
58
71
  "type": "object",
72
+ "required": [
73
+ "roles"
74
+ ],
59
75
  "properties": {
60
76
  "roles": {
61
77
  "$ref": "#/$defs/Roles"
62
78
  }
63
- },
64
- "required": [
65
- "roles"
66
- ],
67
- "$anchor": "RolesFacet"
68
- },
69
- "JobIdentity": {
70
- "$schema": "https://json-schema.org/draft/2020-12/schema",
71
- "type": "string",
72
- "$anchor": "JobIdentity",
73
- "pattern": "^JOB-.+$"
74
- },
75
- "Uri": {
76
- "$schema": "https://json-schema.org/draft/2020-12/schema",
77
- "type": "string",
78
- "$anchor": "Uri",
79
- "format": "uri"
79
+ }
80
80
  },
81
81
  "NameFacet": {
82
+ "$anchor": "NameFacet",
82
83
  "$schema": "https://json-schema.org/draft/2020-12/schema",
83
84
  "type": "object",
85
+ "required": [
86
+ "name"
87
+ ],
84
88
  "properties": {
85
89
  "name": {
86
90
  "$ref": "#/$defs/Name"
87
91
  }
88
- },
89
- "required": [
90
- "name"
91
- ],
92
- "$anchor": "NameFacet"
92
+ }
93
93
  },
94
94
  "DescriptionFacet": {
95
+ "$anchor": "DescriptionFacet",
95
96
  "$schema": "https://json-schema.org/draft/2020-12/schema",
96
97
  "type": "object",
98
+ "required": [
99
+ "description"
100
+ ],
97
101
  "properties": {
98
102
  "description": {
99
103
  "$ref": "#/$defs/Description"
100
104
  }
101
- },
102
- "required": [
103
- "description"
104
- ],
105
- "$anchor": "DescriptionFacet"
105
+ }
106
106
  },
107
107
  "Domain": {
108
+ "$anchor": "Domain",
108
109
  "$schema": "https://json-schema.org/draft/2020-12/schema",
109
110
  "type": "string",
110
- "$anchor": "Domain",
111
111
  "enum": [
112
112
  "internal",
113
113
  "numerical",
@@ -117,8 +117,13 @@
117
117
  ]
118
118
  },
119
119
  "Roles": {
120
+ "$anchor": "Roles",
120
121
  "$schema": "https://json-schema.org/draft/2020-12/schema",
121
122
  "type": "object",
123
+ "required": [
124
+ "inputMap",
125
+ "outputMap"
126
+ ],
122
127
  "properties": {
123
128
  "inputMap": {
124
129
  "$ref": "#/$defs/RoleMap"
@@ -129,6 +134,9 @@
129
134
  "$ref": "#/$defs/RoleMap"
130
135
  },
131
136
  {
137
+ "required": [
138
+ "ROLE-ErrorOutput"
139
+ ],
132
140
  "properties": {
133
141
  "ROLE-ErrorOutput": {
134
142
  "type": "object",
@@ -137,99 +145,91 @@
137
145
  "$ref": "#/$defs/ResourceRoleValue"
138
146
  },
139
147
  {
148
+ "required": [
149
+ "resourceTypeHandle",
150
+ "name",
151
+ "description"
152
+ ],
140
153
  "properties": {
141
- "description": {
142
- "const": "Represents error outputs from job runs."
154
+ "resourceTypeHandle": {
155
+ "const": "TYPE-Error"
143
156
  },
144
157
  "name": {
145
158
  "const": "ErrorOutput"
146
159
  },
147
- "resourceTypeHandle": {
148
- "const": "TYPE-Error"
160
+ "description": {
161
+ "const": "Represents error outputs from job runs."
149
162
  }
150
- },
151
- "required": [
152
- "resourceTypeHandle",
153
- "name",
154
- "description"
155
- ]
163
+ }
156
164
  }
157
165
  ]
158
166
  }
159
- },
160
- "required": [
161
- "ROLE-ErrorOutput"
162
- ]
167
+ }
163
168
  }
164
169
  ]
165
170
  }
166
171
  },
167
- "required": [
168
- "inputMap",
169
- "outputMap"
170
- ],
171
- "unevaluatedProperties": false,
172
- "$anchor": "Roles"
172
+ "unevaluatedProperties": false
173
173
  },
174
174
  "Name": {
175
+ "$anchor": "Name",
175
176
  "$schema": "https://json-schema.org/draft/2020-12/schema",
176
177
  "type": "string",
177
- "$anchor": "Name",
178
- "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
179
178
  "minLength": 1,
180
179
  "pattern": "^(?:[A-Z][^0-9]*|[a-z]+/[a-z.+&-]+)$",
180
+ "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
181
181
  "semanticValidation": "Ajv custom keyword to verify name."
182
182
  },
183
183
  "Description": {
184
+ "$anchor": "Description",
184
185
  "$schema": "https://json-schema.org/draft/2020-12/schema",
185
186
  "type": "string",
186
- "$anchor": "Description",
187
- "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
188
187
  "minLength": 1,
188
+ "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
189
189
  "semanticValidation": "Ajv custom keyword to verify description."
190
190
  },
191
191
  "RoleMap": {
192
+ "$anchor": "RoleMap",
192
193
  "$schema": "https://json-schema.org/draft/2020-12/schema",
193
194
  "type": "object",
194
- "additionalProperties": {
195
- "$ref": "#/$defs/ResourceRoleValue"
196
- },
197
- "$anchor": "RoleMap",
198
195
  "propertyNames": {
199
196
  "$ref": "#/$defs/ResourceRoleIdentity"
197
+ },
198
+ "additionalProperties": {
199
+ "$ref": "#/$defs/ResourceRoleValue"
200
200
  }
201
201
  },
202
202
  "ResourceRoleValue": {
203
+ "$anchor": "ResourceRoleValue",
203
204
  "$schema": "https://json-schema.org/draft/2020-12/schema",
204
205
  "type": "object",
205
206
  "allOf": [
206
207
  {
208
+ "$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap. ResourceRoleValue uses the Value suffix to mean 'the value stored in this map' (RoleMap.additionalProperties).",
209
+ "required": [
210
+ "resourceTypeHandle"
211
+ ],
207
212
  "properties": {
208
213
  "resourceTypeHandle": {
209
214
  "$ref": "#/$defs/ResourceTypeIdentity"
210
215
  }
211
- },
212
- "required": [
213
- "resourceTypeHandle"
214
- ],
215
- "$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap. ResourceRoleValue uses the Value suffix to mean 'the value stored in this map' (RoleMap.additionalProperties)."
216
+ }
216
217
  },
217
218
  {
218
219
  "$ref": "#/$defs/DocumentationFacet"
219
220
  }
220
- ],
221
- "$anchor": "ResourceRoleValue"
221
+ ]
222
222
  },
223
223
  "ResourceRoleIdentity": {
224
+ "$anchor": "ResourceRoleIdentity",
224
225
  "$schema": "https://json-schema.org/draft/2020-12/schema",
225
226
  "type": "string",
226
- "$anchor": "ResourceRoleIdentity",
227
227
  "pattern": "^ROLE-.+$"
228
228
  },
229
229
  "ResourceTypeIdentity": {
230
+ "$anchor": "ResourceTypeIdentity",
230
231
  "$schema": "https://json-schema.org/draft/2020-12/schema",
231
232
  "type": "string",
232
- "$anchor": "ResourceTypeIdentity",
233
233
  "pattern": "^TYPE-.+$"
234
234
  }
235
235
  }