@proposit/proposit-core 2.3.1 → 2.4.1
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/dist/cli/builder-repl.d.ts +3 -0
- package/dist/cli/builder-repl.d.ts.map +1 -0
- package/dist/cli/builder-repl.js +174 -0
- package/dist/cli/builder-repl.js.map +1 -0
- package/dist/extensions/builder/distill.d.ts +38 -0
- package/dist/extensions/builder/distill.d.ts.map +1 -0
- package/dist/extensions/builder/distill.js +81 -0
- package/dist/extensions/builder/distill.js.map +1 -0
- package/dist/extensions/builder/index.d.ts +7 -0
- package/dist/extensions/builder/index.d.ts.map +1 -0
- package/dist/extensions/builder/index.js +11 -0
- package/dist/extensions/builder/index.js.map +1 -0
- package/dist/extensions/builder/review.d.ts +11 -0
- package/dist/extensions/builder/review.d.ts.map +1 -0
- package/dist/extensions/builder/review.js +32 -0
- package/dist/extensions/builder/review.js.map +1 -0
- package/dist/extensions/builder/simulate.d.ts +12 -0
- package/dist/extensions/builder/simulate.d.ts.map +1 -0
- package/dist/extensions/builder/simulate.js +33 -0
- package/dist/extensions/builder/simulate.js.map +1 -0
- package/dist/extensions/openai/provider.d.ts.map +1 -1
- package/dist/extensions/openai/provider.js +3 -0
- package/dist/extensions/openai/provider.js.map +1 -1
- package/dist/extensions/openai/types.d.ts +2 -0
- package/dist/extensions/openai/types.d.ts.map +1 -1
- package/dist/lib/conversation/contract.d.ts +16 -0
- package/dist/lib/conversation/contract.d.ts.map +1 -0
- package/dist/lib/conversation/contract.js +9 -0
- package/dist/lib/conversation/contract.js.map +1 -0
- package/dist/lib/conversation/conversation.d.ts +43 -0
- package/dist/lib/conversation/conversation.d.ts.map +1 -0
- package/dist/lib/conversation/conversation.js +65 -0
- package/dist/lib/conversation/conversation.js.map +1 -0
- package/dist/lib/conversation/index.d.ts +8 -0
- package/dist/lib/conversation/index.d.ts.map +1 -0
- package/dist/lib/conversation/index.js +7 -0
- package/dist/lib/conversation/index.js.map +1 -0
- package/dist/lib/conversation/turn.d.ts +55 -0
- package/dist/lib/conversation/turn.d.ts.map +1 -0
- package/dist/lib/conversation/turn.js +112 -0
- package/dist/lib/conversation/turn.js.map +1 -0
- package/dist/lib/core/expression-manager-checks.d.ts +73 -0
- package/dist/lib/core/expression-manager-checks.d.ts.map +1 -0
- package/dist/lib/core/expression-manager-checks.js +355 -0
- package/dist/lib/core/expression-manager-checks.js.map +1 -0
- package/dist/lib/core/expression-manager-dirty-set.d.ts +21 -0
- package/dist/lib/core/expression-manager-dirty-set.d.ts.map +1 -0
- package/dist/lib/core/expression-manager-dirty-set.js +93 -0
- package/dist/lib/core/expression-manager-dirty-set.js.map +1 -0
- package/dist/lib/core/expression-manager-invariants.d.ts +14 -0
- package/dist/lib/core/expression-manager-invariants.d.ts.map +1 -0
- package/dist/lib/core/expression-manager-invariants.js +171 -0
- package/dist/lib/core/expression-manager-invariants.js.map +1 -0
- package/dist/lib/core/expression-manager.d.ts +2 -3
- package/dist/lib/core/expression-manager.d.ts.map +1 -1
- package/dist/lib/core/expression-manager.js +18 -523
- package/dist/lib/core/expression-manager.js.map +1 -1
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +6 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/llm/index.d.ts +1 -1
- package/dist/lib/llm/index.d.ts.map +1 -1
- package/dist/lib/llm/types.d.ts +13 -0
- package/dist/lib/llm/types.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.js +13 -5
- package/dist/lib/parsing/prompt-builder.js.map +1 -1
- package/dist/lib/pipelines/index.d.ts +4 -2
- package/dist/lib/pipelines/index.d.ts.map +1 -1
- package/dist/lib/pipelines/index.js +2 -1
- package/dist/lib/pipelines/index.js.map +1 -1
- package/dist/lib/pipelines/llm-stage-helpers.d.ts +126 -0
- package/dist/lib/pipelines/llm-stage-helpers.d.ts.map +1 -0
- package/dist/lib/pipelines/llm-stage-helpers.js +567 -0
- package/dist/lib/pipelines/llm-stage-helpers.js.map +1 -0
- package/dist/lib/pipelines/scheduler.d.ts +62 -0
- package/dist/lib/pipelines/scheduler.d.ts.map +1 -0
- package/dist/lib/pipelines/{execute.js → scheduler.js} +8 -325
- package/dist/lib/pipelines/scheduler.js.map +1 -0
- package/dist/lib/pipelines/{execute.d.ts → single-stage.d.ts} +2 -22
- package/dist/lib/pipelines/{execute.d.ts.map → single-stage.d.ts.map} +1 -1
- package/dist/lib/pipelines/single-stage.js +333 -0
- package/dist/lib/pipelines/single-stage.js.map +1 -0
- package/dist/lib/pipelines/stage-helpers.d.ts +4 -123
- package/dist/lib/pipelines/stage-helpers.d.ts.map +1 -1
- package/dist/lib/pipelines/stage-helpers.js +28 -567
- package/dist/lib/pipelines/stage-helpers.js.map +1 -1
- package/package.json +13 -3
- package/dist/lib/pipelines/execute.js.map +0 -1
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { CorePropositionalExpressionSchema } from "../schemata/index.js";
|
|
2
|
+
import { Value } from "typebox/value";
|
|
3
|
+
import { EXPR_SCHEMA_INVALID, EXPR_DUPLICATE_ID, EXPR_SELF_REFERENTIAL_PARENT, EXPR_PARENT_NOT_FOUND, EXPR_PARENT_NOT_CONTAINER, EXPR_ROOT_ONLY_VIOLATED, EXPR_CHILD_LIMIT_EXCEEDED, EXPR_POSITION_DUPLICATE, EXPR_CHECKSUM_MISMATCH, } from "../types/validation.js";
|
|
4
|
+
import { flushExpressionChecksums } from "./expression-manager-dirty-set.js";
|
|
5
|
+
/**
|
|
6
|
+
* Performs a comprehensive validation sweep on all managed expressions.
|
|
7
|
+
*
|
|
8
|
+
* Collects ALL violations rather than failing on the first one. Checks:
|
|
9
|
+
* schema validity, duplicate IDs, self-referential parents, parent
|
|
10
|
+
* existence, parent container type, root-only operators, child limits,
|
|
11
|
+
* position uniqueness, and checksum integrity.
|
|
12
|
+
*/
|
|
13
|
+
export function validateExpressionManagerInvariants(expressions, childExpressionIdsByParentId, dirtyExpressionIds, config, collector) {
|
|
14
|
+
const violations = [];
|
|
15
|
+
const seenIds = new Set();
|
|
16
|
+
// ── 1. Save pre-flush checksums for later comparison ──
|
|
17
|
+
const preFlushChecksums = new Map();
|
|
18
|
+
for (const [id, expr] of expressions) {
|
|
19
|
+
if (expr.checksum != null) {
|
|
20
|
+
preFlushChecksums.set(id, {
|
|
21
|
+
checksum: expr.checksum,
|
|
22
|
+
descendantChecksum: expr.descendantChecksum,
|
|
23
|
+
combinedChecksum: expr.combinedChecksum,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// ── 2. Flush checksums to get fresh values ──
|
|
28
|
+
// Mark all expressions dirty so flush recomputes everything
|
|
29
|
+
for (const id of expressions.keys()) {
|
|
30
|
+
dirtyExpressionIds.add(id);
|
|
31
|
+
}
|
|
32
|
+
flushExpressionChecksums(dirtyExpressionIds, expressions, childExpressionIdsByParentId, config, collector);
|
|
33
|
+
// ── 3. Per-expression checks ──
|
|
34
|
+
// Build a sibling-position map for position uniqueness checks
|
|
35
|
+
const positionsByParent = new Map();
|
|
36
|
+
for (const [id, expr] of expressions) {
|
|
37
|
+
// 3a. Schema check
|
|
38
|
+
if (!Value.Check(CorePropositionalExpressionSchema, expr)) {
|
|
39
|
+
violations.push({
|
|
40
|
+
code: EXPR_SCHEMA_INVALID,
|
|
41
|
+
message: `Expression "${id}" does not conform to CorePropositionalExpressionSchema.`,
|
|
42
|
+
entityType: "expression",
|
|
43
|
+
entityId: id,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// 3b. Duplicate ID
|
|
47
|
+
if (seenIds.has(id)) {
|
|
48
|
+
violations.push({
|
|
49
|
+
code: EXPR_DUPLICATE_ID,
|
|
50
|
+
message: `Duplicate expression ID "${id}".`,
|
|
51
|
+
entityType: "expression",
|
|
52
|
+
entityId: id,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
seenIds.add(id);
|
|
56
|
+
// 3c. Self-referential parent
|
|
57
|
+
if (expr.parentId === id) {
|
|
58
|
+
violations.push({
|
|
59
|
+
code: EXPR_SELF_REFERENTIAL_PARENT,
|
|
60
|
+
message: `Expression "${id}" references itself as parent.`,
|
|
61
|
+
entityType: "expression",
|
|
62
|
+
entityId: id,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// 3d. Parent existence
|
|
66
|
+
if (expr.parentId !== null && !expressions.has(expr.parentId)) {
|
|
67
|
+
violations.push({
|
|
68
|
+
code: EXPR_PARENT_NOT_FOUND,
|
|
69
|
+
message: `Expression "${id}" references non-existent parent "${expr.parentId}".`,
|
|
70
|
+
entityType: "expression",
|
|
71
|
+
entityId: id,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// 3e. Parent is container (operator or formula)
|
|
75
|
+
if (expr.parentId !== null && expressions.has(expr.parentId)) {
|
|
76
|
+
const parent = expressions.get(expr.parentId);
|
|
77
|
+
if (parent.type !== "operator" && parent.type !== "formula") {
|
|
78
|
+
violations.push({
|
|
79
|
+
code: EXPR_PARENT_NOT_CONTAINER,
|
|
80
|
+
message: `Expression "${id}" has parent "${expr.parentId}" of type "${parent.type}" (expected operator or formula).`,
|
|
81
|
+
entityType: "expression",
|
|
82
|
+
entityId: id,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// 3f. Root-only: implies/iff must have parentId === null
|
|
87
|
+
if (expr.type === "operator" &&
|
|
88
|
+
(expr.operator === "implies" || expr.operator === "iff") &&
|
|
89
|
+
expr.parentId !== null) {
|
|
90
|
+
violations.push({
|
|
91
|
+
code: EXPR_ROOT_ONLY_VIOLATED,
|
|
92
|
+
message: `Root-only operator "${expr.operator}" expression "${id}" has non-null parentId "${expr.parentId}".`,
|
|
93
|
+
entityType: "expression",
|
|
94
|
+
entityId: id,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// The pre-v1.0 3g `EXPR_FORMULA_BETWEEN_OPERATORS_VIOLATED`
|
|
98
|
+
// legacy-validate() check (gated on
|
|
99
|
+
// `grammarConfig.enforceFormulaBetweenOperators`) is gone.
|
|
100
|
+
// P-1 is now surfaced via the grammar-tier validators —
|
|
101
|
+
// call `engine.validate('presentable')` and look for the
|
|
102
|
+
// `P-1` code. The `EXPR_FORMULA_BETWEEN_OPERATORS_VIOLATED`
|
|
103
|
+
// engine-error constant is gone in lockstep.
|
|
104
|
+
// Collect positions for uniqueness check
|
|
105
|
+
const parentKey = expr.parentId;
|
|
106
|
+
let parentPositions = positionsByParent.get(parentKey);
|
|
107
|
+
if (!parentPositions) {
|
|
108
|
+
parentPositions = new Map();
|
|
109
|
+
positionsByParent.set(parentKey, parentPositions);
|
|
110
|
+
}
|
|
111
|
+
const idsAtPosition = parentPositions.get(expr.position);
|
|
112
|
+
if (idsAtPosition) {
|
|
113
|
+
idsAtPosition.push(id);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
parentPositions.set(expr.position, [id]);
|
|
117
|
+
}
|
|
118
|
+
// 3j. Checksum comparison
|
|
119
|
+
const pre = preFlushChecksums.get(id);
|
|
120
|
+
if (pre) {
|
|
121
|
+
const fresh = expressions.get(id);
|
|
122
|
+
if (pre.checksum !== fresh.checksum ||
|
|
123
|
+
pre.descendantChecksum !== fresh.descendantChecksum ||
|
|
124
|
+
pre.combinedChecksum !== fresh.combinedChecksum) {
|
|
125
|
+
violations.push({
|
|
126
|
+
code: EXPR_CHECKSUM_MISMATCH,
|
|
127
|
+
message: `Expression "${id}" checksum mismatch: stored does not match recomputed.`,
|
|
128
|
+
entityType: "expression",
|
|
129
|
+
entityId: id,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// ── 4. Child limit checks (not/formula: max 1 child) ──
|
|
135
|
+
for (const [id, expr] of expressions) {
|
|
136
|
+
if ((expr.type === "operator" && expr.operator === "not") ||
|
|
137
|
+
expr.type === "formula") {
|
|
138
|
+
const childIds = childExpressionIdsByParentId.get(id);
|
|
139
|
+
const childCount = childIds?.size ?? 0;
|
|
140
|
+
if (childCount > 1) {
|
|
141
|
+
const label = expr.type === "formula" ? "Formula" : `Operator "not"`;
|
|
142
|
+
violations.push({
|
|
143
|
+
code: EXPR_CHILD_LIMIT_EXCEEDED,
|
|
144
|
+
message: `${label} expression "${id}" has ${childCount} children (max 1).`,
|
|
145
|
+
entityType: "expression",
|
|
146
|
+
entityId: id,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ── 5. Position uniqueness ──
|
|
152
|
+
for (const [, posMap] of positionsByParent) {
|
|
153
|
+
for (const [position, ids] of posMap) {
|
|
154
|
+
if (ids.length > 1) {
|
|
155
|
+
for (const id of ids) {
|
|
156
|
+
violations.push({
|
|
157
|
+
code: EXPR_POSITION_DUPLICATE,
|
|
158
|
+
message: `Position ${position} is shared by expressions [${ids.join(", ")}].`,
|
|
159
|
+
entityType: "expression",
|
|
160
|
+
entityId: id,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
ok: violations.length === 0,
|
|
168
|
+
violations,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=expression-manager-invariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression-manager-invariants.js","sourceRoot":"","sources":["../../../src/lib/core/expression-manager-invariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -300,9 +300,8 @@ export declare class ExpressionManager<TExpr extends TCorePropositionalExpressio
|
|
|
300
300
|
*
|
|
301
301
|
* Collects ALL violations rather than failing on the first one. Checks:
|
|
302
302
|
* schema validity, duplicate IDs, self-referential parents, parent
|
|
303
|
-
* existence, parent container type, root-only operators,
|
|
304
|
-
*
|
|
305
|
-
* checksum integrity.
|
|
303
|
+
* existence, parent container type, root-only operators, child limits,
|
|
304
|
+
* position uniqueness, and checksum integrity.
|
|
306
305
|
*/
|
|
307
306
|
validate(): TInvariantValidationResult;
|
|
308
307
|
/** Returns a serializable snapshot of the current state. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,wBAAwB,EACxB,4BAA4B,EAC/B,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"expression-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"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"}
|