@toolproof-core/genesis 1.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/src/utils/constantsAndMappings.d.ts +20 -0
  2. package/dist/src/utils/constantsAndMappings.js +155 -0
  3. package/dist/src/utils/coreProjection.d.ts +16 -0
  4. package/dist/src/utils/coreProjection.js +29 -0
  5. package/dist/src/utils/resourceTypes.d.ts +12 -0
  6. package/dist/src/utils/resourceTypes.js +17 -0
  7. package/dist/src/utils/resources.d.ts +5 -0
  8. package/dist/src/utils/resources.js +17 -0
  9. package/dist/src/utils/schemaDependencies.d.ts +13 -0
  10. package/dist/src/utils/schemaDependencies.js +94 -0
  11. package/dist/src/utils/schemaObjectNormalization.d.ts +1 -0
  12. package/dist/src/utils/schemaObjectNormalization.js +66 -0
  13. package/dist/src/utils/schemaRefNormalization.d.ts +2 -0
  14. package/dist/src/utils/schemaRefNormalization.js +76 -0
  15. package/dist/src/utils/schemaShims.d.ts +2 -0
  16. package/dist/src/utils/schemaShims.js +13 -0
  17. package/dist/src/utils/standaloneSchemas.d.ts +16 -0
  18. package/dist/src/utils/standaloneSchemas.js +101 -0
  19. package/dist/src/utils/standaloneTypes.d.ts +8 -0
  20. package/dist/src/utils/standaloneTypes.js +22 -0
  21. package/dist/src/utils/standaloneZodSchemas.d.ts +8 -0
  22. package/dist/src/utils/standaloneZodSchemas.js +53 -0
  23. package/dist/src/utils/typeGeneration.d.ts +1 -0
  24. package/dist/src/utils/typeGeneration.js +25 -0
  25. package/dist/src/utils/typeGenerationPostProcess.d.ts +2 -0
  26. package/dist/src/utils/typeGenerationPostProcess.js +166 -0
  27. package/dist/src/utils/typeGenerationPreflight.d.ts +2 -0
  28. package/dist/src/utils/typeGenerationPreflight.js +93 -0
  29. package/dist/src/utils/zodCodegen.d.ts +10 -0
  30. package/dist/src/utils/zodCodegen.js +521 -0
  31. package/generated-src/derived/constants.ts +130 -0
  32. package/generated-src/derived/mappings.ts +12 -0
  33. package/generated-src/metadata/Core.json +1919 -0
  34. package/generated-src/metadata/dependencyMap.json +283 -0
  35. package/generated-src/metadata/terminals.json +17 -0
  36. package/generated-src/resourceTypes/resourceTypes.json +375 -0
  37. package/generated-src/resourceTypes/resourceTypes.ts +2 -0
  38. package/generated-src/resources/resourceTypes.json +456 -0
  39. package/generated-src/resources/resourceTypes.ts +2 -0
  40. package/generated-src/schemas/schemas.json +1670 -0
  41. package/generated-src/schemas/schemas.ts +2 -0
  42. package/generated-src/schemas/standalone/Boolean.json +5 -0
  43. package/generated-src/schemas/standalone/Boolean.ts +2 -0
  44. package/generated-src/schemas/standalone/Error.json +78 -0
  45. package/generated-src/schemas/standalone/Error.ts +2 -0
  46. package/generated-src/schemas/standalone/Goal.json +53 -0
  47. package/generated-src/schemas/standalone/Goal.ts +2 -0
  48. package/generated-src/schemas/standalone/Natural.json +6 -0
  49. package/generated-src/schemas/standalone/Natural.ts +2 -0
  50. package/generated-src/schemas/standalone/Resource.json +170 -0
  51. package/generated-src/schemas/standalone/Resource.ts +2 -0
  52. package/generated-src/schemas/standalone/ResourceType.json +131 -0
  53. package/generated-src/schemas/standalone/ResourceType.ts +2 -0
  54. package/generated-src/schemas/standalone/Strategy.json +641 -0
  55. package/generated-src/schemas/standalone/Strategy.ts +2 -0
  56. package/generated-src/schemas/standalone/StrategyTrace.json +820 -0
  57. package/generated-src/schemas/standalone/StrategyTrace.ts +2 -0
  58. package/generated-src/schemas/standalone/Tool.json +508 -0
  59. package/generated-src/schemas/standalone/Tool.ts +2 -0
  60. package/generated-src/schemas/zod/Boolean.ts +6 -0
  61. package/generated-src/schemas/zod/Error.ts +11 -0
  62. package/generated-src/schemas/zod/Goal.ts +8 -0
  63. package/generated-src/schemas/zod/Natural.ts +6 -0
  64. package/generated-src/schemas/zod/Resource.ts +21 -0
  65. package/generated-src/schemas/zod/ResourceType.ts +14 -0
  66. package/generated-src/schemas/zod/Strategy.ts +68 -0
  67. package/generated-src/schemas/zod/StrategyTrace.ts +75 -0
  68. package/generated-src/schemas/zod/Tool.ts +29 -0
  69. package/generated-src/schemas/zod/index.ts +10 -0
  70. package/generated-src/types/standalone/BooleanResource.d.ts +3 -0
  71. package/generated-src/types/standalone/BooleanResource.js +1 -0
  72. package/generated-src/types/standalone/ErrorResource.d.ts +3 -0
  73. package/generated-src/types/standalone/ErrorResource.js +1 -0
  74. package/generated-src/types/standalone/GoalResource.d.ts +3 -0
  75. package/generated-src/types/standalone/GoalResource.js +1 -0
  76. package/generated-src/types/standalone/NaturalResource.d.ts +3 -0
  77. package/generated-src/types/standalone/NaturalResource.js +1 -0
  78. package/generated-src/types/standalone/ResourceResource.d.ts +3 -0
  79. package/generated-src/types/standalone/ResourceResource.js +1 -0
  80. package/generated-src/types/standalone/ResourceTypeResource.d.ts +3 -0
  81. package/generated-src/types/standalone/ResourceTypeResource.js +1 -0
  82. package/generated-src/types/standalone/StrategyResource.d.ts +3 -0
  83. package/generated-src/types/standalone/StrategyResource.js +1 -0
  84. package/generated-src/types/standalone/StrategyTraceResource.d.ts +3 -0
  85. package/generated-src/types/standalone/StrategyTraceResource.js +1 -0
  86. package/generated-src/types/standalone/ToolResource.d.ts +3 -0
  87. package/generated-src/types/standalone/ToolResource.js +1 -0
  88. package/generated-src/types/types.d.ts +701 -0
  89. package/generated-src/types/types.js +1 -0
  90. package/package.json +52 -0
  91. package/src/genesis/resourceTypeShells.json +47 -0
  92. package/src/genesis/resources/booleans.json +24 -0
  93. package/src/genesis/resources/implementations/foo.ts +182 -0
  94. package/src/genesis/resources/naturals.json +112 -0
  95. package/src/genesis/resources/tools.json +840 -0
  96. package/src/genesis/schemas.json +1670 -0
  97. package/src/index.ts +27 -0
  98. package/src/utils/constantsAndMappings.ts +195 -0
  99. package/src/utils/coreProjection.ts +53 -0
  100. package/src/utils/resourceTypes.ts +39 -0
  101. package/src/utils/resources.ts +26 -0
  102. package/src/utils/schemaDependencies.ts +115 -0
  103. package/src/utils/schemaObjectNormalization.ts +71 -0
  104. package/src/utils/schemaRefNormalization.ts +83 -0
  105. package/src/utils/schemaShims.ts +17 -0
  106. package/src/utils/standaloneSchemas.ts +114 -0
  107. package/src/utils/standaloneTypes.ts +28 -0
  108. package/src/utils/standaloneZodSchemas.ts +72 -0
  109. package/src/utils/typeGeneration.ts +31 -0
  110. package/src/utils/typeGenerationPostProcess.ts +246 -0
  111. package/src/utils/typeGenerationPreflight.ts +119 -0
  112. package/src/utils/zodCodegen.ts +549 -0
@@ -0,0 +1,840 @@
1
+ [
2
+ {
3
+ "id": "RESOURCE-Identity",
4
+ "resourceTypeHandle": "TYPE-Tool",
5
+ "provenance": {
6
+ "resourceProvenanceKind": "genesis"
7
+ },
8
+ "version": 1,
9
+ "timestamp": "2025-11-30T00:00:00.000Z",
10
+ "value": {
11
+ "handle": "TOOL-Identity",
12
+ "name": "Identity",
13
+ "symbol": "id",
14
+ "description": "dummy-description",
15
+ "isTemplate": true,
16
+ "instantiationRoleSpec": {
17
+ "inputRoleValueByName": {
18
+ "In": {
19
+ "typeRef": {
20
+ "roleSchema": {
21
+ "$ref": "#OperandType"
22
+ }
23
+ },
24
+ "containerKind": "scalar"
25
+ }
26
+ },
27
+ "outputRoleValueByName": {
28
+ "Out": {
29
+ "typeRef": {
30
+ "roleSchema": {
31
+ "$ref": "#OperandType"
32
+ }
33
+ },
34
+ "containerKind": "scalar"
35
+ }
36
+ }
37
+ },
38
+ "roleSpec": {
39
+ "inputRoleValueByName": {
40
+ "GenericAssignmentByRoleName": {
41
+ "typeRef": {
42
+ "resourceTypeHandle": "TYPE-ResourceType"
43
+ },
44
+ "containerKind": "map",
45
+ "mapKeys": [
46
+ "OperandType"
47
+ ]
48
+ },
49
+ "InstantiationToolHandleBySpecializationKey": {
50
+ "typeRef": {
51
+ "resourceTypeHandle": "TYPE-Tool"
52
+ },
53
+ "containerKind": "map"
54
+ }
55
+ },
56
+ "outputRoleValueByName": {
57
+ "InstantiationTool": {
58
+ "typeRef": {
59
+ "resourceTypeHandle": "TYPE-Tool"
60
+ },
61
+ "containerKind": "scalar"
62
+ }
63
+ }
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "id": "RESOURCE-Add",
69
+ "resourceTypeHandle": "TYPE-Tool",
70
+ "provenance": {
71
+ "resourceProvenanceKind": "genesis"
72
+ },
73
+ "version": 1,
74
+ "timestamp": "2025-11-30T00:00:00.000Z",
75
+ "value": {
76
+ "handle": "TOOL-Add",
77
+ "name": "Add",
78
+ "symbol": "+",
79
+ "description": "dummy-description",
80
+ "isTemplate": true,
81
+ "instantiationRoleSpec": {
82
+ "inputRoleValueByName": {
83
+ "AddendOne": {
84
+ "typeRef": {
85
+ "roleSchema": {
86
+ "$ref": "#OperandType"
87
+ }
88
+ },
89
+ "containerKind": "scalar"
90
+ },
91
+ "AddendTwo": {
92
+ "typeRef": {
93
+ "roleSchema": {
94
+ "$ref": "#OperandType"
95
+ }
96
+ },
97
+ "containerKind": "scalar"
98
+ }
99
+ },
100
+ "outputRoleValueByName": {
101
+ "Sum": {
102
+ "typeRef": {
103
+ "roleSchema": {
104
+ "$ref": "#OperandType"
105
+ }
106
+ },
107
+ "containerKind": "scalar"
108
+ }
109
+ }
110
+ },
111
+ "roleSpec": {
112
+ "inputRoleValueByName": {
113
+ "GenericAssignmentByRoleName": {
114
+ "typeRef": {
115
+ "resourceTypeHandle": "TYPE-ResourceType"
116
+ },
117
+ "containerKind": "map",
118
+ "mapKeys": [
119
+ "OperandType"
120
+ ]
121
+ },
122
+ "InstantiationToolHandleBySpecializationKey": {
123
+ "typeRef": {
124
+ "resourceTypeHandle": "TYPE-Tool"
125
+ },
126
+ "containerKind": "map"
127
+ }
128
+ },
129
+ "outputRoleValueByName": {
130
+ "InstantiationTool": {
131
+ "typeRef": {
132
+ "resourceTypeHandle": "TYPE-Tool"
133
+ },
134
+ "containerKind": "scalar"
135
+ }
136
+ }
137
+ }
138
+ }
139
+ },
140
+ {
141
+ "id": "RESOURCE-Subtract",
142
+ "resourceTypeHandle": "TYPE-Tool",
143
+ "provenance": {
144
+ "resourceProvenanceKind": "genesis"
145
+ },
146
+ "version": 1,
147
+ "timestamp": "2025-11-30T00:00:00.000Z",
148
+ "value": {
149
+ "handle": "TOOL-Subtract",
150
+ "name": "Subtract",
151
+ "symbol": "-",
152
+ "description": "dummy-description",
153
+ "isTemplate": true,
154
+ "instantiationRoleSpec": {
155
+ "inputRoleValueByName": {
156
+ "Minuend": {
157
+ "typeRef": {
158
+ "roleSchema": {
159
+ "$ref": "#OperandType"
160
+ }
161
+ },
162
+ "containerKind": "scalar"
163
+ },
164
+ "Subtrahend": {
165
+ "typeRef": {
166
+ "roleSchema": {
167
+ "$ref": "#OperandType"
168
+ }
169
+ },
170
+ "containerKind": "scalar"
171
+ }
172
+ },
173
+ "outputRoleValueByName": {
174
+ "Difference": {
175
+ "typeRef": {
176
+ "roleSchema": {
177
+ "$ref": "#OperandType"
178
+ }
179
+ },
180
+ "containerKind": "scalar"
181
+ }
182
+ }
183
+ },
184
+ "roleSpec": {
185
+ "inputRoleValueByName": {
186
+ "GenericAssignmentByRoleName": {
187
+ "typeRef": {
188
+ "resourceTypeHandle": "TYPE-ResourceType"
189
+ },
190
+ "containerKind": "map",
191
+ "mapKeys": [
192
+ "OperandType"
193
+ ]
194
+ },
195
+ "InstantiationToolHandleBySpecializationKey": {
196
+ "typeRef": {
197
+ "resourceTypeHandle": "TYPE-Tool"
198
+ },
199
+ "containerKind": "map"
200
+ }
201
+ },
202
+ "outputRoleValueByName": {
203
+ "InstantiationTool": {
204
+ "typeRef": {
205
+ "resourceTypeHandle": "TYPE-Tool"
206
+ },
207
+ "containerKind": "scalar"
208
+ }
209
+ }
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "id": "RESOURCE-Multiply",
215
+ "resourceTypeHandle": "TYPE-Tool",
216
+ "provenance": {
217
+ "resourceProvenanceKind": "genesis"
218
+ },
219
+ "version": 1,
220
+ "timestamp": "2025-11-30T00:00:00.000Z",
221
+ "value": {
222
+ "handle": "TOOL-Multiply",
223
+ "name": "Multiply",
224
+ "symbol": "X",
225
+ "description": "dummy-description",
226
+ "isTemplate": true,
227
+ "instantiationRoleSpec": {
228
+ "inputRoleValueByName": {
229
+ "Multiplicand": {
230
+ "typeRef": {
231
+ "roleSchema": {
232
+ "$ref": "#OperandType"
233
+ }
234
+ },
235
+ "containerKind": "scalar"
236
+ },
237
+ "Multiplier": {
238
+ "typeRef": {
239
+ "roleSchema": {
240
+ "$ref": "#OperandType"
241
+ }
242
+ },
243
+ "containerKind": "scalar"
244
+ }
245
+ },
246
+ "outputRoleValueByName": {
247
+ "Product": {
248
+ "typeRef": {
249
+ "roleSchema": {
250
+ "$ref": "#OperandType"
251
+ }
252
+ },
253
+ "containerKind": "scalar"
254
+ }
255
+ }
256
+ },
257
+ "roleSpec": {
258
+ "inputRoleValueByName": {
259
+ "GenericAssignmentByRoleName": {
260
+ "typeRef": {
261
+ "resourceTypeHandle": "TYPE-ResourceType"
262
+ },
263
+ "containerKind": "map",
264
+ "mapKeys": [
265
+ "OperandType"
266
+ ]
267
+ },
268
+ "InstantiationToolHandleBySpecializationKey": {
269
+ "typeRef": {
270
+ "resourceTypeHandle": "TYPE-Tool"
271
+ },
272
+ "containerKind": "map"
273
+ }
274
+ },
275
+ "outputRoleValueByName": {
276
+ "InstantiationTool": {
277
+ "typeRef": {
278
+ "resourceTypeHandle": "TYPE-Tool"
279
+ },
280
+ "containerKind": "scalar"
281
+ }
282
+ }
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "id": "RESOURCE-Divide",
288
+ "resourceTypeHandle": "TYPE-Tool",
289
+ "provenance": {
290
+ "resourceProvenanceKind": "genesis"
291
+ },
292
+ "version": 1,
293
+ "timestamp": "2025-11-30T00:00:00.000Z",
294
+ "value": {
295
+ "handle": "TOOL-Divide",
296
+ "name": "Divide",
297
+ "symbol": "÷",
298
+ "description": "dummy-description",
299
+ "isTemplate": true,
300
+ "instantiationRoleSpec": {
301
+ "inputRoleValueByName": {
302
+ "Dividend": {
303
+ "typeRef": {
304
+ "roleSchema": {
305
+ "$ref": "#OperandType"
306
+ }
307
+ },
308
+ "containerKind": "scalar"
309
+ },
310
+ "Divisor": {
311
+ "typeRef": {
312
+ "roleSchema": {
313
+ "$ref": "#OperandType"
314
+ }
315
+ },
316
+ "containerKind": "scalar"
317
+ }
318
+ },
319
+ "outputRoleValueByName": {
320
+ "Quotient": {
321
+ "typeRef": {
322
+ "roleSchema": {
323
+ "$ref": "#OperandType"
324
+ }
325
+ },
326
+ "containerKind": "scalar"
327
+ },
328
+ "Remainder": {
329
+ "typeRef": {
330
+ "roleSchema": {
331
+ "$ref": "#OperandType"
332
+ }
333
+ },
334
+ "containerKind": "scalar"
335
+ }
336
+ }
337
+ },
338
+ "roleSpec": {
339
+ "inputRoleValueByName": {
340
+ "GenericAssignmentByRoleName": {
341
+ "typeRef": {
342
+ "resourceTypeHandle": "TYPE-ResourceType"
343
+ },
344
+ "containerKind": "map",
345
+ "mapKeys": [
346
+ "OperandType"
347
+ ]
348
+ },
349
+ "InstantiationToolHandleBySpecializationKey": {
350
+ "typeRef": {
351
+ "resourceTypeHandle": "TYPE-Tool"
352
+ },
353
+ "containerKind": "map"
354
+ }
355
+ },
356
+ "outputRoleValueByName": {
357
+ "InstantiationTool": {
358
+ "typeRef": {
359
+ "resourceTypeHandle": "TYPE-Tool"
360
+ },
361
+ "containerKind": "scalar"
362
+ }
363
+ }
364
+ }
365
+ }
366
+ },
367
+ {
368
+ "id": "RESOURCE-Double",
369
+ "resourceTypeHandle": "TYPE-Tool",
370
+ "provenance": {
371
+ "resourceProvenanceKind": "genesis"
372
+ },
373
+ "version": 1,
374
+ "timestamp": "2025-11-30T00:00:00.000Z",
375
+ "value": {
376
+ "handle": "TOOL-Double",
377
+ "name": "Double",
378
+ "symbol": "X2",
379
+ "description": "dummy-description",
380
+ "isTemplate": true,
381
+ "instantiationRoleSpec": {
382
+ "inputRoleValueByName": {
383
+ "N": {
384
+ "typeRef": {
385
+ "roleSchema": {
386
+ "$ref": "#OperandType"
387
+ }
388
+ },
389
+ "containerKind": "scalar"
390
+ }
391
+ },
392
+ "outputRoleValueByName": {
393
+ "Doubled": {
394
+ "typeRef": {
395
+ "roleSchema": {
396
+ "$ref": "#OperandType"
397
+ }
398
+ },
399
+ "containerKind": "scalar"
400
+ }
401
+ }
402
+ },
403
+ "roleSpec": {
404
+ "inputRoleValueByName": {
405
+ "GenericAssignmentByRoleName": {
406
+ "typeRef": {
407
+ "resourceTypeHandle": "TYPE-ResourceType"
408
+ },
409
+ "containerKind": "map",
410
+ "mapKeys": [
411
+ "OperandType"
412
+ ]
413
+ },
414
+ "InstantiationToolHandleBySpecializationKey": {
415
+ "typeRef": {
416
+ "resourceTypeHandle": "TYPE-Tool"
417
+ },
418
+ "containerKind": "map"
419
+ }
420
+ },
421
+ "outputRoleValueByName": {
422
+ "InstantiationTool": {
423
+ "typeRef": {
424
+ "resourceTypeHandle": "TYPE-Tool"
425
+ },
426
+ "containerKind": "scalar"
427
+ }
428
+ }
429
+ }
430
+ }
431
+ },
432
+ {
433
+ "id": "RESOURCE-LessThan",
434
+ "resourceTypeHandle": "TYPE-Tool",
435
+ "provenance": {
436
+ "resourceProvenanceKind": "genesis"
437
+ },
438
+ "version": 1,
439
+ "timestamp": "2025-11-30T00:00:00.000Z",
440
+ "value": {
441
+ "handle": "TOOL-LessThan",
442
+ "name": "LessThan",
443
+ "symbol": "<",
444
+ "description": "dummy-description",
445
+ "isTemplate": true,
446
+ "instantiationRoleSpec": {
447
+ "inputRoleValueByName": {
448
+ "LessThanSource": {
449
+ "typeRef": {
450
+ "roleSchema": {
451
+ "$ref": "#OperandType"
452
+ }
453
+ },
454
+ "containerKind": "scalar"
455
+ },
456
+ "LessThanTarget": {
457
+ "typeRef": {
458
+ "roleSchema": {
459
+ "$ref": "#OperandType"
460
+ }
461
+ },
462
+ "containerKind": "scalar"
463
+ }
464
+ },
465
+ "outputRoleValueByName": {
466
+ "LessThanDecision": {
467
+ "typeRef": {
468
+ "resourceTypeHandle": "TYPE-Boolean"
469
+ },
470
+ "containerKind": "scalar"
471
+ }
472
+ }
473
+ },
474
+ "roleSpec": {
475
+ "inputRoleValueByName": {
476
+ "GenericAssignmentByRoleName": {
477
+ "typeRef": {
478
+ "resourceTypeHandle": "TYPE-ResourceType"
479
+ },
480
+ "containerKind": "map",
481
+ "mapKeys": [
482
+ "OperandType"
483
+ ]
484
+ },
485
+ "InstantiationToolHandleBySpecializationKey": {
486
+ "typeRef": {
487
+ "resourceTypeHandle": "TYPE-Tool"
488
+ },
489
+ "containerKind": "map"
490
+ }
491
+ },
492
+ "outputRoleValueByName": {
493
+ "InstantiationTool": {
494
+ "typeRef": {
495
+ "resourceTypeHandle": "TYPE-Tool"
496
+ },
497
+ "containerKind": "scalar"
498
+ }
499
+ }
500
+ }
501
+ }
502
+ },
503
+ {
504
+ "id": "RESOURCE-BooleanIdentity",
505
+ "resourceTypeHandle": "TYPE-Tool",
506
+ "provenance": {
507
+ "resourceProvenanceKind": "genesis"
508
+ },
509
+ "version": 1,
510
+ "timestamp": "2025-11-30T00:00:00.000Z",
511
+ "value": {
512
+ "handle": "TOOL-BooleanIdentity",
513
+ "name": "BooleanIdentity",
514
+ "symbol": "id",
515
+ "description": "dummy-description",
516
+ "isTemplate": false,
517
+ "templateToolHandle": "TOOL-Identity",
518
+ "roleSpec": {
519
+ "inputRoleValueByName": {
520
+ "In": {
521
+ "typeRef": {
522
+ "resourceTypeHandle": "TYPE-Boolean"
523
+ },
524
+ "containerKind": "scalar"
525
+ }
526
+ },
527
+ "outputRoleValueByName": {
528
+ "Out": {
529
+ "typeRef": {
530
+ "resourceTypeHandle": "TYPE-Boolean"
531
+ },
532
+ "containerKind": "scalar"
533
+ }
534
+ }
535
+ }
536
+ }
537
+ },
538
+ {
539
+ "id": "RESOURCE-NaturalIdentity",
540
+ "resourceTypeHandle": "TYPE-Tool",
541
+ "provenance": {
542
+ "resourceProvenanceKind": "genesis"
543
+ },
544
+ "version": 1,
545
+ "timestamp": "2025-11-30T00:00:00.000Z",
546
+ "value": {
547
+ "handle": "TOOL-NaturalIdentity",
548
+ "name": "NaturalIdentity",
549
+ "symbol": "id",
550
+ "description": "dummy-description",
551
+ "isTemplate": false,
552
+ "templateToolHandle": "TOOL-Identity",
553
+ "roleSpec": {
554
+ "inputRoleValueByName": {
555
+ "In": {
556
+ "typeRef": {
557
+ "resourceTypeHandle": "TYPE-Natural"
558
+ },
559
+ "containerKind": "scalar"
560
+ }
561
+ },
562
+ "outputRoleValueByName": {
563
+ "Out": {
564
+ "typeRef": {
565
+ "resourceTypeHandle": "TYPE-Natural"
566
+ },
567
+ "containerKind": "scalar"
568
+ }
569
+ }
570
+ }
571
+ }
572
+ },
573
+ {
574
+ "id": "RESOURCE-NaturalLessThan",
575
+ "resourceTypeHandle": "TYPE-Tool",
576
+ "provenance": {
577
+ "resourceProvenanceKind": "genesis"
578
+ },
579
+ "version": 1,
580
+ "timestamp": "2025-11-30T00:00:00.000Z",
581
+ "value": {
582
+ "handle": "TOOL-NaturalLessThan",
583
+ "name": "NaturalLessThan",
584
+ "symbol": "<",
585
+ "description": "dummy-description",
586
+ "isTemplate": false,
587
+ "templateToolHandle": "TOOL-LessThan",
588
+ "roleSpec": {
589
+ "inputRoleValueByName": {
590
+ "LessThanSource": {
591
+ "typeRef": {
592
+ "resourceTypeHandle": "TYPE-Natural"
593
+ },
594
+ "containerKind": "scalar"
595
+ },
596
+ "LessThanTarget": {
597
+ "typeRef": {
598
+ "resourceTypeHandle": "TYPE-Natural"
599
+ },
600
+ "containerKind": "scalar"
601
+ }
602
+ },
603
+ "outputRoleValueByName": {
604
+ "LessThanDecision": {
605
+ "typeRef": {
606
+ "resourceTypeHandle": "TYPE-Boolean"
607
+ },
608
+ "containerKind": "scalar"
609
+ }
610
+ }
611
+ }
612
+ }
613
+ },
614
+ {
615
+ "id": "RESOURCE-NaturalAdd",
616
+ "resourceTypeHandle": "TYPE-Tool",
617
+ "provenance": {
618
+ "resourceProvenanceKind": "genesis"
619
+ },
620
+ "version": 1,
621
+ "timestamp": "2025-11-30T00:00:00.000Z",
622
+ "value": {
623
+ "handle": "TOOL-NaturalAdd",
624
+ "name": "NaturalAdd",
625
+ "symbol": "+",
626
+ "description": "dummy-description",
627
+ "isTemplate": false,
628
+ "templateToolHandle": "TOOL-Add",
629
+ "roleSpec": {
630
+ "inputRoleValueByName": {
631
+ "AddendOne": {
632
+ "typeRef": {
633
+ "resourceTypeHandle": "TYPE-Natural"
634
+ },
635
+ "containerKind": "scalar"
636
+ },
637
+ "AddendTwo": {
638
+ "typeRef": {
639
+ "resourceTypeHandle": "TYPE-Natural"
640
+ },
641
+ "containerKind": "scalar"
642
+ }
643
+ },
644
+ "outputRoleValueByName": {
645
+ "Sum": {
646
+ "typeRef": {
647
+ "resourceTypeHandle": "TYPE-Natural"
648
+ },
649
+ "containerKind": "scalar"
650
+ }
651
+ }
652
+ }
653
+ }
654
+ },
655
+ {
656
+ "id": "RESOURCE-NaturalSubtract",
657
+ "resourceTypeHandle": "TYPE-Tool",
658
+ "provenance": {
659
+ "resourceProvenanceKind": "genesis"
660
+ },
661
+ "version": 1,
662
+ "timestamp": "2025-11-30T00:00:00.000Z",
663
+ "value": {
664
+ "handle": "TOOL-NaturalSubtract",
665
+ "name": "NaturalSubtract",
666
+ "symbol": "-",
667
+ "description": "dummy-description",
668
+ "isTemplate": false,
669
+ "templateToolHandle": "TOOL-Subtract",
670
+ "roleSpec": {
671
+ "inputRoleValueByName": {
672
+ "Minuend": {
673
+ "typeRef": {
674
+ "resourceTypeHandle": "TYPE-Natural"
675
+ },
676
+ "containerKind": "scalar"
677
+ },
678
+ "Subtrahend": {
679
+ "typeRef": {
680
+ "resourceTypeHandle": "TYPE-Natural"
681
+ },
682
+ "containerKind": "scalar"
683
+ }
684
+ },
685
+ "outputRoleValueByName": {
686
+ "Difference": {
687
+ "typeRef": {
688
+ "resourceTypeHandle": "TYPE-Natural"
689
+ },
690
+ "containerKind": "scalar"
691
+ }
692
+ },
693
+ "refinementSchema": {
694
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
695
+ "type": "object",
696
+ "required": [
697
+ "Minuend",
698
+ "Subtrahend"
699
+ ],
700
+ "properties": {
701
+ "Subtrahend": {
702
+ "exclusiveMaximum": {
703
+ "$data": "1/Minuend"
704
+ }
705
+ }
706
+ }
707
+ }
708
+ }
709
+ }
710
+ },
711
+ {
712
+ "id": "RESOURCE-NaturalMultiply",
713
+ "resourceTypeHandle": "TYPE-Tool",
714
+ "provenance": {
715
+ "resourceProvenanceKind": "genesis"
716
+ },
717
+ "version": 1,
718
+ "timestamp": "2025-11-30T00:00:00.000Z",
719
+ "value": {
720
+ "handle": "TOOL-NaturalMultiply",
721
+ "name": "NaturalMultiply",
722
+ "symbol": "X",
723
+ "description": "dummy-description",
724
+ "isTemplate": false,
725
+ "templateToolHandle": "TOOL-Multiply",
726
+ "roleSpec": {
727
+ "inputRoleValueByName": {
728
+ "Multiplicand": {
729
+ "typeRef": {
730
+ "resourceTypeHandle": "TYPE-Natural"
731
+ },
732
+ "containerKind": "scalar"
733
+ },
734
+ "Multiplier": {
735
+ "typeRef": {
736
+ "resourceTypeHandle": "TYPE-Natural"
737
+ },
738
+ "containerKind": "scalar"
739
+ }
740
+ },
741
+ "outputRoleValueByName": {
742
+ "Product": {
743
+ "typeRef": {
744
+ "resourceTypeHandle": "TYPE-Natural"
745
+ },
746
+ "containerKind": "scalar"
747
+ }
748
+ }
749
+ }
750
+ }
751
+ },
752
+ {
753
+ "id": "RESOURCE-NaturalDivide",
754
+ "resourceTypeHandle": "TYPE-Tool",
755
+ "provenance": {
756
+ "resourceProvenanceKind": "genesis"
757
+ },
758
+ "version": 1,
759
+ "timestamp": "2025-11-30T00:00:00.000Z",
760
+ "value": {
761
+ "handle": "TOOL-NaturalDivide",
762
+ "name": "NaturalDivide",
763
+ "symbol": "÷",
764
+ "description": "dummy-description",
765
+ "isTemplate": false,
766
+ "templateToolHandle": "TOOL-Divide",
767
+ "roleSpec": {
768
+ "inputRoleValueByName": {
769
+ "Dividend": {
770
+ "typeRef": {
771
+ "resourceTypeHandle": "TYPE-Natural"
772
+ },
773
+ "containerKind": "scalar"
774
+ },
775
+ "Divisor": {
776
+ "typeRef": {
777
+ "resourceTypeHandle": "TYPE-Natural"
778
+ },
779
+ "containerKind": "scalar",
780
+ "refinementSchema": {
781
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
782
+ "not": {
783
+ "const": 0
784
+ }
785
+ }
786
+ }
787
+ },
788
+ "outputRoleValueByName": {
789
+ "Quotient": {
790
+ "typeRef": {
791
+ "resourceTypeHandle": "TYPE-Natural"
792
+ },
793
+ "containerKind": "scalar"
794
+ },
795
+ "Remainder": {
796
+ "typeRef": {
797
+ "resourceTypeHandle": "TYPE-Natural"
798
+ },
799
+ "containerKind": "scalar"
800
+ }
801
+ }
802
+ }
803
+ }
804
+ },
805
+ {
806
+ "id": "RESOURCE-NaturalDouble",
807
+ "resourceTypeHandle": "TYPE-Tool",
808
+ "provenance": {
809
+ "resourceProvenanceKind": "genesis"
810
+ },
811
+ "version": 1,
812
+ "timestamp": "2025-11-30T00:00:00.000Z",
813
+ "value": {
814
+ "handle": "TOOL-NaturalDouble",
815
+ "name": "NaturalDouble",
816
+ "symbol": "X2",
817
+ "description": "dummy-description",
818
+ "isTemplate": false,
819
+ "templateToolHandle": "TOOL-Double",
820
+ "roleSpec": {
821
+ "inputRoleValueByName": {
822
+ "N": {
823
+ "typeRef": {
824
+ "resourceTypeHandle": "TYPE-Natural"
825
+ },
826
+ "containerKind": "scalar"
827
+ }
828
+ },
829
+ "outputRoleValueByName": {
830
+ "Doubled": {
831
+ "typeRef": {
832
+ "resourceTypeHandle": "TYPE-Natural"
833
+ },
834
+ "containerKind": "scalar"
835
+ }
836
+ }
837
+ }
838
+ }
839
+ }
840
+ ]