@toolproof-core/schema 1.0.0

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