@toolproof-core/genesis 1.0.55 → 1.0.58

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 (27) hide show
  1. package/dist/generated-src/declarations/resourceTypes.json +12 -3
  2. package/dist/generated-src/lookups/constants.d.ts +12 -25
  3. package/dist/generated-src/lookups/constants.js +12 -25
  4. package/dist/generated-src/schemas/schemas.json +73 -214
  5. package/dist/generated-src/schemas/standalone/Resource.json +18 -17
  6. package/dist/generated-src/schemas/standalone/Strategy.json +129 -261
  7. package/dist/generated-src/schemas/standalone/StrategyTrace.json +91 -150
  8. package/dist/generated-src/schemas/standalone/Suite.json +1 -2
  9. package/dist/generated-src/schemas/standalone/Tool.json +1 -2
  10. package/dist/generated-src/schemas/zod/Resource.js +3 -4
  11. package/dist/generated-src/schemas/zod/Strategy.d.ts +0 -6
  12. package/dist/generated-src/schemas/zod/Strategy.js +11 -31
  13. package/dist/generated-src/schemas/zod/StrategyTrace.d.ts +0 -6
  14. package/dist/generated-src/schemas/zod/StrategyTrace.js +20 -32
  15. package/dist/generated-src/timestampedResources/booleans.json +2 -2
  16. package/dist/generated-src/timestampedResources/naturals.json +11 -11
  17. package/dist/generated-src/timestampedResources/resourceTypes.json +22 -13
  18. package/dist/generated-src/timestampedResources/tools.json +15 -15
  19. package/dist/generated-src/types/types.d.ts +48 -124
  20. package/dist/src/index.d.ts +1 -1
  21. package/dist/src/utils/standaloneZodSchemas.js +6 -6
  22. package/dist/src/utils/timestampedResources.d.ts +1 -1
  23. package/dist/src/utils/timestampedResources.js +1 -1
  24. package/dist/src/utils/typeGenerationPostProcess.js +20 -6
  25. package/dist/src/utils/zodCodegen.d.ts +1 -1
  26. package/dist/src/utils/zodCodegen.js +7 -7
  27. package/package.json +1 -1
@@ -1,12 +1,6 @@
1
1
  import { z } from 'zod/v4';
2
2
  export declare const StrategyTraceZodGenerationWarnings: readonly [{
3
- readonly path: "$defs.StepArray.uniqueItems";
4
- readonly message: "uniqueItems not enforced by generated Zod.";
5
- }, {
6
3
  readonly path: "$defs.StrategyStateInputEntryByRoleName.propertyNames";
7
4
  readonly message: "Unsupported propertyNames $ref target; keys will not be validated.";
8
- }, {
9
- readonly path: "$defs.BranchStep.allOfMerged.properties.cases.uniqueItems";
10
- readonly message: "uniqueItems not enforced by generated Zod.";
11
5
  }];
12
6
  export declare const StrategyTraceSchema: z.ZodTypeAny;
@@ -1,37 +1,24 @@
1
1
  // Auto-generated from standalone schema 'StrategyTrace'. Do not edit.
2
2
  import { z } from 'zod/v4';
3
3
  export const StrategyTraceZodGenerationWarnings = [
4
- {
5
- "path": "$defs.StepArray.uniqueItems",
6
- "message": "uniqueItems not enforced by generated Zod."
7
- },
8
4
  {
9
5
  "path": "$defs.StrategyStateInputEntryByRoleName.propertyNames",
10
6
  "message": "Unsupported propertyNames $ref target; keys will not be validated."
11
- },
12
- {
13
- "path": "$defs.BranchStep.allOfMerged.properties.cases.uniqueItems",
14
- "message": "uniqueItems not enforced by generated Zod."
15
7
  }
16
8
  ];
17
9
  const BaseResourceSchema = z.lazy(() => z.object({ "projection": z.any(), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
18
- const BaseStrategySchema = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "strategyKind": StrategyKindSchema }));
19
- const BaseTracePointSchema = z.lazy(() => z.object({ "tracePointKind": TracePointKindSchema, "strategyHandle": StrategyHandleSchema, "threadIndex": NaturalSchema, "tracePointIndex": NaturalSchema }));
10
+ const BaseTracePointSchema = z.lazy(() => z.object({ "tracePointKind": TracePointKindSchema, "strategyHandle": StrategyHandleSchema, "tracePointIndex": NaturalSchema }));
20
11
  const BranchStepSchema = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("branch"), StepKindSchema), "cases": z.array(CaseSchema).min(1) }));
21
12
  const CaseSchema = z.lazy(() => z.object({ "when": ToolStepSchema, "what": ToolStepSchema }).strict());
22
- const DeferredStrategyProvenanceSchema = z.lazy(() => z.object({ "provenanceKind": z.literal("strategy"), "toolStepRoleAddress": ToolStepRoleAddressSchema }).strict());
23
- const ExternalInputPotentialSchema = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("externalInputPotential"), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema }).strict());
13
+ const ExternalInputPotentialSchema = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("externalInputPotential") }).strict());
24
14
  const ForStepSchema = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("for"), StepKindSchema), "case": CaseSchema }));
25
15
  const GenesisProvenanceSchema = z.lazy(() => z.object({ "provenanceKind": z.literal("genesis") }).strict());
26
- const GraphEndTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("graph_end")), "strategyHandle": StrategyHandleSchema, "threadIndex": NaturalSchema, "tracePointIndex": NaturalSchema }));
27
- const GraphStartTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("graph_start")), "strategyHandle": StrategyHandleSchema, "threadIndex": NaturalSchema, "tracePointIndex": NaturalSchema, "threadedStrategy": ThreadedStrategySchema }));
28
16
  const InputPotentialSchema = z.lazy(() => z.union([ExternalInputPotentialSchema, InternalInputPotentialSchema]));
29
17
  const InputResourceSchema = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("inputResource"), "projection": z.any(), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
30
- const InternalInputPotentialSchema = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("internalInputPotential"), "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": DeferredStrategyProvenanceSchema }).strict());
31
- const InterruptTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("interrupt")), "strategyHandle": StrategyHandleSchema, "threadIndex": NaturalSchema, "tracePointIndex": NaturalSchema, "counterSnapshot": TracePointCounterSnapshotSchema, "toolStepPath": ThreadedToolStepPathSchema, "delta": z.object({ "stepsMutation": z.object({ "insertAt": NaturalSchema, "insertedSteps": StepArraySchema }).optional(), "strategyStateDelta": ThreadedStrategyStateSchema.optional(), "interruptData": z.intersection(z.union([z.object({}), z.null()]), z.object({})) }) }));
18
+ const InternalInputPotentialSchema = z.lazy(() => z.object({ "strategyStateInputKind": z.literal("internalInputPotential"), "toolStepRoleAddress": ToolStepRoleAddressSchema }).strict());
32
19
  const NameSchema = z.lazy(() => z.string().min(1).regex(new RegExp("^[A-Z][a-zA-Z0-9]*$")));
33
20
  const NaturalSchema = z.lazy(() => z.number().int().min(0));
34
- const ProvenanceSchema = z.lazy(() => z.union([GenesisProvenanceSchema, StrategyProvenanceSchema]));
21
+ const ProvenanceSchema = z.lazy(() => z.union([GenesisProvenanceSchema, RuntimeProvenanceSchema, StrategyProvenanceSchema]));
35
22
  const ProvenanceFacetSchema = z.lazy(() => z.object({ "provenance": ProvenanceSchema }));
36
23
  const ResourceIdSchema = z.lazy(() => z.string().regex(new RegExp("^RESOURCE-.+$")));
37
24
  const ResourcePointerSchema = z.lazy(() => z.object({ "id": ResourceIdSchema, "resourceTypeHandle": ResourceTypeHandleSchema, "provenance": ProvenanceSchema }).strict());
@@ -40,35 +27,36 @@ const RoleBindingSpecSchema = z.lazy(() => z.object({ "inputBindings": RoleNameA
40
27
  const RoleBindingSpecFacetSchema = z.lazy(() => z.object({ "roleBindingSpec": RoleBindingSpecSchema }));
41
28
  const RoleNameSchema = z.lazy(() => NameSchema);
42
29
  const RoleNameArraySchema = z.lazy(() => z.array(RoleNameSchema));
30
+ const RuntimeProvenanceSchema = z.lazy(() => z.object({ "provenanceKind": z.literal("runtime") }).strict());
43
31
  const StepSchema = z.lazy(() => z.union([ToolStepSchema, BranchStepSchema, WhileStepSchema, ForStepSchema]));
44
32
  const StepArraySchema = z.lazy(() => z.array(StepSchema));
45
33
  const StepArrayArraySchema = z.lazy(() => z.array(StepArraySchema));
46
34
  const StepKindSchema = z.lazy(() => z.union([z.literal("tool"), z.literal("branch"), z.literal("while"), z.literal("for")]));
47
35
  const StepKindFacetSchema = z.lazy(() => z.object({ "stepKind": StepKindSchema }));
48
36
  const StepsByThreadIndexFacetSchema = z.lazy(() => z.object({ "stepsByThreadIndex": StepArrayArraySchema }));
37
+ const StrategySchema = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "stepsByThreadIndex": StepArrayArraySchema, "strategyState": StrategyStateSchema }));
38
+ const StrategyEndTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("strategy_end")), "strategyHandle": StrategyHandleSchema, "tracePointIndex": NaturalSchema }));
39
+ const StrategyFacetSchema = z.lazy(() => z.object({ "strategy": StrategySchema }));
49
40
  const StrategyHandleSchema = z.lazy(() => z.string().regex(new RegExp("^STRATEGY-.+$")));
50
- const StrategyKindSchema = z.lazy(() => z.union([z.literal("unthreaded"), z.literal("threaded")]));
51
41
  const StrategyProvenanceSchema = z.lazy(() => z.object({ "provenanceKind": z.literal("strategy"), "strategyTraceHandle": StrategyTraceHandleSchema, "toolStepRoleAddress": ToolStepRoleAddressSchema }).strict());
52
- const StrategyStateInputEntrySchema = z.lazy(() => z.union([InputPotentialSchema, InputResourceSchema]));
53
- const StrategyStateInputEntryByRoleNameSchema = z.lazy(() => z.record(z.string(), StrategyStateInputEntrySchema));
54
- const StrategyTraceHandleSchema = z.lazy(() => z.string().regex(new RegExp("^STRATEGY_TRACE-.+$")));
55
- const ThreadedStrategySchema = z.lazy(() => z.object({ "handle": StrategyHandleSchema, "strategyKind": z.intersection(StrategyKindSchema, z.literal("threaded")), "stepsByThreadIndex": StepArrayArraySchema, "strategyState": ThreadedStrategyStateSchema }).strict());
56
- const ThreadedStrategyFacetSchema = z.lazy(() => z.object({ "threadedStrategy": ThreadedStrategySchema }));
57
- const ThreadedStrategyStateSchema = z.lazy(() => z.record(z.string(), StrategyStateInputEntryByRoleNameSchema).superRefine((obj, ctx) => { for (const k of Object.keys(obj)) {
42
+ const StrategyStartTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("strategy_start")), "strategyHandle": StrategyHandleSchema, "tracePointIndex": NaturalSchema, "strategy": StrategySchema }));
43
+ const StrategyStateSchema = z.lazy(() => z.record(z.string(), StrategyStateInputEntryByRoleNameSchema).superRefine((obj, ctx) => { for (const k of Object.keys(obj)) {
58
44
  if (!new RegExp("^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$").test(k))
59
45
  ctx.addIssue({ code: 'custom', message: 'Invalid key: ' + k });
60
46
  } }));
61
- const ThreadedStrategyStateFacetSchema = z.lazy(() => z.object({ "strategyState": ThreadedStrategyStateSchema }));
62
- const ThreadedToolStepPathSchema = 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)$")));
63
- const TickTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("tick")), "strategyHandle": StrategyHandleSchema, "threadIndex": NaturalSchema, "tracePointIndex": NaturalSchema, "counterSnapshot": TracePointCounterSnapshotSchema, "toolStepPath": ThreadedToolStepPathSchema, "delta": TracePointDeltaSchema }));
47
+ const StrategyStateFacetSchema = z.lazy(() => z.object({ "strategyState": StrategyStateSchema }));
48
+ const StrategyStateInputEntrySchema = z.lazy(() => z.union([InputPotentialSchema, InputResourceSchema]));
49
+ const StrategyStateInputEntryByRoleNameSchema = z.lazy(() => z.record(z.string(), StrategyStateInputEntrySchema));
50
+ const StrategyTraceHandleSchema = z.lazy(() => z.string().regex(new RegExp("^STRATEGY_TRACE-.+$")));
51
+ const SuspendedTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("suspended")), "strategyHandle": StrategyHandleSchema, "tracePointIndex": NaturalSchema, "counterSnapshot": TracePointCounterSnapshotSchema, "threadIndex": NaturalSchema, "toolStepPath": ToolStepPathSchema, "delta": z.object({ "stepsMutation": z.object({ "insertAt": NaturalSchema, "insertedSteps": StepArraySchema }).optional(), "strategyStateDelta": StrategyStateSchema.optional(), "suspendedData": z.intersection(z.union([z.object({}), z.null()]), z.object({})) }) }));
52
+ const TickTracePointSchema = z.lazy(() => z.object({ "tracePointKind": z.intersection(TracePointKindSchema, z.literal("tick")), "strategyHandle": StrategyHandleSchema, "tracePointIndex": NaturalSchema, "counterSnapshot": TracePointCounterSnapshotSchema, "threadIndex": NaturalSchema, "toolStepPath": ToolStepPathSchema, "delta": TracePointDeltaSchema }));
64
53
  const ToolHandleSchema = z.lazy(() => z.string().regex(new RegExp("^TOOL-.+$")));
65
54
  const ToolStepSchema = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("tool"), StepKindSchema), "toolHandle": ToolHandleSchema, "roleBindingSpec": RoleBindingSpecSchema }));
66
- const ToolStepPathSchema = z.lazy(() => z.union([UnthreadedToolStepPathSchema, ThreadedToolStepPathSchema]));
55
+ const ToolStepPathSchema = 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)$")));
67
56
  const ToolStepRoleAddressSchema = z.lazy(() => z.object({ "roleName": RoleNameSchema, "toolStepPath": ToolStepPathSchema }).strict());
68
- const TracePointSchema = z.lazy(() => z.union([GraphStartTracePointSchema, TickTracePointSchema, InterruptTracePointSchema, GraphEndTracePointSchema]));
57
+ const TracePointSchema = z.lazy(() => z.union([StrategyStartTracePointSchema, TickTracePointSchema, SuspendedTracePointSchema, StrategyEndTracePointSchema]));
69
58
  const TracePointCounterSnapshotSchema = z.lazy(() => z.object({ "stepCounterAfter": NaturalSchema.optional(), "iterationCounterAfter": NaturalSchema.optional() }));
70
- const TracePointDeltaSchema = z.lazy(() => z.object({ "stepsMutation": z.object({ "insertAt": NaturalSchema, "insertedSteps": StepArraySchema }).optional(), "strategyStateDelta": ThreadedStrategyStateSchema.optional(), "interruptData": z.union([z.object({}), z.null()]).optional() }));
71
- const TracePointKindSchema = z.lazy(() => z.union([z.literal("graph_start"), z.literal("tick"), z.literal("interrupt"), z.literal("graph_end")]));
72
- const UnthreadedToolStepPathSchema = z.lazy(() => z.string().regex(new RegExp("^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$")));
59
+ const TracePointDeltaSchema = z.lazy(() => z.object({ "stepsMutation": z.object({ "insertAt": NaturalSchema, "insertedSteps": StepArraySchema }).optional(), "strategyStateDelta": StrategyStateSchema.optional(), "suspendedData": z.union([z.object({}), z.null()]).optional() }));
60
+ const TracePointKindSchema = z.lazy(() => z.union([z.literal("strategy_start"), z.literal("tick"), z.literal("suspended"), z.literal("strategy_end")]));
73
61
  const WhileStepSchema = z.lazy(() => z.object({ "stepKind": z.intersection(z.literal("while"), StepKindSchema), "case": CaseSchema }));
74
62
  export const StrategyTraceSchema = z.lazy(() => z.object({ "handle": StrategyTraceHandleSchema, "strategyHandle": StrategyHandleSchema, "tracePoints": z.array(TracePointSchema) }).strict());
@@ -3,7 +3,7 @@
3
3
  "id": "RESOURCE-BOOLEAN:False",
4
4
  "resourceTypeHandle": "TYPE-Boolean",
5
5
  "provenance": {
6
- "resourceProvenanceKind": "genesis"
6
+ "provenanceKind": "genesis"
7
7
  },
8
8
  "timestamp": "2025-11-30T00:00:00.000Z",
9
9
  "projection": false
@@ -12,7 +12,7 @@
12
12
  "id": "RESOURCE-BOOLEAN:True",
13
13
  "resourceTypeHandle": "TYPE-Boolean",
14
14
  "provenance": {
15
- "resourceProvenanceKind": "genesis"
15
+ "provenanceKind": "genesis"
16
16
  },
17
17
  "timestamp": "2025-11-30T00:00:00.000Z",
18
18
  "projection": true
@@ -3,7 +3,7 @@
3
3
  "id": "RESOURCE-NATURAL:0",
4
4
  "resourceTypeHandle": "TYPE-Natural",
5
5
  "provenance": {
6
- "resourceProvenanceKind": "genesis"
6
+ "provenanceKind": "genesis"
7
7
  },
8
8
  "timestamp": "2025-11-30T00:00:00.000Z",
9
9
  "projection": 0
@@ -12,7 +12,7 @@
12
12
  "id": "RESOURCE-NATURAL:1",
13
13
  "resourceTypeHandle": "TYPE-Natural",
14
14
  "provenance": {
15
- "resourceProvenanceKind": "genesis"
15
+ "provenanceKind": "genesis"
16
16
  },
17
17
  "timestamp": "2025-11-30T00:00:00.000Z",
18
18
  "projection": 1
@@ -21,7 +21,7 @@
21
21
  "id": "RESOURCE-NATURAL:2",
22
22
  "resourceTypeHandle": "TYPE-Natural",
23
23
  "provenance": {
24
- "resourceProvenanceKind": "genesis"
24
+ "provenanceKind": "genesis"
25
25
  },
26
26
  "timestamp": "2025-11-30T00:00:00.000Z",
27
27
  "projection": 2
@@ -30,7 +30,7 @@
30
30
  "id": "RESOURCE-NATURAL:3",
31
31
  "resourceTypeHandle": "TYPE-Natural",
32
32
  "provenance": {
33
- "resourceProvenanceKind": "genesis"
33
+ "provenanceKind": "genesis"
34
34
  },
35
35
  "timestamp": "2025-11-30T00:00:00.000Z",
36
36
  "projection": 3
@@ -39,7 +39,7 @@
39
39
  "id": "RESOURCE-NATURAL:4",
40
40
  "resourceTypeHandle": "TYPE-Natural",
41
41
  "provenance": {
42
- "resourceProvenanceKind": "genesis"
42
+ "provenanceKind": "genesis"
43
43
  },
44
44
  "timestamp": "2025-11-30T00:00:00.000Z",
45
45
  "projection": 4
@@ -48,7 +48,7 @@
48
48
  "id": "RESOURCE-NATURAL:5",
49
49
  "resourceTypeHandle": "TYPE-Natural",
50
50
  "provenance": {
51
- "resourceProvenanceKind": "genesis"
51
+ "provenanceKind": "genesis"
52
52
  },
53
53
  "timestamp": "2025-11-30T00:00:00.000Z",
54
54
  "projection": 5
@@ -57,7 +57,7 @@
57
57
  "id": "RESOURCE-NATURAL:6",
58
58
  "resourceTypeHandle": "TYPE-Natural",
59
59
  "provenance": {
60
- "resourceProvenanceKind": "genesis"
60
+ "provenanceKind": "genesis"
61
61
  },
62
62
  "timestamp": "2025-11-30T00:00:00.000Z",
63
63
  "projection": 6
@@ -66,7 +66,7 @@
66
66
  "id": "RESOURCE-NATURAL:7",
67
67
  "resourceTypeHandle": "TYPE-Natural",
68
68
  "provenance": {
69
- "resourceProvenanceKind": "genesis"
69
+ "provenanceKind": "genesis"
70
70
  },
71
71
  "timestamp": "2025-11-30T00:00:00.000Z",
72
72
  "projection": 7
@@ -75,7 +75,7 @@
75
75
  "id": "RESOURCE-NATURAL:8",
76
76
  "resourceTypeHandle": "TYPE-Natural",
77
77
  "provenance": {
78
- "resourceProvenanceKind": "genesis"
78
+ "provenanceKind": "genesis"
79
79
  },
80
80
  "timestamp": "2025-11-30T00:00:00.000Z",
81
81
  "projection": 8
@@ -84,7 +84,7 @@
84
84
  "id": "RESOURCE-NATURAL:9",
85
85
  "resourceTypeHandle": "TYPE-Natural",
86
86
  "provenance": {
87
- "resourceProvenanceKind": "genesis"
87
+ "provenanceKind": "genesis"
88
88
  },
89
89
  "timestamp": "2025-11-30T00:00:00.000Z",
90
90
  "projection": 9
@@ -93,7 +93,7 @@
93
93
  "id": "RESOURCE-NATURAL:100",
94
94
  "resourceTypeHandle": "TYPE-Natural",
95
95
  "provenance": {
96
- "resourceProvenanceKind": "genesis"
96
+ "provenanceKind": "genesis"
97
97
  },
98
98
  "timestamp": "2025-11-30T00:00:00.000Z",
99
99
  "projection": 100
@@ -3,7 +3,7 @@
3
3
  "id": "RESOURCE-TYPE:ResourceType",
4
4
  "resourceTypeHandle": "TYPE-ResourceType",
5
5
  "provenance": {
6
- "resourceProvenanceKind": "genesis"
6
+ "provenanceKind": "genesis"
7
7
  },
8
8
  "timestamp": "2025-11-30T00:00:00.000Z",
9
9
  "projection": {
@@ -79,7 +79,7 @@
79
79
  "id": "RESOURCE-TYPE:Tool",
80
80
  "resourceTypeHandle": "TYPE-ResourceType",
81
81
  "provenance": {
82
- "resourceProvenanceKind": "genesis"
82
+ "provenanceKind": "genesis"
83
83
  },
84
84
  "timestamp": "2025-11-30T00:00:00.000Z",
85
85
  "projection": {
@@ -264,7 +264,7 @@
264
264
  "id": "RESOURCE-TYPE:Strategy",
265
265
  "resourceTypeHandle": "TYPE-ResourceType",
266
266
  "provenance": {
267
- "resourceProvenanceKind": "genesis"
267
+ "provenanceKind": "genesis"
268
268
  },
269
269
  "timestamp": "2025-11-30T00:00:00.000Z",
270
270
  "projection": {
@@ -273,12 +273,21 @@
273
273
  "description": "",
274
274
  "projectionSchema": {
275
275
  "$schema": "https://json-schema.org/draft/2020-12/schema",
276
- "oneOf": [
276
+ "type": "object",
277
+ "required": [
278
+ "handle"
279
+ ],
280
+ "properties": {
281
+ "handle": {
282
+ "$ref": "#/$defs/StrategyHandle"
283
+ }
284
+ },
285
+ "allOf": [
277
286
  {
278
- "$ref": "#/$defs/UnthreadedStrategy"
287
+ "$ref": "#/$defs/StepsByThreadIndexFacet"
279
288
  },
280
289
  {
281
- "$ref": "#/$defs/ThreadedStrategy"
290
+ "$ref": "#/$defs/StrategyStateFacet"
282
291
  }
283
292
  ]
284
293
  }
@@ -288,7 +297,7 @@
288
297
  "id": "RESOURCE-TYPE:StrategyTrace",
289
298
  "resourceTypeHandle": "TYPE-ResourceType",
290
299
  "provenance": {
291
- "resourceProvenanceKind": "genesis"
300
+ "provenanceKind": "genesis"
292
301
  },
293
302
  "timestamp": "2025-11-30T00:00:00.000Z",
294
303
  "projection": {
@@ -326,7 +335,7 @@
326
335
  "id": "RESOURCE-TYPE:Goal",
327
336
  "resourceTypeHandle": "TYPE-ResourceType",
328
337
  "provenance": {
329
- "resourceProvenanceKind": "genesis"
338
+ "provenanceKind": "genesis"
330
339
  },
331
340
  "timestamp": "2025-11-30T00:00:00.000Z",
332
341
  "projection": {
@@ -380,7 +389,7 @@
380
389
  "id": "RESOURCE-TYPE:Error",
381
390
  "resourceTypeHandle": "TYPE-ResourceType",
382
391
  "provenance": {
383
- "resourceProvenanceKind": "genesis"
392
+ "provenanceKind": "genesis"
384
393
  },
385
394
  "timestamp": "2025-11-30T00:00:00.000Z",
386
395
  "projection": {
@@ -410,7 +419,7 @@
410
419
  "id": "RESOURCE-TYPE:Boolean",
411
420
  "resourceTypeHandle": "TYPE-ResourceType",
412
421
  "provenance": {
413
- "resourceProvenanceKind": "genesis"
422
+ "provenanceKind": "genesis"
414
423
  },
415
424
  "timestamp": "2025-11-30T00:00:00.000Z",
416
425
  "projection": {
@@ -427,7 +436,7 @@
427
436
  "id": "RESOURCE-TYPE:Natural",
428
437
  "resourceTypeHandle": "TYPE-ResourceType",
429
438
  "provenance": {
430
- "resourceProvenanceKind": "genesis"
439
+ "provenanceKind": "genesis"
431
440
  },
432
441
  "timestamp": "2025-11-30T00:00:00.000Z",
433
442
  "projection": {
@@ -445,7 +454,7 @@
445
454
  "id": "RESOURCE-TYPE:Resource",
446
455
  "resourceTypeHandle": "TYPE-ResourceType",
447
456
  "provenance": {
448
- "resourceProvenanceKind": "genesis"
457
+ "provenanceKind": "genesis"
449
458
  },
450
459
  "timestamp": "2025-11-30T00:00:00.000Z",
451
460
  "projection": {
@@ -464,7 +473,7 @@
464
473
  "id": "RESOURCE-TYPE:Suite",
465
474
  "resourceTypeHandle": "TYPE-ResourceType",
466
475
  "provenance": {
467
- "resourceProvenanceKind": "genesis"
476
+ "provenanceKind": "genesis"
468
477
  },
469
478
  "timestamp": "2025-11-30T00:00:00.000Z",
470
479
  "projection": {
@@ -3,7 +3,7 @@
3
3
  "id": "RESOURCE-TOOL:Identity",
4
4
  "resourceTypeHandle": "TYPE-Tool",
5
5
  "provenance": {
6
- "resourceProvenanceKind": "genesis"
6
+ "provenanceKind": "genesis"
7
7
  },
8
8
  "timestamp": "2025-11-30T00:00:00.000Z",
9
9
  "projection": {
@@ -67,7 +67,7 @@
67
67
  "id": "RESOURCE-TOOL:Add",
68
68
  "resourceTypeHandle": "TYPE-Tool",
69
69
  "provenance": {
70
- "resourceProvenanceKind": "genesis"
70
+ "provenanceKind": "genesis"
71
71
  },
72
72
  "timestamp": "2025-11-30T00:00:00.000Z",
73
73
  "projection": {
@@ -139,7 +139,7 @@
139
139
  "id": "RESOURCE-TOOL:Subtract",
140
140
  "resourceTypeHandle": "TYPE-Tool",
141
141
  "provenance": {
142
- "resourceProvenanceKind": "genesis"
142
+ "provenanceKind": "genesis"
143
143
  },
144
144
  "timestamp": "2025-11-30T00:00:00.000Z",
145
145
  "projection": {
@@ -211,7 +211,7 @@
211
211
  "id": "RESOURCE-TOOL:Multiply",
212
212
  "resourceTypeHandle": "TYPE-Tool",
213
213
  "provenance": {
214
- "resourceProvenanceKind": "genesis"
214
+ "provenanceKind": "genesis"
215
215
  },
216
216
  "timestamp": "2025-11-30T00:00:00.000Z",
217
217
  "projection": {
@@ -283,7 +283,7 @@
283
283
  "id": "RESOURCE-TOOL:Divide",
284
284
  "resourceTypeHandle": "TYPE-Tool",
285
285
  "provenance": {
286
- "resourceProvenanceKind": "genesis"
286
+ "provenanceKind": "genesis"
287
287
  },
288
288
  "timestamp": "2025-11-30T00:00:00.000Z",
289
289
  "projection": {
@@ -363,7 +363,7 @@
363
363
  "id": "RESOURCE-TOOL:Double",
364
364
  "resourceTypeHandle": "TYPE-Tool",
365
365
  "provenance": {
366
- "resourceProvenanceKind": "genesis"
366
+ "provenanceKind": "genesis"
367
367
  },
368
368
  "timestamp": "2025-11-30T00:00:00.000Z",
369
369
  "projection": {
@@ -427,7 +427,7 @@
427
427
  "id": "RESOURCE-TOOL:LessThan",
428
428
  "resourceTypeHandle": "TYPE-Tool",
429
429
  "provenance": {
430
- "resourceProvenanceKind": "genesis"
430
+ "provenanceKind": "genesis"
431
431
  },
432
432
  "timestamp": "2025-11-30T00:00:00.000Z",
433
433
  "projection": {
@@ -497,7 +497,7 @@
497
497
  "id": "RESOURCE-TOOL:BooleanIdentity",
498
498
  "resourceTypeHandle": "TYPE-Tool",
499
499
  "provenance": {
500
- "resourceProvenanceKind": "genesis"
500
+ "provenanceKind": "genesis"
501
501
  },
502
502
  "timestamp": "2025-11-30T00:00:00.000Z",
503
503
  "projection": {
@@ -531,7 +531,7 @@
531
531
  "id": "RESOURCE-TOOL:NaturalIdentity",
532
532
  "resourceTypeHandle": "TYPE-Tool",
533
533
  "provenance": {
534
- "resourceProvenanceKind": "genesis"
534
+ "provenanceKind": "genesis"
535
535
  },
536
536
  "timestamp": "2025-11-30T00:00:00.000Z",
537
537
  "projection": {
@@ -565,7 +565,7 @@
565
565
  "id": "RESOURCE-TOOL:NaturalLessThan",
566
566
  "resourceTypeHandle": "TYPE-Tool",
567
567
  "provenance": {
568
- "resourceProvenanceKind": "genesis"
568
+ "provenanceKind": "genesis"
569
569
  },
570
570
  "timestamp": "2025-11-30T00:00:00.000Z",
571
571
  "projection": {
@@ -605,7 +605,7 @@
605
605
  "id": "RESOURCE-TOOL:NaturalAdd",
606
606
  "resourceTypeHandle": "TYPE-Tool",
607
607
  "provenance": {
608
- "resourceProvenanceKind": "genesis"
608
+ "provenanceKind": "genesis"
609
609
  },
610
610
  "timestamp": "2025-11-30T00:00:00.000Z",
611
611
  "projection": {
@@ -645,7 +645,7 @@
645
645
  "id": "RESOURCE-TOOL:NaturalSubtract",
646
646
  "resourceTypeHandle": "TYPE-Tool",
647
647
  "provenance": {
648
- "resourceProvenanceKind": "genesis"
648
+ "provenanceKind": "genesis"
649
649
  },
650
650
  "timestamp": "2025-11-30T00:00:00.000Z",
651
651
  "projection": {
@@ -700,7 +700,7 @@
700
700
  "id": "RESOURCE-TOOL:NaturalMultiply",
701
701
  "resourceTypeHandle": "TYPE-Tool",
702
702
  "provenance": {
703
- "resourceProvenanceKind": "genesis"
703
+ "provenanceKind": "genesis"
704
704
  },
705
705
  "timestamp": "2025-11-30T00:00:00.000Z",
706
706
  "projection": {
@@ -740,7 +740,7 @@
740
740
  "id": "RESOURCE-TOOL:NaturalDivide",
741
741
  "resourceTypeHandle": "TYPE-Tool",
742
742
  "provenance": {
743
- "resourceProvenanceKind": "genesis"
743
+ "provenanceKind": "genesis"
744
744
  },
745
745
  "timestamp": "2025-11-30T00:00:00.000Z",
746
746
  "projection": {
@@ -792,7 +792,7 @@
792
792
  "id": "RESOURCE-TOOL:NaturalDouble",
793
793
  "resourceTypeHandle": "TYPE-Tool",
794
794
  "provenance": {
795
- "resourceProvenanceKind": "genesis"
795
+ "provenanceKind": "genesis"
796
796
  },
797
797
  "timestamp": "2025-11-30T00:00:00.000Z",
798
798
  "projection": {