@manifesto-ai/core 0.3.0 → 1.3.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.
- package/README.md +148 -498
- package/dist/__tests__/apply.test.d.ts +2 -0
- package/dist/__tests__/apply.test.d.ts.map +1 -0
- package/dist/__tests__/apply.test.js +144 -0
- package/dist/__tests__/apply.test.js.map +1 -0
- package/dist/__tests__/jcs.test.d.ts +2 -0
- package/dist/__tests__/jcs.test.d.ts.map +1 -0
- package/dist/__tests__/jcs.test.js +45 -0
- package/dist/__tests__/jcs.test.js.map +1 -0
- package/dist/core/apply.d.ts +17 -0
- package/dist/core/apply.d.ts.map +1 -0
- package/dist/core/apply.js +130 -0
- package/dist/core/apply.js.map +1 -0
- package/dist/core/compute.d.ts +17 -0
- package/dist/core/compute.d.ts.map +1 -0
- package/dist/core/compute.js +287 -0
- package/dist/core/compute.js.map +1 -0
- package/dist/core/compute.test.d.ts +2 -0
- package/dist/core/compute.test.d.ts.map +1 -0
- package/dist/core/compute.test.js +633 -0
- package/dist/core/compute.test.js.map +1 -0
- package/dist/core/explain.d.ts +14 -0
- package/dist/core/explain.d.ts.map +1 -0
- package/dist/core/explain.js +78 -0
- package/dist/core/explain.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/validate.d.ts +16 -0
- package/dist/core/validate.d.ts.map +1 -0
- package/dist/core/validate.js +361 -0
- package/dist/core/validate.js.map +1 -0
- package/dist/core/validate.test.d.ts +2 -0
- package/dist/core/validate.test.d.ts.map +1 -0
- package/dist/core/validate.test.js +638 -0
- package/dist/core/validate.test.js.map +1 -0
- package/dist/core/validation-utils.d.ts +20 -0
- package/dist/core/validation-utils.d.ts.map +1 -0
- package/dist/core/validation-utils.js +289 -0
- package/dist/core/validation-utils.js.map +1 -0
- package/dist/errors.d.ts +30 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +51 -0
- package/dist/errors.js.map +1 -0
- package/dist/evaluator/computed.d.ts +14 -0
- package/dist/evaluator/computed.d.ts.map +1 -0
- package/dist/evaluator/computed.js +60 -0
- package/dist/evaluator/computed.js.map +1 -0
- package/dist/evaluator/context.d.ts +59 -0
- package/dist/evaluator/context.d.ts.map +1 -0
- package/dist/evaluator/context.js +41 -0
- package/dist/evaluator/context.js.map +1 -0
- package/dist/evaluator/dag.d.ts +30 -0
- package/dist/evaluator/dag.d.ts.map +1 -0
- package/dist/evaluator/dag.js +121 -0
- package/dist/evaluator/dag.js.map +1 -0
- package/dist/evaluator/expr.d.ts +11 -0
- package/dist/evaluator/expr.d.ts.map +1 -0
- package/dist/evaluator/expr.js +649 -0
- package/dist/evaluator/expr.js.map +1 -0
- package/dist/evaluator/expr.test.d.ts +2 -0
- package/dist/evaluator/expr.test.d.ts.map +1 -0
- package/dist/evaluator/expr.test.js +449 -0
- package/dist/evaluator/expr.test.js.map +1 -0
- package/dist/evaluator/flow.d.ts +35 -0
- package/dist/evaluator/flow.d.ts.map +1 -0
- package/dist/evaluator/flow.js +387 -0
- package/dist/evaluator/flow.js.map +1 -0
- package/dist/evaluator/flow.test.d.ts +2 -0
- package/dist/evaluator/flow.test.d.ts.map +1 -0
- package/dist/evaluator/flow.test.js +499 -0
- package/dist/evaluator/flow.test.js.map +1 -0
- package/dist/evaluator/index.d.ts +6 -0
- package/dist/evaluator/index.d.ts.map +1 -0
- package/dist/evaluator/index.js +6 -0
- package/dist/evaluator/index.js.map +1 -0
- package/dist/factories.d.ts +22 -0
- package/dist/factories.d.ts.map +1 -0
- package/dist/factories.js +44 -0
- package/dist/factories.js.map +1 -0
- package/dist/index.d.ts +47 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -45
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +13 -0
- package/dist/index.test.js.map +1 -0
- package/dist/schema/action.d.ts +14 -0
- package/dist/schema/action.d.ts.map +1 -0
- package/dist/schema/action.js +30 -0
- package/dist/schema/action.js.map +1 -0
- package/dist/schema/common.d.ts +37 -0
- package/dist/schema/common.d.ts.map +1 -0
- package/dist/schema/common.js +20 -0
- package/dist/schema/common.js.map +1 -0
- package/dist/schema/computed.d.ts +23 -0
- package/dist/schema/computed.d.ts.map +1 -0
- package/dist/schema/computed.js +34 -0
- package/dist/schema/computed.js.map +1 -0
- package/dist/schema/domain.d.ts +50 -0
- package/dist/schema/domain.d.ts.map +1 -0
- package/dist/schema/domain.js +60 -0
- package/dist/schema/domain.js.map +1 -0
- package/dist/schema/expr.d.ts +303 -0
- package/dist/schema/expr.d.ts.map +1 -0
- package/dist/schema/expr.js +283 -0
- package/dist/schema/expr.js.map +1 -0
- package/dist/schema/field.d.ts +48 -0
- package/dist/schema/field.d.ts.map +1 -0
- package/dist/schema/field.js +31 -0
- package/dist/schema/field.js.map +1 -0
- package/dist/schema/flow.d.ts +103 -0
- package/dist/schema/flow.d.ts.map +1 -0
- package/dist/schema/flow.js +82 -0
- package/dist/schema/flow.js.map +1 -0
- package/dist/schema/host-context.d.ts +12 -0
- package/dist/schema/host-context.d.ts.map +1 -0
- package/dist/schema/host-context.js +23 -0
- package/dist/schema/host-context.js.map +1 -0
- package/dist/schema/index.d.ts +13 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +25 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/patch.d.ts +59 -0
- package/dist/schema/patch.d.ts.map +1 -0
- package/dist/schema/patch.js +60 -0
- package/dist/schema/patch.js.map +1 -0
- package/dist/schema/result.d.ts +142 -0
- package/dist/schema/result.d.ts.map +1 -0
- package/dist/schema/result.js +94 -0
- package/dist/schema/result.js.map +1 -0
- package/dist/schema/snapshot.d.ts +153 -0
- package/dist/schema/snapshot.d.ts.map +1 -0
- package/dist/schema/snapshot.js +160 -0
- package/dist/schema/snapshot.js.map +1 -0
- package/dist/schema/trace.d.ts +98 -0
- package/dist/schema/trace.d.ts.map +1 -0
- package/dist/schema/trace.js +90 -0
- package/dist/schema/trace.js.map +1 -0
- package/dist/schema/type-spec.d.ts +34 -0
- package/dist/schema/type-spec.d.ts.map +1 -0
- package/dist/schema/type-spec.js +40 -0
- package/dist/schema/type-spec.js.map +1 -0
- package/dist/utils/canonical.d.ts +37 -0
- package/dist/utils/canonical.d.ts.map +1 -0
- package/dist/utils/canonical.js +122 -0
- package/dist/utils/canonical.js.map +1 -0
- package/dist/utils/canonical.test.d.ts +2 -0
- package/dist/utils/canonical.test.d.ts.map +1 -0
- package/dist/utils/canonical.test.js +183 -0
- package/dist/utils/canonical.test.js.map +1 -0
- package/dist/utils/hash.d.ts +28 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +152 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/hash.test.d.ts +2 -0
- package/dist/utils/hash.test.d.ts.map +1 -0
- package/dist/utils/hash.test.js +170 -0
- package/dist/utils/hash.test.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/path.d.ts +40 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +132 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/path.test.d.ts +2 -0
- package/dist/utils/path.test.d.ts.map +1 -0
- package/dist/utils/path.test.js +191 -0
- package/dist/utils/path.test.js.map +1 -0
- package/package.json +28 -41
- package/LICENSE +0 -21
- package/dist/dag/graph.d.ts +0 -62
- package/dist/dag/graph.d.ts.map +0 -1
- package/dist/dag/graph.js +0 -244
- package/dist/dag/graph.js.map +0 -1
- package/dist/dag/index.d.ts +0 -4
- package/dist/dag/index.d.ts.map +0 -1
- package/dist/dag/index.js +0 -4
- package/dist/dag/index.js.map +0 -1
- package/dist/dag/propagation.d.ts +0 -58
- package/dist/dag/propagation.d.ts.map +0 -1
- package/dist/dag/propagation.js +0 -224
- package/dist/dag/propagation.js.map +0 -1
- package/dist/dag/topological.d.ts +0 -33
- package/dist/dag/topological.d.ts.map +0 -1
- package/dist/dag/topological.js +0 -173
- package/dist/dag/topological.js.map +0 -1
- package/dist/domain/define.d.ts +0 -82
- package/dist/domain/define.d.ts.map +0 -1
- package/dist/domain/define.js +0 -105
- package/dist/domain/define.js.map +0 -1
- package/dist/domain/index.d.ts +0 -4
- package/dist/domain/index.d.ts.map +0 -1
- package/dist/domain/index.js +0 -4
- package/dist/domain/index.js.map +0 -1
- package/dist/domain/types.d.ts +0 -203
- package/dist/domain/types.d.ts.map +0 -1
- package/dist/domain/types.js +0 -2
- package/dist/domain/types.js.map +0 -1
- package/dist/domain/validate.d.ts +0 -17
- package/dist/domain/validate.d.ts.map +0 -1
- package/dist/domain/validate.js +0 -204
- package/dist/domain/validate.js.map +0 -1
- package/dist/effect/index.d.ts +0 -4
- package/dist/effect/index.d.ts.map +0 -1
- package/dist/effect/index.js +0 -4
- package/dist/effect/index.js.map +0 -1
- package/dist/effect/result.d.ts +0 -100
- package/dist/effect/result.d.ts.map +0 -1
- package/dist/effect/result.js +0 -163
- package/dist/effect/result.js.map +0 -1
- package/dist/effect/runner.d.ts +0 -98
- package/dist/effect/runner.d.ts.map +0 -1
- package/dist/effect/runner.js +0 -321
- package/dist/effect/runner.js.map +0 -1
- package/dist/effect/types.d.ts +0 -169
- package/dist/effect/types.d.ts.map +0 -1
- package/dist/effect/types.js +0 -28
- package/dist/effect/types.js.map +0 -1
- package/dist/expression/analyzer.d.ts +0 -42
- package/dist/expression/analyzer.d.ts.map +0 -1
- package/dist/expression/analyzer.js +0 -166
- package/dist/expression/analyzer.js.map +0 -1
- package/dist/expression/evaluator.d.ts +0 -16
- package/dist/expression/evaluator.d.ts.map +0 -1
- package/dist/expression/evaluator.js +0 -382
- package/dist/expression/evaluator.js.map +0 -1
- package/dist/expression/index.d.ts +0 -5
- package/dist/expression/index.d.ts.map +0 -1
- package/dist/expression/index.js +0 -5
- package/dist/expression/index.js.map +0 -1
- package/dist/expression/parser.d.ts +0 -37
- package/dist/expression/parser.d.ts.map +0 -1
- package/dist/expression/parser.js +0 -201
- package/dist/expression/parser.js.map +0 -1
- package/dist/expression/types.d.ts +0 -123
- package/dist/expression/types.d.ts.map +0 -1
- package/dist/expression/types.js +0 -10
- package/dist/expression/types.js.map +0 -1
- package/dist/policy/field-policy.d.ts +0 -63
- package/dist/policy/field-policy.d.ts.map +0 -1
- package/dist/policy/field-policy.js +0 -138
- package/dist/policy/field-policy.js.map +0 -1
- package/dist/policy/index.d.ts +0 -3
- package/dist/policy/index.d.ts.map +0 -1
- package/dist/policy/index.js +0 -3
- package/dist/policy/index.js.map +0 -1
- package/dist/policy/precondition.d.ts +0 -58
- package/dist/policy/precondition.d.ts.map +0 -1
- package/dist/policy/precondition.js +0 -115
- package/dist/policy/precondition.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -4
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -4
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/runtime.d.ts +0 -94
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/runtime.js +0 -294
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/snapshot.d.ts +0 -39
- package/dist/runtime/snapshot.d.ts.map +0 -1
- package/dist/runtime/snapshot.js +0 -264
- package/dist/runtime/snapshot.js.map +0 -1
- package/dist/runtime/subscription.d.ts +0 -82
- package/dist/runtime/subscription.d.ts.map +0 -1
- package/dist/runtime/subscription.js +0 -222
- package/dist/runtime/subscription.js.map +0 -1
- package/dist/schema/integration.d.ts +0 -89
- package/dist/schema/integration.d.ts.map +0 -1
- package/dist/schema/integration.js +0 -171
- package/dist/schema/integration.js.map +0 -1
- package/dist/schema/validation.d.ts +0 -51
- package/dist/schema/validation.d.ts.map +0 -1
- package/dist/schema/validation.js +0 -212
- package/dist/schema/validation.js.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { SemanticPath } from "./common.js";
|
|
3
|
+
import { Snapshot, Requirement } from "./snapshot.js";
|
|
4
|
+
import { TraceGraph, TraceNode } from "./trace.js";
|
|
5
|
+
/**
|
|
6
|
+
* ComputeStatus - Result of a compute() call
|
|
7
|
+
*/
|
|
8
|
+
export const ComputeStatus = z.enum([
|
|
9
|
+
"complete", // Flow finished, no pending requirements
|
|
10
|
+
"pending", // Flow encountered effect, waiting for Host
|
|
11
|
+
"halted", // Flow explicitly halted
|
|
12
|
+
"error", // Flow encountered error
|
|
13
|
+
]);
|
|
14
|
+
/**
|
|
15
|
+
* ComputeResult - Result of compute() call
|
|
16
|
+
*/
|
|
17
|
+
export const ComputeResult = z.object({
|
|
18
|
+
/**
|
|
19
|
+
* New snapshot after computation
|
|
20
|
+
*/
|
|
21
|
+
snapshot: Snapshot,
|
|
22
|
+
/**
|
|
23
|
+
* Pending requirements (effects) declared by the flow
|
|
24
|
+
*/
|
|
25
|
+
requirements: z.array(Requirement),
|
|
26
|
+
/**
|
|
27
|
+
* Computation trace
|
|
28
|
+
*/
|
|
29
|
+
trace: TraceGraph,
|
|
30
|
+
/**
|
|
31
|
+
* Computation status
|
|
32
|
+
*/
|
|
33
|
+
status: ComputeStatus,
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* ValidationError - Single validation error
|
|
37
|
+
*/
|
|
38
|
+
export const ValidationError = z.object({
|
|
39
|
+
/**
|
|
40
|
+
* Error code (e.g., "V-001", "V-002")
|
|
41
|
+
*/
|
|
42
|
+
code: z.string(),
|
|
43
|
+
/**
|
|
44
|
+
* Human-readable message
|
|
45
|
+
*/
|
|
46
|
+
message: z.string(),
|
|
47
|
+
/**
|
|
48
|
+
* Path in the schema where error occurred
|
|
49
|
+
*/
|
|
50
|
+
path: z.string().optional(),
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* ValidationResult - Result of validate() call
|
|
54
|
+
*/
|
|
55
|
+
export const ValidationResult = z.object({
|
|
56
|
+
/**
|
|
57
|
+
* Whether the schema is valid
|
|
58
|
+
*/
|
|
59
|
+
valid: z.boolean(),
|
|
60
|
+
/**
|
|
61
|
+
* List of validation errors (empty if valid)
|
|
62
|
+
*/
|
|
63
|
+
errors: z.array(ValidationError),
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* ExplainResult - Result of explain() call
|
|
67
|
+
*/
|
|
68
|
+
export const ExplainResult = z.object({
|
|
69
|
+
/**
|
|
70
|
+
* The value at the path
|
|
71
|
+
*/
|
|
72
|
+
value: z.unknown(),
|
|
73
|
+
/**
|
|
74
|
+
* Trace showing how the value was computed
|
|
75
|
+
*/
|
|
76
|
+
trace: TraceNode,
|
|
77
|
+
/**
|
|
78
|
+
* Dependencies that affect this value
|
|
79
|
+
*/
|
|
80
|
+
deps: z.array(SemanticPath),
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Create a successful validation result
|
|
84
|
+
*/
|
|
85
|
+
export function validResult() {
|
|
86
|
+
return { valid: true, errors: [] };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a failed validation result
|
|
90
|
+
*/
|
|
91
|
+
export function invalidResult(errors) {
|
|
92
|
+
return { valid: false, errors };
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/schema/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,UAAU,EAAE,yCAAyC;IACrD,SAAS,EAAG,4CAA4C;IACxD,QAAQ,EAAI,yBAAyB;IACrC,OAAO,EAAK,yBAAyB;CACtC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC;;OAEG;IACH,QAAQ,EAAE,QAAQ;IAElB;;OAEG;IACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAElC;;OAEG;IACH,KAAK,EAAE,UAAU;IAEjB;;OAEG;IACH,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAElB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;CACjC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAElB;;OAEG;IACH,KAAK,EAAE,SAAS;IAEhB;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;CAC5B,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB;IACrD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* ErrorValue - Errors are values in Snapshot, not exceptions.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ErrorValue: z.ZodObject<{
|
|
6
|
+
code: z.ZodString;
|
|
7
|
+
message: z.ZodString;
|
|
8
|
+
source: z.ZodObject<{
|
|
9
|
+
actionId: z.ZodString;
|
|
10
|
+
nodePath: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
timestamp: z.ZodNumber;
|
|
13
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type ErrorValue = z.infer<typeof ErrorValue>;
|
|
16
|
+
/**
|
|
17
|
+
* FlowPosition - Position in the flow where effect was encountered
|
|
18
|
+
*/
|
|
19
|
+
export declare const FlowPosition: z.ZodObject<{
|
|
20
|
+
nodePath: z.ZodString;
|
|
21
|
+
snapshotVersion: z.ZodNumber;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type FlowPosition = z.infer<typeof FlowPosition>;
|
|
24
|
+
/**
|
|
25
|
+
* Requirement - A recorded effect declaration waiting for Host fulfillment
|
|
26
|
+
*/
|
|
27
|
+
export declare const Requirement: z.ZodObject<{
|
|
28
|
+
id: z.ZodString;
|
|
29
|
+
type: z.ZodString;
|
|
30
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
31
|
+
actionId: z.ZodString;
|
|
32
|
+
flowPosition: z.ZodObject<{
|
|
33
|
+
nodePath: z.ZodString;
|
|
34
|
+
snapshotVersion: z.ZodNumber;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
createdAt: z.ZodNumber;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type Requirement = z.infer<typeof Requirement>;
|
|
39
|
+
/**
|
|
40
|
+
* SystemState - Internal system state
|
|
41
|
+
*/
|
|
42
|
+
export declare const SystemState: z.ZodObject<{
|
|
43
|
+
status: z.ZodEnum<{
|
|
44
|
+
error: "error";
|
|
45
|
+
idle: "idle";
|
|
46
|
+
computing: "computing";
|
|
47
|
+
pending: "pending";
|
|
48
|
+
}>;
|
|
49
|
+
lastError: z.ZodNullable<z.ZodObject<{
|
|
50
|
+
code: z.ZodString;
|
|
51
|
+
message: z.ZodString;
|
|
52
|
+
source: z.ZodObject<{
|
|
53
|
+
actionId: z.ZodString;
|
|
54
|
+
nodePath: z.ZodString;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
timestamp: z.ZodNumber;
|
|
57
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
58
|
+
}, z.core.$strip>>;
|
|
59
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
60
|
+
code: z.ZodString;
|
|
61
|
+
message: z.ZodString;
|
|
62
|
+
source: z.ZodObject<{
|
|
63
|
+
actionId: z.ZodString;
|
|
64
|
+
nodePath: z.ZodString;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
timestamp: z.ZodNumber;
|
|
67
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
pendingRequirements: z.ZodArray<z.ZodObject<{
|
|
70
|
+
id: z.ZodString;
|
|
71
|
+
type: z.ZodString;
|
|
72
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
73
|
+
actionId: z.ZodString;
|
|
74
|
+
flowPosition: z.ZodObject<{
|
|
75
|
+
nodePath: z.ZodString;
|
|
76
|
+
snapshotVersion: z.ZodNumber;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
createdAt: z.ZodNumber;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
currentAction: z.ZodNullable<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
export type SystemState = z.infer<typeof SystemState>;
|
|
83
|
+
/**
|
|
84
|
+
* SnapshotMeta - Snapshot metadata
|
|
85
|
+
*/
|
|
86
|
+
export declare const SnapshotMeta: z.ZodObject<{
|
|
87
|
+
version: z.ZodNumber;
|
|
88
|
+
timestamp: z.ZodNumber;
|
|
89
|
+
randomSeed: z.ZodString;
|
|
90
|
+
schemaHash: z.ZodString;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export type SnapshotMeta = z.infer<typeof SnapshotMeta>;
|
|
93
|
+
/**
|
|
94
|
+
* Snapshot - Immutable, point-in-time representation of world state.
|
|
95
|
+
* This is the ONLY medium of communication between Core and Host.
|
|
96
|
+
*/
|
|
97
|
+
export declare const Snapshot: z.ZodObject<{
|
|
98
|
+
data: z.ZodUnknown;
|
|
99
|
+
computed: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
100
|
+
system: z.ZodObject<{
|
|
101
|
+
status: z.ZodEnum<{
|
|
102
|
+
error: "error";
|
|
103
|
+
idle: "idle";
|
|
104
|
+
computing: "computing";
|
|
105
|
+
pending: "pending";
|
|
106
|
+
}>;
|
|
107
|
+
lastError: z.ZodNullable<z.ZodObject<{
|
|
108
|
+
code: z.ZodString;
|
|
109
|
+
message: z.ZodString;
|
|
110
|
+
source: z.ZodObject<{
|
|
111
|
+
actionId: z.ZodString;
|
|
112
|
+
nodePath: z.ZodString;
|
|
113
|
+
}, z.core.$strip>;
|
|
114
|
+
timestamp: z.ZodNumber;
|
|
115
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
118
|
+
code: z.ZodString;
|
|
119
|
+
message: z.ZodString;
|
|
120
|
+
source: z.ZodObject<{
|
|
121
|
+
actionId: z.ZodString;
|
|
122
|
+
nodePath: z.ZodString;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
timestamp: z.ZodNumber;
|
|
125
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
126
|
+
}, z.core.$strip>>;
|
|
127
|
+
pendingRequirements: z.ZodArray<z.ZodObject<{
|
|
128
|
+
id: z.ZodString;
|
|
129
|
+
type: z.ZodString;
|
|
130
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
131
|
+
actionId: z.ZodString;
|
|
132
|
+
flowPosition: z.ZodObject<{
|
|
133
|
+
nodePath: z.ZodString;
|
|
134
|
+
snapshotVersion: z.ZodNumber;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
createdAt: z.ZodNumber;
|
|
137
|
+
}, z.core.$strip>>;
|
|
138
|
+
currentAction: z.ZodNullable<z.ZodString>;
|
|
139
|
+
}, z.core.$strip>;
|
|
140
|
+
input: z.ZodUnknown;
|
|
141
|
+
meta: z.ZodObject<{
|
|
142
|
+
version: z.ZodNumber;
|
|
143
|
+
timestamp: z.ZodNumber;
|
|
144
|
+
randomSeed: z.ZodString;
|
|
145
|
+
schemaHash: z.ZodString;
|
|
146
|
+
}, z.core.$strip>;
|
|
147
|
+
}, z.core.$strip>;
|
|
148
|
+
export type Snapshot = z.infer<typeof Snapshot>;
|
|
149
|
+
/**
|
|
150
|
+
* Create initial system state
|
|
151
|
+
*/
|
|
152
|
+
export declare function createInitialSystemState(): SystemState;
|
|
153
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/schema/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;iBA4BrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY;;;iBAUvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;iBA+BtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;iBAsBvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAQtD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { SemanticPath } from "./common.js";
|
|
3
|
+
/**
|
|
4
|
+
* ErrorValue - Errors are values in Snapshot, not exceptions.
|
|
5
|
+
*/
|
|
6
|
+
export const ErrorValue = z.object({
|
|
7
|
+
/**
|
|
8
|
+
* Error code
|
|
9
|
+
*/
|
|
10
|
+
code: z.string(),
|
|
11
|
+
/**
|
|
12
|
+
* Human-readable message
|
|
13
|
+
*/
|
|
14
|
+
message: z.string(),
|
|
15
|
+
/**
|
|
16
|
+
* Where the error occurred
|
|
17
|
+
*/
|
|
18
|
+
source: z.object({
|
|
19
|
+
actionId: z.string(),
|
|
20
|
+
nodePath: z.string(),
|
|
21
|
+
}),
|
|
22
|
+
/**
|
|
23
|
+
* When the error occurred
|
|
24
|
+
*/
|
|
25
|
+
timestamp: z.number(),
|
|
26
|
+
/**
|
|
27
|
+
* Additional context
|
|
28
|
+
*/
|
|
29
|
+
context: z.record(z.string(), z.unknown()).optional(),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* FlowPosition - Position in the flow where effect was encountered
|
|
33
|
+
*/
|
|
34
|
+
export const FlowPosition = z.object({
|
|
35
|
+
/**
|
|
36
|
+
* Path to the effect node in the flow
|
|
37
|
+
*/
|
|
38
|
+
nodePath: z.string(),
|
|
39
|
+
/**
|
|
40
|
+
* Snapshot version at time of effect
|
|
41
|
+
*/
|
|
42
|
+
snapshotVersion: z.number(),
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Requirement - A recorded effect declaration waiting for Host fulfillment
|
|
46
|
+
*/
|
|
47
|
+
export const Requirement = z.object({
|
|
48
|
+
/**
|
|
49
|
+
* Unique identifier for this requirement.
|
|
50
|
+
* Should be deterministic: hash(schemaHash, intentId, actionId, flowNodePath)
|
|
51
|
+
*/
|
|
52
|
+
id: z.string(),
|
|
53
|
+
/**
|
|
54
|
+
* Effect type that generated this requirement
|
|
55
|
+
*/
|
|
56
|
+
type: z.string(),
|
|
57
|
+
/**
|
|
58
|
+
* Resolved parameters
|
|
59
|
+
*/
|
|
60
|
+
params: z.record(z.string(), z.unknown()),
|
|
61
|
+
/**
|
|
62
|
+
* The action that was being computed
|
|
63
|
+
*/
|
|
64
|
+
actionId: z.string(),
|
|
65
|
+
/**
|
|
66
|
+
* Position in the flow where effect was encountered
|
|
67
|
+
*/
|
|
68
|
+
flowPosition: FlowPosition,
|
|
69
|
+
/**
|
|
70
|
+
* Timestamp when requirement was created
|
|
71
|
+
*/
|
|
72
|
+
createdAt: z.number(),
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* SystemState - Internal system state
|
|
76
|
+
*/
|
|
77
|
+
export const SystemState = z.object({
|
|
78
|
+
/**
|
|
79
|
+
* Current status
|
|
80
|
+
*/
|
|
81
|
+
status: z.enum(["idle", "computing", "pending", "error"]),
|
|
82
|
+
/**
|
|
83
|
+
* Last error (null if none)
|
|
84
|
+
*/
|
|
85
|
+
lastError: ErrorValue.nullable(),
|
|
86
|
+
/**
|
|
87
|
+
* Error history
|
|
88
|
+
*/
|
|
89
|
+
errors: z.array(ErrorValue),
|
|
90
|
+
/**
|
|
91
|
+
* Pending requirements waiting for Host
|
|
92
|
+
*/
|
|
93
|
+
pendingRequirements: z.array(Requirement),
|
|
94
|
+
/**
|
|
95
|
+
* Current action being processed (if any)
|
|
96
|
+
*/
|
|
97
|
+
currentAction: z.string().nullable(),
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* SnapshotMeta - Snapshot metadata
|
|
101
|
+
*/
|
|
102
|
+
export const SnapshotMeta = z.object({
|
|
103
|
+
/**
|
|
104
|
+
* Monotonically increasing version.
|
|
105
|
+
* Incremented by Core on each apply().
|
|
106
|
+
*/
|
|
107
|
+
version: z.number(),
|
|
108
|
+
/**
|
|
109
|
+
* Timestamp of last modification.
|
|
110
|
+
* Set by Core on each apply().
|
|
111
|
+
*/
|
|
112
|
+
timestamp: z.number(),
|
|
113
|
+
/**
|
|
114
|
+
* Deterministic random seed from Host context
|
|
115
|
+
*/
|
|
116
|
+
randomSeed: z.string(),
|
|
117
|
+
/**
|
|
118
|
+
* Hash of the schema this snapshot conforms to.
|
|
119
|
+
*/
|
|
120
|
+
schemaHash: z.string(),
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* Snapshot - Immutable, point-in-time representation of world state.
|
|
124
|
+
* This is the ONLY medium of communication between Core and Host.
|
|
125
|
+
*/
|
|
126
|
+
export const Snapshot = z.object({
|
|
127
|
+
/**
|
|
128
|
+
* Domain data (matches StateSpec)
|
|
129
|
+
*/
|
|
130
|
+
data: z.unknown(),
|
|
131
|
+
/**
|
|
132
|
+
* Computed values (matches ComputedSpec)
|
|
133
|
+
*/
|
|
134
|
+
computed: z.record(SemanticPath, z.unknown()),
|
|
135
|
+
/**
|
|
136
|
+
* System state
|
|
137
|
+
*/
|
|
138
|
+
system: SystemState,
|
|
139
|
+
/**
|
|
140
|
+
* Input for current action (if any)
|
|
141
|
+
*/
|
|
142
|
+
input: z.unknown(),
|
|
143
|
+
/**
|
|
144
|
+
* Snapshot metadata
|
|
145
|
+
*/
|
|
146
|
+
meta: SnapshotMeta,
|
|
147
|
+
});
|
|
148
|
+
/**
|
|
149
|
+
* Create initial system state
|
|
150
|
+
*/
|
|
151
|
+
export function createInitialSystemState() {
|
|
152
|
+
return {
|
|
153
|
+
status: "idle",
|
|
154
|
+
lastError: null,
|
|
155
|
+
errors: [],
|
|
156
|
+
pendingRequirements: [],
|
|
157
|
+
currentAction: null,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/schema/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* TraceNodeKind - Types of trace nodes
|
|
4
|
+
*/
|
|
5
|
+
export declare const TraceNodeKind: z.ZodEnum<{
|
|
6
|
+
error: "error";
|
|
7
|
+
computed: "computed";
|
|
8
|
+
expr: "expr";
|
|
9
|
+
patch: "patch";
|
|
10
|
+
effect: "effect";
|
|
11
|
+
call: "call";
|
|
12
|
+
flow: "flow";
|
|
13
|
+
halt: "halt";
|
|
14
|
+
branch: "branch";
|
|
15
|
+
}>;
|
|
16
|
+
export type TraceNodeKind = z.infer<typeof TraceNodeKind>;
|
|
17
|
+
/**
|
|
18
|
+
* TraceNode - A single node in the execution trace.
|
|
19
|
+
* Enables explainability - every computation produces a trace.
|
|
20
|
+
*/
|
|
21
|
+
export type TraceNode = {
|
|
22
|
+
/**
|
|
23
|
+
* Unique identifier for this trace node
|
|
24
|
+
*/
|
|
25
|
+
id: string;
|
|
26
|
+
/**
|
|
27
|
+
* Type of trace node
|
|
28
|
+
*/
|
|
29
|
+
kind: TraceNodeKind;
|
|
30
|
+
/**
|
|
31
|
+
* Path in the schema that produced this trace
|
|
32
|
+
*/
|
|
33
|
+
sourcePath: string;
|
|
34
|
+
/**
|
|
35
|
+
* Input values at this point
|
|
36
|
+
*/
|
|
37
|
+
inputs: Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* Output value produced
|
|
40
|
+
*/
|
|
41
|
+
output: unknown;
|
|
42
|
+
/**
|
|
43
|
+
* Child trace nodes
|
|
44
|
+
*/
|
|
45
|
+
children: TraceNode[];
|
|
46
|
+
/**
|
|
47
|
+
* Timestamp
|
|
48
|
+
*/
|
|
49
|
+
timestamp: number;
|
|
50
|
+
};
|
|
51
|
+
export declare const TraceNode: z.ZodType<TraceNode>;
|
|
52
|
+
/**
|
|
53
|
+
* TraceTermination - How the computation ended
|
|
54
|
+
*/
|
|
55
|
+
export declare const TraceTermination: z.ZodEnum<{
|
|
56
|
+
error: "error";
|
|
57
|
+
effect: "effect";
|
|
58
|
+
halt: "halt";
|
|
59
|
+
complete: "complete";
|
|
60
|
+
}>;
|
|
61
|
+
export type TraceTermination = z.infer<typeof TraceTermination>;
|
|
62
|
+
/**
|
|
63
|
+
* TraceGraph - Complete trace of a computation
|
|
64
|
+
*/
|
|
65
|
+
export declare const TraceGraph: z.ZodObject<{
|
|
66
|
+
root: z.ZodType<TraceNode, unknown, z.core.$ZodTypeInternals<TraceNode, unknown>>;
|
|
67
|
+
nodes: z.ZodRecord<z.ZodString, z.ZodType<TraceNode, unknown, z.core.$ZodTypeInternals<TraceNode, unknown>>>;
|
|
68
|
+
intent: z.ZodObject<{
|
|
69
|
+
type: z.ZodString;
|
|
70
|
+
input: z.ZodUnknown;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
baseVersion: z.ZodNumber;
|
|
73
|
+
resultVersion: z.ZodNumber;
|
|
74
|
+
duration: z.ZodNumber;
|
|
75
|
+
terminatedBy: z.ZodEnum<{
|
|
76
|
+
error: "error";
|
|
77
|
+
effect: "effect";
|
|
78
|
+
halt: "halt";
|
|
79
|
+
complete: "complete";
|
|
80
|
+
}>;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
export type TraceGraph = z.infer<typeof TraceGraph>;
|
|
83
|
+
/**
|
|
84
|
+
* TraceContext - Deterministic trace ID generation
|
|
85
|
+
*/
|
|
86
|
+
export type TraceContext = {
|
|
87
|
+
readonly nextId: () => string;
|
|
88
|
+
readonly timestamp: number;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Create a trace context for a single compute pass
|
|
92
|
+
*/
|
|
93
|
+
export declare function createTraceContext(timestamp: number): TraceContext;
|
|
94
|
+
/**
|
|
95
|
+
* Create a trace node
|
|
96
|
+
*/
|
|
97
|
+
export declare function createTraceNode(trace: TraceContext, kind: TraceNodeKind, sourcePath: string, inputs: Record<string, unknown>, output: unknown, children?: TraceNode[]): TraceNode;
|
|
98
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/schema/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;EAUxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;EAAkD,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;iBAsCrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAMlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,QAAQ,GAAE,SAAS,EAAO,GACzB,SAAS,CAUX"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { generateTraceId } from "../utils/hash.js";
|
|
3
|
+
/**
|
|
4
|
+
* TraceNodeKind - Types of trace nodes
|
|
5
|
+
*/
|
|
6
|
+
export const TraceNodeKind = z.enum([
|
|
7
|
+
"expr", // Expression evaluation
|
|
8
|
+
"computed", // Computed field evaluation
|
|
9
|
+
"flow", // Flow execution
|
|
10
|
+
"patch", // State mutation
|
|
11
|
+
"effect", // Effect declaration
|
|
12
|
+
"branch", // Conditional branch taken
|
|
13
|
+
"call", // Flow call
|
|
14
|
+
"halt", // Normal termination
|
|
15
|
+
"error", // Error occurred
|
|
16
|
+
]);
|
|
17
|
+
export const TraceNode = z.lazy(() => z.object({
|
|
18
|
+
id: z.string(),
|
|
19
|
+
kind: TraceNodeKind,
|
|
20
|
+
sourcePath: z.string(),
|
|
21
|
+
inputs: z.record(z.string(), z.unknown()),
|
|
22
|
+
output: z.unknown(),
|
|
23
|
+
children: z.array(TraceNode),
|
|
24
|
+
timestamp: z.number(),
|
|
25
|
+
}));
|
|
26
|
+
/**
|
|
27
|
+
* TraceTermination - How the computation ended
|
|
28
|
+
*/
|
|
29
|
+
export const TraceTermination = z.enum(["complete", "effect", "halt", "error"]);
|
|
30
|
+
/**
|
|
31
|
+
* TraceGraph - Complete trace of a computation
|
|
32
|
+
*/
|
|
33
|
+
export const TraceGraph = z.object({
|
|
34
|
+
/**
|
|
35
|
+
* Root trace node
|
|
36
|
+
*/
|
|
37
|
+
root: TraceNode,
|
|
38
|
+
/**
|
|
39
|
+
* All nodes indexed by ID for quick lookup
|
|
40
|
+
*/
|
|
41
|
+
nodes: z.record(z.string(), TraceNode),
|
|
42
|
+
/**
|
|
43
|
+
* The intent that triggered this computation
|
|
44
|
+
*/
|
|
45
|
+
intent: z.object({
|
|
46
|
+
type: z.string(),
|
|
47
|
+
input: z.unknown(),
|
|
48
|
+
}),
|
|
49
|
+
/**
|
|
50
|
+
* Snapshot version at start
|
|
51
|
+
*/
|
|
52
|
+
baseVersion: z.number(),
|
|
53
|
+
/**
|
|
54
|
+
* Snapshot version at end
|
|
55
|
+
*/
|
|
56
|
+
resultVersion: z.number(),
|
|
57
|
+
/**
|
|
58
|
+
* Total computation time (ms)
|
|
59
|
+
*/
|
|
60
|
+
duration: z.number(),
|
|
61
|
+
/**
|
|
62
|
+
* Termination reason
|
|
63
|
+
*/
|
|
64
|
+
terminatedBy: TraceTermination,
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Create a trace context for a single compute pass
|
|
68
|
+
*/
|
|
69
|
+
export function createTraceContext(timestamp) {
|
|
70
|
+
let index = 0;
|
|
71
|
+
return {
|
|
72
|
+
timestamp,
|
|
73
|
+
nextId: () => generateTraceId(index++),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a trace node
|
|
78
|
+
*/
|
|
79
|
+
export function createTraceNode(trace, kind, sourcePath, inputs, output, children = []) {
|
|
80
|
+
return {
|
|
81
|
+
id: trace.nextId(),
|
|
82
|
+
kind,
|
|
83
|
+
sourcePath,
|
|
84
|
+
inputs,
|
|
85
|
+
output,
|
|
86
|
+
children,
|
|
87
|
+
timestamp: trace.timestamp,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/schema/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,MAAM,EAAM,wBAAwB;IACpC,UAAU,EAAE,4BAA4B;IACxC,MAAM,EAAM,iBAAiB;IAC7B,OAAO,EAAK,iBAAiB;IAC7B,QAAQ,EAAI,qBAAqB;IACjC,QAAQ,EAAI,2BAA2B;IACvC,MAAM,EAAM,YAAY;IACxB,MAAM,EAAM,qBAAqB;IACjC,OAAO,EAAK,iBAAiB;CAC9B,CAAC,CAAC;AA4CH,MAAM,CAAC,MAAM,SAAS,GAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,SAAS;IAEf;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;IAEtC;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;KACnB,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IAEvB;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IAEzB;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB;;OAEG;IACH,YAAY,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO;QACL,SAAS;QACT,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,IAAmB,EACnB,UAAkB,EAClB,MAA+B,EAC/B,MAAe,EACf,WAAwB,EAAE;IAE1B,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI;QACJ,UAAU;QACV,MAAM;QACN,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type TypeDefinition = {
|
|
3
|
+
kind: "primitive";
|
|
4
|
+
type: string;
|
|
5
|
+
} | {
|
|
6
|
+
kind: "array";
|
|
7
|
+
element: TypeDefinition;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "record";
|
|
10
|
+
key: TypeDefinition;
|
|
11
|
+
value: TypeDefinition;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "object";
|
|
14
|
+
fields: Record<string, {
|
|
15
|
+
type: TypeDefinition;
|
|
16
|
+
optional: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
} | {
|
|
19
|
+
kind: "union";
|
|
20
|
+
types: TypeDefinition[];
|
|
21
|
+
} | {
|
|
22
|
+
kind: "literal";
|
|
23
|
+
value: string | number | boolean | null;
|
|
24
|
+
} | {
|
|
25
|
+
kind: "ref";
|
|
26
|
+
name: string;
|
|
27
|
+
};
|
|
28
|
+
export declare const TypeDefinition: z.ZodType<TypeDefinition>;
|
|
29
|
+
export declare const TypeSpec: z.ZodObject<{
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
definition: z.ZodType<TypeDefinition, unknown, z.core.$ZodTypeInternals<TypeDefinition, unknown>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export type TypeSpec = z.infer<typeof TypeSpec>;
|
|
34
|
+
//# sourceMappingURL=type-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-spec.d.ts","sourceRoot":"","sources":["../../src/schema/type-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAsCpD,CAAC;AAEF,eAAO,MAAM,QAAQ;;;iBAGnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|