@polintpro/proposit-core 0.4.0 → 0.5.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/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +13 -70
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/variables.d.ts.map +1 -1
- package/dist/cli/commands/variables.js +3 -0
- package/dist/cli/commands/variables.js.map +1 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +10 -15
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +7 -1
- package/dist/cli/import.js.map +1 -1
- package/dist/extensions/ieee/source.d.ts +2 -2
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +13 -2
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +33 -33
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +37 -104
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/assertion-library.d.ts +27 -0
- package/dist/lib/core/assertion-library.d.ts.map +1 -0
- package/dist/lib/core/assertion-library.js +129 -0
- package/dist/lib/core/assertion-library.js.map +1 -0
- package/dist/lib/core/change-collector.d.ts +3 -11
- package/dist/lib/core/change-collector.d.ts.map +1 -1
- package/dist/lib/core/change-collector.js +0 -14
- package/dist/lib/core/change-collector.js.map +1 -1
- package/dist/lib/core/diff.d.ts +5 -7
- package/dist/lib/core/diff.d.ts.map +1 -1
- package/dist/lib/core/diff.js +31 -10
- package/dist/lib/core/diff.js.map +1 -1
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +26 -22
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
- package/dist/lib/core/interfaces/index.d.ts +1 -0
- package/dist/lib/core/interfaces/index.d.ts.map +1 -1
- package/dist/lib/core/interfaces/library.interfaces.d.ts +19 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/library.interfaces.js +2 -0
- package/dist/lib/core/interfaces/library.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +17 -16
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts +19 -66
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.d.ts +15 -15
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +2 -15
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/source-library.d.ts +27 -0
- package/dist/lib/core/source-library.d.ts.map +1 -0
- package/dist/lib/core/source-library.js +129 -0
- package/dist/lib/core/source-library.js.map +1 -0
- package/dist/lib/core/source-manager.d.ts +12 -83
- package/dist/lib/core/source-manager.d.ts.map +1 -1
- package/dist/lib/core/source-manager.js +37 -191
- package/dist/lib/core/source-manager.js.map +1 -1
- package/dist/lib/index.d.ts +4 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/assertion.d.ts +9 -0
- package/dist/lib/schemata/assertion.d.ts.map +1 -0
- package/dist/lib/schemata/assertion.js +18 -0
- package/dist/lib/schemata/assertion.js.map +1 -0
- package/dist/lib/schemata/index.d.ts +1 -0
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +1 -0
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +2 -0
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +5 -1
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/schemata/source.d.ts +4 -2
- package/dist/lib/schemata/source.d.ts.map +1 -1
- package/dist/lib/schemata/source.js +13 -3
- package/dist/lib/schemata/source.js.map +1 -1
- package/dist/lib/types/checksum.d.ts +3 -1
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/diff.d.ts +3 -5
- package/dist/lib/types/diff.d.ts.map +1 -1
- package/dist/lib/types/mutation.d.ts +4 -5
- package/dist/lib/types/mutation.d.ts.map +1 -1
- package/dist/lib/types/reactive.d.ts +2 -3
- package/dist/lib/types/reactive.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
|
|
2
|
+
import { entityChecksum } from "./checksum.js";
|
|
3
|
+
export class AssertionLibrary {
|
|
4
|
+
entities;
|
|
5
|
+
checksumConfig;
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.entities = new Map();
|
|
8
|
+
this.checksumConfig = options?.checksumConfig;
|
|
9
|
+
}
|
|
10
|
+
create(assertion) {
|
|
11
|
+
if (this.entities.has(assertion.id)) {
|
|
12
|
+
throw new Error(`Assertion with ID "${assertion.id}" already exists.`);
|
|
13
|
+
}
|
|
14
|
+
const full = {
|
|
15
|
+
...assertion,
|
|
16
|
+
version: 0,
|
|
17
|
+
frozen: false,
|
|
18
|
+
checksum: "",
|
|
19
|
+
};
|
|
20
|
+
full.checksum = this.computeChecksum(full);
|
|
21
|
+
const versions = new Map();
|
|
22
|
+
versions.set(0, full);
|
|
23
|
+
this.entities.set(full.id, versions);
|
|
24
|
+
return full;
|
|
25
|
+
}
|
|
26
|
+
update(id, updates) {
|
|
27
|
+
const versions = this.entities.get(id);
|
|
28
|
+
if (!versions) {
|
|
29
|
+
throw new Error(`Assertion "${id}" does not exist.`);
|
|
30
|
+
}
|
|
31
|
+
const maxVersion = this.maxVersion(versions);
|
|
32
|
+
const current = versions.get(maxVersion);
|
|
33
|
+
if (current.frozen) {
|
|
34
|
+
throw new Error(`Assertion "${id}" version ${maxVersion} is frozen and cannot be updated.`);
|
|
35
|
+
}
|
|
36
|
+
const updated = {
|
|
37
|
+
...current,
|
|
38
|
+
...updates,
|
|
39
|
+
id: current.id,
|
|
40
|
+
version: current.version,
|
|
41
|
+
frozen: current.frozen,
|
|
42
|
+
checksum: "",
|
|
43
|
+
};
|
|
44
|
+
updated.checksum = this.computeChecksum(updated);
|
|
45
|
+
versions.set(maxVersion, updated);
|
|
46
|
+
return updated;
|
|
47
|
+
}
|
|
48
|
+
freeze(id) {
|
|
49
|
+
const versions = this.entities.get(id);
|
|
50
|
+
if (!versions) {
|
|
51
|
+
throw new Error(`Assertion "${id}" does not exist.`);
|
|
52
|
+
}
|
|
53
|
+
const maxVersion = this.maxVersion(versions);
|
|
54
|
+
const current = versions.get(maxVersion);
|
|
55
|
+
if (current.frozen) {
|
|
56
|
+
throw new Error(`Assertion "${id}" version ${maxVersion} is already frozen.`);
|
|
57
|
+
}
|
|
58
|
+
const frozenEntity = {
|
|
59
|
+
...current,
|
|
60
|
+
frozen: true,
|
|
61
|
+
checksum: "",
|
|
62
|
+
};
|
|
63
|
+
frozenEntity.checksum = this.computeChecksum(frozenEntity);
|
|
64
|
+
versions.set(maxVersion, frozenEntity);
|
|
65
|
+
const nextVersion = maxVersion + 1;
|
|
66
|
+
const nextEntity = {
|
|
67
|
+
...current,
|
|
68
|
+
version: nextVersion,
|
|
69
|
+
frozen: false,
|
|
70
|
+
checksum: "",
|
|
71
|
+
};
|
|
72
|
+
nextEntity.checksum = this.computeChecksum(nextEntity);
|
|
73
|
+
versions.set(nextVersion, nextEntity);
|
|
74
|
+
return { frozen: frozenEntity, current: nextEntity };
|
|
75
|
+
}
|
|
76
|
+
get(id, version) {
|
|
77
|
+
return this.entities.get(id)?.get(version);
|
|
78
|
+
}
|
|
79
|
+
getCurrent(id) {
|
|
80
|
+
const versions = this.entities.get(id);
|
|
81
|
+
if (!versions)
|
|
82
|
+
return undefined;
|
|
83
|
+
return versions.get(this.maxVersion(versions));
|
|
84
|
+
}
|
|
85
|
+
getAll() {
|
|
86
|
+
const result = [];
|
|
87
|
+
for (const versions of this.entities.values()) {
|
|
88
|
+
for (const entity of versions.values()) {
|
|
89
|
+
result.push(entity);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
getVersions(id) {
|
|
95
|
+
const versions = this.entities.get(id);
|
|
96
|
+
if (!versions)
|
|
97
|
+
return [];
|
|
98
|
+
return Array.from(versions.values()).sort((a, b) => a.version - b.version);
|
|
99
|
+
}
|
|
100
|
+
snapshot() {
|
|
101
|
+
return { assertions: this.getAll() };
|
|
102
|
+
}
|
|
103
|
+
static fromSnapshot(snapshot, options) {
|
|
104
|
+
const lib = new AssertionLibrary(options);
|
|
105
|
+
for (const entity of snapshot.assertions) {
|
|
106
|
+
let versions = lib.entities.get(entity.id);
|
|
107
|
+
if (!versions) {
|
|
108
|
+
versions = new Map();
|
|
109
|
+
lib.entities.set(entity.id, versions);
|
|
110
|
+
}
|
|
111
|
+
versions.set(entity.version, entity);
|
|
112
|
+
}
|
|
113
|
+
return lib;
|
|
114
|
+
}
|
|
115
|
+
maxVersion(versions) {
|
|
116
|
+
let max = -1;
|
|
117
|
+
for (const v of versions.keys()) {
|
|
118
|
+
if (v > max)
|
|
119
|
+
max = v;
|
|
120
|
+
}
|
|
121
|
+
return max;
|
|
122
|
+
}
|
|
123
|
+
computeChecksum(entity) {
|
|
124
|
+
const fields = this.checksumConfig?.assertionFields ??
|
|
125
|
+
DEFAULT_CHECKSUM_CONFIG.assertionFields;
|
|
126
|
+
return entityChecksum(entity, fields);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=assertion-library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertion-library.js","sourceRoot":"","sources":["../../../src/lib/core/assertion-library.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import type { TCorePremise } from "../schemata/index.js";
|
|
2
2
|
import type { TCoreArgument, TCoreArgumentRoleState } from "../schemata/argument.js";
|
|
3
3
|
import type { TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/propositional.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../schemata/source.js";
|
|
5
5
|
import type { TCoreChangeset } from "../types/mutation.js";
|
|
6
|
-
|
|
7
|
-
* Internal collector used during a single mutation to accumulate all
|
|
8
|
-
* side-effect changes. Created at the start of a public mutating method,
|
|
9
|
-
* populated by internal helpers, and consumed via toChangeset().
|
|
10
|
-
*/
|
|
11
|
-
export declare class ChangeCollector<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TArg extends TCoreArgument = TCoreArgument, TSource extends TCoreSource = TCoreSource> {
|
|
6
|
+
export declare class ChangeCollector<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TArg extends TCoreArgument = TCoreArgument> {
|
|
12
7
|
private expressions;
|
|
13
8
|
private variables;
|
|
14
9
|
private premises;
|
|
15
10
|
private roles;
|
|
16
11
|
private argument;
|
|
17
|
-
private sources;
|
|
18
12
|
private variableSourceAssociations;
|
|
19
13
|
private expressionSourceAssociations;
|
|
20
14
|
addedExpression(expr: TExpr): void;
|
|
@@ -27,12 +21,10 @@ export declare class ChangeCollector<TExpr extends TCorePropositionalExpression
|
|
|
27
21
|
removedPremise(premise: TPremise): void;
|
|
28
22
|
setRoles(roles: TCoreArgumentRoleState): void;
|
|
29
23
|
setArgument(argument: TArg): void;
|
|
30
|
-
addedSource(source: TSource): void;
|
|
31
|
-
removedSource(source: TSource): void;
|
|
32
24
|
addedVariableSourceAssociation(assoc: TCoreVariableSourceAssociation): void;
|
|
33
25
|
removedVariableSourceAssociation(assoc: TCoreVariableSourceAssociation): void;
|
|
34
26
|
addedExpressionSourceAssociation(assoc: TCoreExpressionSourceAssociation): void;
|
|
35
27
|
removedExpressionSourceAssociation(assoc: TCoreExpressionSourceAssociation): void;
|
|
36
|
-
toChangeset(): TCoreChangeset<TExpr, TVar, TPremise, TArg
|
|
28
|
+
toChangeset(): TCoreChangeset<TExpr, TVar, TPremise, TArg>;
|
|
37
29
|
}
|
|
38
30
|
//# sourceMappingURL=change-collector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-collector.d.ts","sourceRoot":"","sources":["../../../src/lib/core/change-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACR,aAAa,EACb,sBAAsB,EACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACR,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EACR,
|
|
1
|
+
{"version":3,"file":"change-collector.d.ts","sourceRoot":"","sources":["../../../src/lib/core/change-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACR,aAAa,EACb,sBAAsB,EACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACR,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EACR,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAc9E,qBAAa,eAAe,CACxB,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,IAAI,SAAS,aAAa,GAAG,aAAa;IAE1C,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,0BAA0B,CACV;IACxB,OAAO,CAAC,4BAA4B,CACZ;IAExB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAGlC,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAGrC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAIpC,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAGnC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAGtC,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIrC,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAGrC,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAIvC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAI7C,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIjC,8BAA8B,CAC1B,KAAK,EAAE,8BAA8B,GACtC,IAAI;IAGP,gCAAgC,CAC5B,KAAK,EAAE,8BAA8B,GACtC,IAAI;IAIP,gCAAgC,CAC5B,KAAK,EAAE,gCAAgC,GACxC,IAAI;IAGP,kCAAkC,CAC9B,KAAK,EAAE,gCAAgC,GACxC,IAAI;IAIP,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;CAc7D"}
|
|
@@ -6,18 +6,12 @@ function isEntityChangesEmpty(ec) {
|
|
|
6
6
|
ec.modified.length === 0 &&
|
|
7
7
|
ec.removed.length === 0);
|
|
8
8
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Internal collector used during a single mutation to accumulate all
|
|
11
|
-
* side-effect changes. Created at the start of a public mutating method,
|
|
12
|
-
* populated by internal helpers, and consumed via toChangeset().
|
|
13
|
-
*/
|
|
14
9
|
export class ChangeCollector {
|
|
15
10
|
expressions = emptyEntityChanges();
|
|
16
11
|
variables = emptyEntityChanges();
|
|
17
12
|
premises = emptyEntityChanges();
|
|
18
13
|
roles = undefined;
|
|
19
14
|
argument = undefined;
|
|
20
|
-
sources = emptyEntityChanges();
|
|
21
15
|
variableSourceAssociations = emptyEntityChanges();
|
|
22
16
|
expressionSourceAssociations = emptyEntityChanges();
|
|
23
17
|
addedExpression(expr) {
|
|
@@ -50,12 +44,6 @@ export class ChangeCollector {
|
|
|
50
44
|
setArgument(argument) {
|
|
51
45
|
this.argument = argument;
|
|
52
46
|
}
|
|
53
|
-
addedSource(source) {
|
|
54
|
-
this.sources.added.push(source);
|
|
55
|
-
}
|
|
56
|
-
removedSource(source) {
|
|
57
|
-
this.sources.removed.push(source);
|
|
58
|
-
}
|
|
59
47
|
addedVariableSourceAssociation(assoc) {
|
|
60
48
|
this.variableSourceAssociations.added.push(assoc);
|
|
61
49
|
}
|
|
@@ -80,8 +68,6 @@ export class ChangeCollector {
|
|
|
80
68
|
cs.roles = this.roles;
|
|
81
69
|
if (this.argument !== undefined)
|
|
82
70
|
cs.argument = this.argument;
|
|
83
|
-
if (!isEntityChangesEmpty(this.sources))
|
|
84
|
-
cs.sources = this.sources;
|
|
85
71
|
if (!isEntityChangesEmpty(this.variableSourceAssociations))
|
|
86
72
|
cs.variableSourceAssociations = this.variableSourceAssociations;
|
|
87
73
|
if (!isEntityChangesEmpty(this.expressionSourceAssociations))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-collector.js","sourceRoot":"","sources":["../../../src/lib/core/change-collector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"change-collector.js","sourceRoot":"","sources":["../../../src/lib/core/change-collector.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/core/diff.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable,
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../schemata/index.js";
|
|
2
2
|
import type { TCoreArgumentDiff, TCoreDiffOptions, TCoreFieldChange } from "../types/diff.js";
|
|
3
3
|
import type { ArgumentEngine } from "./argument-engine.js";
|
|
4
4
|
/** Compares two argument objects. Core argument only has identity fields (id, version), so no diffable fields. */
|
|
5
5
|
export declare function defaultCompareArgument(_before: TCoreArgument, _after: TCoreArgument): TCoreFieldChange[];
|
|
6
|
-
/** Compares two variables and returns field-level changes for `symbol`. */
|
|
6
|
+
/** Compares two variables and returns field-level changes for `symbol`, `assertionId`, and `assertionVersion`. */
|
|
7
7
|
export declare function defaultCompareVariable(before: TCorePropositionalVariable, after: TCorePropositionalVariable): TCoreFieldChange[];
|
|
8
8
|
/** Compares two premises and returns field-level changes. Base premise has no diffable fields beyond identity. */
|
|
9
9
|
export declare function defaultComparePremise(_before: TCorePremise, _after: TCorePremise): TCoreFieldChange[];
|
|
10
|
-
/** Compares two
|
|
11
|
-
export declare function defaultCompareSource(_before: TCoreSource, _after: TCoreSource): TCoreFieldChange[];
|
|
12
|
-
/** Compares two variable-source associations and returns field-level changes for `sourceId` and `variableId`. */
|
|
10
|
+
/** Compares two variable-source associations and returns field-level changes for `sourceId`, `sourceVersion`, and `variableId`. */
|
|
13
11
|
export declare function defaultCompareVariableSourceAssociation(before: TCoreVariableSourceAssociation, after: TCoreVariableSourceAssociation): TCoreFieldChange[];
|
|
14
|
-
/** Compares two expression-source associations and returns field-level changes for `sourceId`, `expressionId`, and `premiseId`. */
|
|
12
|
+
/** Compares two expression-source associations and returns field-level changes for `sourceId`, `sourceVersion`, `expressionId`, and `premiseId`. */
|
|
15
13
|
export declare function defaultCompareExpressionSourceAssociation(before: TCoreExpressionSourceAssociation, after: TCoreExpressionSourceAssociation): TCoreFieldChange[];
|
|
16
14
|
/** Compares two expressions and returns field-level changes for structural fields (`type`, `parentId`, `position`, `variableId`, `operator`). */
|
|
17
15
|
export declare function defaultCompareExpression(before: TCorePropositionalExpression, after: TCorePropositionalExpression): TCoreFieldChange[];
|
|
@@ -22,5 +20,5 @@ export declare function defaultCompareExpression(before: TCorePropositionalExpre
|
|
|
22
20
|
* diffs), and role assignments. Uses pluggable comparators that default to
|
|
23
21
|
* the `defaultCompare*` functions.
|
|
24
22
|
*/
|
|
25
|
-
export declare function diffArguments<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable
|
|
23
|
+
export declare function diffArguments<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(engineA: ArgumentEngine<TArg, TPremise, TExpr, TVar>, engineB: ArgumentEngine<TArg, TPremise, TExpr, TVar>, options?: TCoreDiffOptions<TArg, TVar, TPremise, TExpr>): TCoreArgumentDiff<TArg, TVar, TPremise, TExpr>;
|
|
26
24
|
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/lib/core/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/lib/core/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACR,iBAAiB,EACjB,gBAAgB,EAGhB,gBAAgB,EAKnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,kHAAkH;AAClH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,aAAa,GACtB,gBAAgB,EAAE,CAEpB;AAED,kHAAkH;AAClH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,0BAA0B,EAClC,KAAK,EAAE,0BAA0B,GAClC,gBAAgB,EAAE,CAwBpB;AAED,kHAAkH;AAClH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,GACrB,gBAAgB,EAAE,CAEpB;AAED,mIAAmI;AACnI,wBAAgB,uCAAuC,CACnD,MAAM,EAAE,8BAA8B,EACtC,KAAK,EAAE,8BAA8B,GACtC,gBAAgB,EAAE,CAwBpB;AAED,oJAAoJ;AACpJ,wBAAgB,yCAAyC,CACrD,MAAM,EAAE,gCAAgC,EACxC,KAAK,EAAE,gCAAgC,GACxC,gBAAgB,EAAE,CA+BpB;AAED,iJAAiJ;AACjJ,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,4BAA4B,EACpC,KAAK,EAAE,4BAA4B,GACpC,gBAAgB,EAAE,CA0CpB;AA4HD;;;;;;GAMG;AACH,wBAAgB,aAAa,CACzB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EAEpE,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EACpD,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GACxD,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAuEhD"}
|
package/dist/lib/core/diff.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export function defaultCompareArgument(_before, _after) {
|
|
3
3
|
return [];
|
|
4
4
|
}
|
|
5
|
-
/** Compares two variables and returns field-level changes for `symbol`. */
|
|
5
|
+
/** Compares two variables and returns field-level changes for `symbol`, `assertionId`, and `assertionVersion`. */
|
|
6
6
|
export function defaultCompareVariable(before, after) {
|
|
7
7
|
const changes = [];
|
|
8
8
|
if (before.symbol !== after.symbol) {
|
|
@@ -12,17 +12,27 @@ export function defaultCompareVariable(before, after) {
|
|
|
12
12
|
after: after.symbol,
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
+
if (before.assertionId !== after.assertionId) {
|
|
16
|
+
changes.push({
|
|
17
|
+
field: "assertionId",
|
|
18
|
+
before: before.assertionId,
|
|
19
|
+
after: after.assertionId,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (before.assertionVersion !== after.assertionVersion) {
|
|
23
|
+
changes.push({
|
|
24
|
+
field: "assertionVersion",
|
|
25
|
+
before: before.assertionVersion,
|
|
26
|
+
after: after.assertionVersion,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
15
29
|
return changes;
|
|
16
30
|
}
|
|
17
31
|
/** Compares two premises and returns field-level changes. Base premise has no diffable fields beyond identity. */
|
|
18
32
|
export function defaultComparePremise(_before, _after) {
|
|
19
33
|
return [];
|
|
20
34
|
}
|
|
21
|
-
/** Compares two
|
|
22
|
-
export function defaultCompareSource(_before, _after) {
|
|
23
|
-
return [];
|
|
24
|
-
}
|
|
25
|
-
/** Compares two variable-source associations and returns field-level changes for `sourceId` and `variableId`. */
|
|
35
|
+
/** Compares two variable-source associations and returns field-level changes for `sourceId`, `sourceVersion`, and `variableId`. */
|
|
26
36
|
export function defaultCompareVariableSourceAssociation(before, after) {
|
|
27
37
|
const changes = [];
|
|
28
38
|
if (before.sourceId !== after.sourceId) {
|
|
@@ -32,6 +42,13 @@ export function defaultCompareVariableSourceAssociation(before, after) {
|
|
|
32
42
|
after: after.sourceId,
|
|
33
43
|
});
|
|
34
44
|
}
|
|
45
|
+
if (before.sourceVersion !== after.sourceVersion) {
|
|
46
|
+
changes.push({
|
|
47
|
+
field: "sourceVersion",
|
|
48
|
+
before: before.sourceVersion,
|
|
49
|
+
after: after.sourceVersion,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
35
52
|
if (before.variableId !== after.variableId) {
|
|
36
53
|
changes.push({
|
|
37
54
|
field: "variableId",
|
|
@@ -41,7 +58,7 @@ export function defaultCompareVariableSourceAssociation(before, after) {
|
|
|
41
58
|
}
|
|
42
59
|
return changes;
|
|
43
60
|
}
|
|
44
|
-
/** Compares two expression-source associations and returns field-level changes for `sourceId`, `expressionId`, and `premiseId`. */
|
|
61
|
+
/** Compares two expression-source associations and returns field-level changes for `sourceId`, `sourceVersion`, `expressionId`, and `premiseId`. */
|
|
45
62
|
export function defaultCompareExpressionSourceAssociation(before, after) {
|
|
46
63
|
const changes = [];
|
|
47
64
|
if (before.sourceId !== after.sourceId) {
|
|
@@ -51,6 +68,13 @@ export function defaultCompareExpressionSourceAssociation(before, after) {
|
|
|
51
68
|
after: after.sourceId,
|
|
52
69
|
});
|
|
53
70
|
}
|
|
71
|
+
if (before.sourceVersion !== after.sourceVersion) {
|
|
72
|
+
changes.push({
|
|
73
|
+
field: "sourceVersion",
|
|
74
|
+
before: before.sourceVersion,
|
|
75
|
+
after: after.sourceVersion,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
54
78
|
if (before.expressionId !== after.expressionId) {
|
|
55
79
|
changes.push({
|
|
56
80
|
field: "expressionId",
|
|
@@ -218,8 +242,6 @@ export function diffArguments(engineA, engineB, options) {
|
|
|
218
242
|
defaultComparePremise;
|
|
219
243
|
const compareExpr = options?.compareExpression ??
|
|
220
244
|
defaultCompareExpression;
|
|
221
|
-
const compareSrc = options?.compareSource ??
|
|
222
|
-
defaultCompareSource;
|
|
223
245
|
const compareVarAssoc = options?.compareVariableSourceAssociation ??
|
|
224
246
|
defaultCompareVariableSourceAssociation;
|
|
225
247
|
const compareExprAssoc = options?.compareExpressionSourceAssociation ??
|
|
@@ -234,7 +256,6 @@ export function diffArguments(engineA, engineB, options) {
|
|
|
234
256
|
variables: diffEntitySet(collectVariables(engineA), collectVariables(engineB), compareVar),
|
|
235
257
|
premises: diffPremiseSet(premisesA, premisesB, expressionsA, expressionsB, comparePrem, compareExpr),
|
|
236
258
|
roles: diffRoles(rolesA.conclusionPremiseId, rolesB.conclusionPremiseId),
|
|
237
|
-
sources: diffEntitySet(engineA.getSources(), engineB.getSources(), compareSrc),
|
|
238
259
|
variableSourceAssociations: diffEntitySet(engineA.getAllVariableSourceAssociations(), engineB.getAllVariableSourceAssociations(), compareVarAssoc),
|
|
239
260
|
expressionSourceAssociations: diffEntitySet(engineA.getAllExpressionSourceAssociations(), engineB.getAllExpressionSourceAssociations(), compareExprAssoc),
|
|
240
261
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/lib/core/diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/lib/core/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum } from "../../schemata/index.js";
|
|
2
2
|
import type { TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../../types/evaluation.js";
|
|
3
3
|
import type { TCoreMutationResult } from "../../types/mutation.js";
|
|
4
4
|
import type { TReactiveSnapshot } from "../../types/reactive.js";
|
|
@@ -7,7 +7,7 @@ import type { TArgumentEngineSnapshot } from "../argument-engine.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* Premise creation, removal, and lookup.
|
|
9
9
|
*/
|
|
10
|
-
export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable
|
|
10
|
+
export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
11
11
|
/**
|
|
12
12
|
* Creates a new premise with an auto-generated UUID and registers it
|
|
13
13
|
* with this engine.
|
|
@@ -15,7 +15,7 @@ export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremi
|
|
|
15
15
|
* @param extras - Optional extra metadata to attach to the premise.
|
|
16
16
|
* @returns The newly created PremiseEngine instance and changeset.
|
|
17
17
|
*/
|
|
18
|
-
createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
18
|
+
createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
19
19
|
/**
|
|
20
20
|
* Creates a premise with a caller-supplied ID and registers it with
|
|
21
21
|
* this engine.
|
|
@@ -25,21 +25,21 @@ export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremi
|
|
|
25
25
|
* @returns The newly created PremiseEngine instance and changeset.
|
|
26
26
|
* @throws If a premise with the given ID already exists.
|
|
27
27
|
*/
|
|
28
|
-
createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
28
|
+
createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
29
29
|
/**
|
|
30
30
|
* Removes a premise and clears any role assignments that reference it.
|
|
31
31
|
*
|
|
32
32
|
* @param premiseId - The ID of the premise to remove.
|
|
33
33
|
* @returns The removed premise data, or `undefined` if not found.
|
|
34
34
|
*/
|
|
35
|
-
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg
|
|
35
|
+
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg>;
|
|
36
36
|
/**
|
|
37
37
|
* Returns the premise with the given ID, or `undefined` if not found.
|
|
38
38
|
*
|
|
39
39
|
* @param premiseId - The ID of the premise to retrieve.
|
|
40
40
|
* @returns The PremiseEngine instance, or `undefined`.
|
|
41
41
|
*/
|
|
42
|
-
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
42
|
+
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
43
43
|
/**
|
|
44
44
|
* Returns `true` if a premise with the given ID exists.
|
|
45
45
|
*
|
|
@@ -58,7 +58,7 @@ export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremi
|
|
|
58
58
|
*
|
|
59
59
|
* @returns An array of PremiseEngine instances.
|
|
60
60
|
*/
|
|
61
|
-
listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
61
|
+
listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
62
62
|
/**
|
|
63
63
|
* Returns the PremiseEngine containing the given expression, or
|
|
64
64
|
* `undefined`.
|
|
@@ -66,12 +66,12 @@ export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremi
|
|
|
66
66
|
* @param expressionId - The expression ID to search for.
|
|
67
67
|
* @returns The owning PremiseEngine, or `undefined`.
|
|
68
68
|
*/
|
|
69
|
-
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
69
|
+
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* Variable CRUD and lookup across the argument.
|
|
73
73
|
*/
|
|
74
|
-
export interface TVariableManagement<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable
|
|
74
|
+
export interface TVariableManagement<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
75
75
|
/**
|
|
76
76
|
* Registers a propositional variable for use across all premises.
|
|
77
77
|
*
|
|
@@ -81,19 +81,23 @@ export interface TVariableManagement<TArg extends TCoreArgument = TCoreArgument,
|
|
|
81
81
|
* @throws If `variable.id` already exists.
|
|
82
82
|
* @throws If the variable does not belong to this argument.
|
|
83
83
|
*/
|
|
84
|
-
addVariable(variable: TOptionalChecksum<TVar>): TCoreMutationResult<TVar, TExpr, TVar, TPremise, TArg
|
|
84
|
+
addVariable(variable: TOptionalChecksum<TVar>): TCoreMutationResult<TVar, TExpr, TVar, TPremise, TArg>;
|
|
85
85
|
/**
|
|
86
86
|
* Updates fields on an existing variable. Since all premises share the
|
|
87
87
|
* same VariableManager, the update is immediately visible everywhere.
|
|
88
88
|
*
|
|
89
89
|
* @param variableId - The ID of the variable to update.
|
|
90
|
-
* @param updates - Fields to update (
|
|
90
|
+
* @param updates - Fields to update (`symbol`, `assertionId`, `assertionVersion`).
|
|
91
|
+
* `assertionId` and `assertionVersion` must be provided together.
|
|
91
92
|
* @returns The updated variable, or `undefined` if not found.
|
|
92
93
|
* @throws If the new symbol is already in use by a different variable.
|
|
94
|
+
* @throws If the new assertion reference does not exist in the assertion library.
|
|
93
95
|
*/
|
|
94
96
|
updateVariable(variableId: string, updates: {
|
|
95
97
|
symbol?: string;
|
|
96
|
-
|
|
98
|
+
assertionId?: string;
|
|
99
|
+
assertionVersion?: number;
|
|
100
|
+
}): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
97
101
|
/**
|
|
98
102
|
* Removes a variable and cascade-deletes all expressions referencing it
|
|
99
103
|
* across every premise (including subtrees and operator collapse).
|
|
@@ -101,7 +105,7 @@ export interface TVariableManagement<TArg extends TCoreArgument = TCoreArgument,
|
|
|
101
105
|
* @param variableId - The ID of the variable to remove.
|
|
102
106
|
* @returns The removed variable, or `undefined` if not found.
|
|
103
107
|
*/
|
|
104
|
-
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg
|
|
108
|
+
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
105
109
|
/**
|
|
106
110
|
* Returns the variable with the given ID, or `undefined` if not found.
|
|
107
111
|
*
|
|
@@ -209,20 +213,20 @@ export interface TArgumentExpressionQueries<TExpr extends TCorePropositionalExpr
|
|
|
209
213
|
/**
|
|
210
214
|
* Conclusion and supporting premise role management.
|
|
211
215
|
*/
|
|
212
|
-
export interface TArgumentRoleState<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable
|
|
216
|
+
export interface TArgumentRoleState<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
213
217
|
/**
|
|
214
218
|
* Returns the conclusion premise, or `undefined` if none is set.
|
|
215
219
|
*
|
|
216
220
|
* @returns The conclusion PremiseEngine, or `undefined`.
|
|
217
221
|
*/
|
|
218
|
-
getConclusionPremise(): PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
222
|
+
getConclusionPremise(): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
219
223
|
/**
|
|
220
224
|
* Returns all supporting premises (derived: inference premises that are
|
|
221
225
|
* not the conclusion) in lexicographic ID order.
|
|
222
226
|
*
|
|
223
227
|
* @returns An array of supporting PremiseEngine instances.
|
|
224
228
|
*/
|
|
225
|
-
listSupportingPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar
|
|
229
|
+
listSupportingPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
226
230
|
/**
|
|
227
231
|
* Designates a premise as the argument's conclusion.
|
|
228
232
|
*
|
|
@@ -230,13 +234,13 @@ export interface TArgumentRoleState<TArg extends TCoreArgument = TCoreArgument,
|
|
|
230
234
|
* @returns The updated role state and changeset.
|
|
231
235
|
* @throws If the premise does not exist.
|
|
232
236
|
*/
|
|
233
|
-
setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg
|
|
237
|
+
setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
234
238
|
/**
|
|
235
239
|
* Clears the conclusion designation.
|
|
236
240
|
*
|
|
237
241
|
* @returns The updated role state and changeset.
|
|
238
242
|
*/
|
|
239
|
-
clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg
|
|
243
|
+
clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
240
244
|
/**
|
|
241
245
|
* Returns the current role assignments (conclusion premise ID only;
|
|
242
246
|
* supporting is derived).
|
|
@@ -292,7 +296,7 @@ export interface TArgumentEvaluation {
|
|
|
292
296
|
* Snapshot, rollback, and reactive subscription lifecycle.
|
|
293
297
|
* Static factory methods (fromSnapshot, fromData) are class-level only.
|
|
294
298
|
*/
|
|
295
|
-
export interface TArgumentLifecycle<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable
|
|
299
|
+
export interface TArgumentLifecycle<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
296
300
|
/**
|
|
297
301
|
* Registers a listener that is called after every mutation.
|
|
298
302
|
*
|
|
@@ -305,19 +309,19 @@ export interface TArgumentLifecycle<TArg extends TCoreArgument = TCoreArgument,
|
|
|
305
309
|
*
|
|
306
310
|
* @returns The reactive snapshot.
|
|
307
311
|
*/
|
|
308
|
-
getSnapshot(): TReactiveSnapshot<TArg, TPremise, TExpr, TVar
|
|
312
|
+
getSnapshot(): TReactiveSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
309
313
|
/**
|
|
310
314
|
* Returns a serializable snapshot of the full engine state.
|
|
311
315
|
*
|
|
312
316
|
* @returns The engine snapshot.
|
|
313
317
|
*/
|
|
314
|
-
snapshot(): TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar
|
|
318
|
+
snapshot(): TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
315
319
|
/**
|
|
316
320
|
* Restores the engine to a previously captured snapshot state.
|
|
317
321
|
*
|
|
318
322
|
* @param snapshot - The snapshot to restore from.
|
|
319
323
|
*/
|
|
320
|
-
rollback(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar
|
|
324
|
+
rollback(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>): void;
|
|
321
325
|
}
|
|
322
326
|
/**
|
|
323
327
|
* Argument entity access.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/argument-engine.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"argument-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/argument-engine.interfaces.ts"],"names":[],"mappings":"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"}
|