@polintpro/proposit-core 0.7.3 → 0.7.5
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 +14 -7
- package/dist/extensions/basics/schemata.d.ts +2 -0
- package/dist/extensions/basics/schemata.d.ts.map +1 -1
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +13 -0
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +1 -14
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +0 -128
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/fork.d.ts +31 -0
- package/dist/lib/core/fork.d.ts.map +1 -0
- package/dist/lib/core/fork.js +139 -0
- package/dist/lib/core/fork.js.map +1 -0
- package/dist/lib/core/forks-library.d.ts +58 -0
- package/dist/lib/core/forks-library.d.ts.map +1 -0
- package/dist/lib/core/forks-library.js +142 -0
- package/dist/lib/core/forks-library.js.map +1 -0
- package/dist/lib/core/interfaces/index.d.ts +1 -1
- package/dist/lib/core/interfaces/index.d.ts.map +1 -1
- package/dist/lib/core/interfaces/library.interfaces.d.ts +29 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/argument.d.ts +1 -0
- package/dist/lib/schemata/argument.d.ts.map +1 -1
- package/dist/lib/schemata/argument.js +3 -0
- package/dist/lib/schemata/argument.js.map +1 -1
- package/dist/lib/schemata/fork.d.ts +17 -0
- package/dist/lib/schemata/fork.d.ts.map +1 -0
- package/dist/lib/schemata/fork.js +27 -0
- package/dist/lib/schemata/fork.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 +11 -0
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +9 -0
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/types/checksum.d.ts +2 -0
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/fork.d.ts +0 -7
- package/dist/lib/types/fork.d.ts.map +1 -1
- package/dist/lib/types/validation.d.ts +2 -1
- package/dist/lib/types/validation.d.ts.map +1 -1
- package/dist/lib/types/validation.js +2 -0
- package/dist/lib/types/validation.js.map +1 -1
- package/dist/lib/utils/changeset.d.ts +124 -0
- package/dist/lib/utils/changeset.d.ts.map +1 -0
- package/dist/lib/utils/changeset.js +221 -0
- package/dist/lib/utils/changeset.js.map +1 -0
- package/dist/lib/utils/lookup.d.ts +47 -0
- package/dist/lib/utils/lookup.d.ts.map +1 -0
- package/dist/lib/utils/lookup.js +62 -0
- package/dist/lib/utils/lookup.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -176,17 +176,18 @@ The auto-created variable gets a symbol from an optional `symbol` parameter, or
|
|
|
176
176
|
|
|
177
177
|
### Argument forking
|
|
178
178
|
|
|
179
|
-
An argument can be **forked** via `forkArgument()` to create an independent copy — useful for responding to, critiquing, or expanding on another author's argument. Forking:
|
|
179
|
+
An argument can be **forked** via `ForksLibrary.forkArgument()` to create an independent copy — useful for responding to, critiquing, or expanding on another author's argument. Forking:
|
|
180
180
|
|
|
181
181
|
- Creates a new argument with a new ID (version 0)
|
|
182
182
|
- Assigns new UUIDs to all premises, expressions, and variables
|
|
183
183
|
- Stamps `forkedFrom` provenance metadata on every entity, pointing back to the originals
|
|
184
|
+
- Records a `TCoreFork` record in the `ForksLibrary` and stamps `forkId` on all forked entities
|
|
184
185
|
- Remaps all internal references (expression parent chains, variable bindings, conclusion role)
|
|
185
|
-
- Returns the new engine
|
|
186
|
+
- Returns the new engine, a remap table mapping original IDs to new IDs, and the fork record
|
|
186
187
|
|
|
187
188
|
The forked argument is fully independent — mutations don't affect the source. The `createForkedFromMatcher()` helper enables fork-aware diffing via `diffArguments()`, pairing entities by their provenance metadata rather than by ID.
|
|
188
189
|
|
|
189
|
-
Subclasses can override the
|
|
190
|
+
Subclasses can override the public `canFork()` method to restrict which arguments may be forked (e.g., only published versions). For low-level forking without fork record management, use the standalone `forkArgumentEngine()` function.
|
|
190
191
|
|
|
191
192
|
### Cross-argument variable binding
|
|
192
193
|
|
|
@@ -554,12 +555,18 @@ console.log(premise1.toDisplayString()) // (P → Q)
|
|
|
554
555
|
|
|
555
556
|
```typescript
|
|
556
557
|
// Fork John's argument to create Rich's response
|
|
557
|
-
|
|
558
|
-
|
|
558
|
+
import { ForksLibrary } from "@polintpro/proposit-core"
|
|
559
|
+
|
|
560
|
+
const forksLib = new ForksLibrary()
|
|
561
|
+
const {
|
|
562
|
+
engine: richArg,
|
|
563
|
+
remapTable,
|
|
564
|
+
fork,
|
|
565
|
+
} = forksLib.forkArgument(johnEngine, "rich-arg-id", {
|
|
559
566
|
claimLibrary,
|
|
560
567
|
sourceLibrary,
|
|
561
|
-
claimSourceLibrary
|
|
562
|
-
)
|
|
568
|
+
claimSourceLibrary,
|
|
569
|
+
})
|
|
563
570
|
|
|
564
571
|
// Rich now has a mutable copy — modify, add, or remove premises
|
|
565
572
|
const forkedPremiseId = remapTable.premises.get(originalPremiseId)!
|
|
@@ -7,6 +7,7 @@ export declare const BasicsArgumentSchema: Type.TIntersect<[Type.TObject<{
|
|
|
7
7
|
combinedChecksum: Type.TString;
|
|
8
8
|
forkedFromArgumentId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
9
9
|
forkedFromArgumentVersion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
10
|
+
forkId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
10
11
|
}>, Type.TObject<{
|
|
11
12
|
title: Type.TString;
|
|
12
13
|
description: Type.TOptional<Type.TString>;
|
|
@@ -32,6 +33,7 @@ export declare const BasicsPremiseSchema: Type.TIntersect<[Type.TObject<{
|
|
|
32
33
|
forkedFromPremiseId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
33
34
|
forkedFromArgumentId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
34
35
|
forkedFromArgumentVersion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
36
|
+
forkId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
35
37
|
}>, Type.TObject<{
|
|
36
38
|
title: Type.TString;
|
|
37
39
|
}>]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../../src/extensions/basics/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAO3C,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../../src/extensions/basics/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAO3C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;IAM/B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,eAAO,MAAM,iBAAiB;;;;;;;;IAM5B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;IAK9B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AA4B/D,eAAO,MAAM,mBAAmB,cAI9B,CAAA"}
|
package/dist/lib/consts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,mBAAmB,CAgEjE,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACxC,mBAAmB,GAAG,SAAS,CAyBjC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAoBtC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,mBAAmB,GAChC,mBAAmB,CAmBrB"}
|
package/dist/lib/consts.js
CHANGED
|
@@ -13,6 +13,7 @@ export const DEFAULT_CHECKSUM_CONFIG = {
|
|
|
13
13
|
"forkedFromPremiseId",
|
|
14
14
|
"forkedFromArgumentId",
|
|
15
15
|
"forkedFromArgumentVersion",
|
|
16
|
+
"forkId",
|
|
16
17
|
]),
|
|
17
18
|
variableFields: new Set([
|
|
18
19
|
"id",
|
|
@@ -27,6 +28,7 @@ export const DEFAULT_CHECKSUM_CONFIG = {
|
|
|
27
28
|
"forkedFromVariableId",
|
|
28
29
|
"forkedFromArgumentId",
|
|
29
30
|
"forkedFromArgumentVersion",
|
|
31
|
+
"forkId",
|
|
30
32
|
]),
|
|
31
33
|
premiseFields: new Set([
|
|
32
34
|
"id",
|
|
@@ -35,12 +37,14 @@ export const DEFAULT_CHECKSUM_CONFIG = {
|
|
|
35
37
|
"forkedFromPremiseId",
|
|
36
38
|
"forkedFromArgumentId",
|
|
37
39
|
"forkedFromArgumentVersion",
|
|
40
|
+
"forkId",
|
|
38
41
|
]),
|
|
39
42
|
argumentFields: new Set([
|
|
40
43
|
"id",
|
|
41
44
|
"version",
|
|
42
45
|
"forkedFromArgumentId",
|
|
43
46
|
"forkedFromArgumentVersion",
|
|
47
|
+
"forkId",
|
|
44
48
|
]),
|
|
45
49
|
roleFields: new Set(["conclusionPremiseId"]),
|
|
46
50
|
claimFields: new Set(["id", "version"]),
|
|
@@ -52,6 +56,12 @@ export const DEFAULT_CHECKSUM_CONFIG = {
|
|
|
52
56
|
"sourceId",
|
|
53
57
|
"sourceVersion",
|
|
54
58
|
]),
|
|
59
|
+
forkFields: new Set([
|
|
60
|
+
"id",
|
|
61
|
+
"sourceArgumentId",
|
|
62
|
+
"sourceArgumentVersion",
|
|
63
|
+
"createdOn",
|
|
64
|
+
]),
|
|
55
65
|
};
|
|
56
66
|
/**
|
|
57
67
|
* Ensures all fields of a `TCoreChecksumConfig` are `Set<string>` instances.
|
|
@@ -71,6 +81,7 @@ export function normalizeChecksumConfig(config) {
|
|
|
71
81
|
"claimFields",
|
|
72
82
|
"sourceFields",
|
|
73
83
|
"claimSourceAssociationFields",
|
|
84
|
+
"forkFields",
|
|
74
85
|
];
|
|
75
86
|
const result = {};
|
|
76
87
|
for (const key of keys) {
|
|
@@ -103,6 +114,7 @@ export function serializeChecksumConfig(config) {
|
|
|
103
114
|
"claimFields",
|
|
104
115
|
"sourceFields",
|
|
105
116
|
"claimSourceAssociationFields",
|
|
117
|
+
"forkFields",
|
|
106
118
|
];
|
|
107
119
|
const result = {};
|
|
108
120
|
for (const key of keys) {
|
|
@@ -127,6 +139,7 @@ export function createChecksumConfig(additional) {
|
|
|
127
139
|
"claimFields",
|
|
128
140
|
"sourceFields",
|
|
129
141
|
"claimSourceAssociationFields",
|
|
142
|
+
"forkFields",
|
|
130
143
|
];
|
|
131
144
|
const result = {};
|
|
132
145
|
for (const key of keys) {
|
package/dist/lib/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IAClE,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACtB,IAAI;QACJ,MAAM;QACN,UAAU;QACV,UAAU;QACV,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,YAAY;QACZ,UAAU;QACV,wBAAwB;QACxB,qBAAqB;QACrB,sBAAsB;QACtB,2BAA2B;
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type TClaimBoundVariable, type TPremiseBoundVariable, type TCoreArgument, type TCoreClaim, type TCoreClaimSourceAssociation, type TCorePremise, type TCorePropositionalExpression, type TCorePropositionalVariable, type TOptionalChecksum, type TCoreSource } from "../schemata/index.js";
|
|
2
2
|
import type { TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../types/evaluation.js";
|
|
3
3
|
import type { TCoreChecksumConfig } from "../types/checksum.js";
|
|
4
|
-
import type { TForkArgumentOptions, TForkArgumentResult } from "../types/fork.js";
|
|
5
4
|
import { type TGrammarConfig } from "../types/grammar.js";
|
|
6
5
|
import type { TCorePositionConfig } from "../utils/position.js";
|
|
7
6
|
import type { TInvariantValidationResult } from "../types/validation.js";
|
|
@@ -169,23 +168,11 @@ export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument,
|
|
|
169
168
|
* Override point for subclasses to prevent forking. When this returns
|
|
170
169
|
* `false`, `forkArgument` will throw.
|
|
171
170
|
*/
|
|
172
|
-
|
|
171
|
+
canFork(): boolean;
|
|
173
172
|
/**
|
|
174
173
|
* Override point for subclasses to restrict cross-argument bindings.
|
|
175
174
|
* When this returns `false`, `bindVariableToExternalPremise` will throw.
|
|
176
175
|
*/
|
|
177
176
|
protected canBind(_boundArgumentId: string, _boundArgumentVersion: number): boolean;
|
|
178
|
-
/**
|
|
179
|
-
* Creates an independent copy of this argument under a new argument ID.
|
|
180
|
-
*
|
|
181
|
-
* Every premise, expression, and variable receives a fresh ID (via
|
|
182
|
-
* `options.generateId`, defaulting to `crypto.randomUUID`). All internal
|
|
183
|
-
* cross-references are remapped to the new IDs. Each forked entity carries
|
|
184
|
-
* `forkedFrom*` metadata pointing back to the originals.
|
|
185
|
-
*
|
|
186
|
-
* The returned engine is fully independent — mutations on either the
|
|
187
|
-
* source or the fork do not affect the other.
|
|
188
|
-
*/
|
|
189
|
-
forkArgument(newArgumentId: string, claimLibrary: TClaimLookup<TClaim>, sourceLibrary: TSourceLookup<TSource>, claimSourceLibrary: TClaimSourceLookup<TAssoc>, options?: TForkArgumentOptions): TForkArgumentResult<TArg, TPremise, TExpr, TVar>;
|
|
190
177
|
}
|
|
191
178
|
//# sourceMappingURL=argument-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAIH,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACR,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,EAEtB,yBAAyB,EAIzB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"argument-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1764,133 +1764,5 @@ export class ArgumentEngine {
|
|
|
1764
1764
|
canBind(_boundArgumentId, _boundArgumentVersion) {
|
|
1765
1765
|
return true;
|
|
1766
1766
|
}
|
|
1767
|
-
/**
|
|
1768
|
-
* Creates an independent copy of this argument under a new argument ID.
|
|
1769
|
-
*
|
|
1770
|
-
* Every premise, expression, and variable receives a fresh ID (via
|
|
1771
|
-
* `options.generateId`, defaulting to `crypto.randomUUID`). All internal
|
|
1772
|
-
* cross-references are remapped to the new IDs. Each forked entity carries
|
|
1773
|
-
* `forkedFrom*` metadata pointing back to the originals.
|
|
1774
|
-
*
|
|
1775
|
-
* The returned engine is fully independent — mutations on either the
|
|
1776
|
-
* source or the fork do not affect the other.
|
|
1777
|
-
*/
|
|
1778
|
-
forkArgument(newArgumentId, claimLibrary, sourceLibrary, claimSourceLibrary, options) {
|
|
1779
|
-
// 1. Guard
|
|
1780
|
-
if (!this.canFork()) {
|
|
1781
|
-
throw new Error("Forking is not allowed for this engine.");
|
|
1782
|
-
}
|
|
1783
|
-
const generateId = options?.generateId ?? randomUUID;
|
|
1784
|
-
// 2. Snapshot the current engine state
|
|
1785
|
-
const snap = this.snapshot();
|
|
1786
|
-
const originalArgumentId = snap.argument.id;
|
|
1787
|
-
const originalArgumentVersion = snap.argument.version;
|
|
1788
|
-
// 3. Build remap tables (old ID → new ID)
|
|
1789
|
-
const premiseRemap = new Map();
|
|
1790
|
-
const expressionRemap = new Map();
|
|
1791
|
-
const variableRemap = new Map();
|
|
1792
|
-
for (const ps of snap.premises) {
|
|
1793
|
-
premiseRemap.set(ps.premise.id, generateId());
|
|
1794
|
-
for (const expr of ps.expressions.expressions) {
|
|
1795
|
-
expressionRemap.set(expr.id, generateId());
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
for (const v of snap.variables.variables) {
|
|
1799
|
-
variableRemap.set(v.id, generateId());
|
|
1800
|
-
}
|
|
1801
|
-
const remapTable = {
|
|
1802
|
-
argumentId: { from: originalArgumentId, to: newArgumentId },
|
|
1803
|
-
premises: premiseRemap,
|
|
1804
|
-
expressions: expressionRemap,
|
|
1805
|
-
variables: variableRemap,
|
|
1806
|
-
};
|
|
1807
|
-
// 4. Remap the argument entity
|
|
1808
|
-
snap.argument = {
|
|
1809
|
-
...snap.argument,
|
|
1810
|
-
id: newArgumentId,
|
|
1811
|
-
version: 0,
|
|
1812
|
-
forkedFromArgumentId: originalArgumentId,
|
|
1813
|
-
forkedFromArgumentVersion: originalArgumentVersion,
|
|
1814
|
-
};
|
|
1815
|
-
// 5. Remap premises and their expressions
|
|
1816
|
-
for (const ps of snap.premises) {
|
|
1817
|
-
const originalPremiseId = ps.premise.id;
|
|
1818
|
-
const newPremiseId = premiseRemap.get(originalPremiseId);
|
|
1819
|
-
ps.premise = {
|
|
1820
|
-
...ps.premise,
|
|
1821
|
-
id: newPremiseId,
|
|
1822
|
-
argumentId: newArgumentId,
|
|
1823
|
-
argumentVersion: 0,
|
|
1824
|
-
forkedFromPremiseId: originalPremiseId,
|
|
1825
|
-
forkedFromArgumentId: originalArgumentId,
|
|
1826
|
-
forkedFromArgumentVersion: originalArgumentVersion,
|
|
1827
|
-
};
|
|
1828
|
-
// Remap rootExpressionId
|
|
1829
|
-
if (ps.rootExpressionId) {
|
|
1830
|
-
ps.rootExpressionId = expressionRemap.get(ps.rootExpressionId);
|
|
1831
|
-
}
|
|
1832
|
-
// Remap each expression
|
|
1833
|
-
ps.expressions.expressions = ps.expressions.expressions.map((expr) => {
|
|
1834
|
-
const originalExprId = expr.id;
|
|
1835
|
-
const newExprId = expressionRemap.get(originalExprId);
|
|
1836
|
-
const remapped = {
|
|
1837
|
-
...expr,
|
|
1838
|
-
id: newExprId,
|
|
1839
|
-
argumentId: newArgumentId,
|
|
1840
|
-
argumentVersion: 0,
|
|
1841
|
-
premiseId: newPremiseId,
|
|
1842
|
-
parentId: expr.parentId
|
|
1843
|
-
? (expressionRemap.get(expr.parentId) ?? null)
|
|
1844
|
-
: null,
|
|
1845
|
-
forkedFromExpressionId: originalExprId,
|
|
1846
|
-
forkedFromPremiseId: originalPremiseId,
|
|
1847
|
-
forkedFromArgumentId: originalArgumentId,
|
|
1848
|
-
forkedFromArgumentVersion: originalArgumentVersion,
|
|
1849
|
-
};
|
|
1850
|
-
// Remap variableId on variable-type expressions
|
|
1851
|
-
if (remapped.type === "variable" &&
|
|
1852
|
-
"variableId" in remapped) {
|
|
1853
|
-
const origVarId = remapped.variableId;
|
|
1854
|
-
remapped.variableId = variableRemap.get(origVarId);
|
|
1855
|
-
}
|
|
1856
|
-
return remapped;
|
|
1857
|
-
});
|
|
1858
|
-
}
|
|
1859
|
-
// 6. Remap variables
|
|
1860
|
-
snap.variables.variables = snap.variables.variables.map((v) => {
|
|
1861
|
-
const originalVarId = v.id;
|
|
1862
|
-
const newVarId = variableRemap.get(originalVarId);
|
|
1863
|
-
const remapped = {
|
|
1864
|
-
...v,
|
|
1865
|
-
id: newVarId,
|
|
1866
|
-
argumentId: newArgumentId,
|
|
1867
|
-
argumentVersion: 0,
|
|
1868
|
-
forkedFromVariableId: originalVarId,
|
|
1869
|
-
forkedFromArgumentId: originalArgumentId,
|
|
1870
|
-
forkedFromArgumentVersion: originalArgumentVersion,
|
|
1871
|
-
};
|
|
1872
|
-
// Remap premise-bound variable references
|
|
1873
|
-
if (isPremiseBound(remapped)) {
|
|
1874
|
-
const premiseBound = remapped;
|
|
1875
|
-
premiseBound.boundPremiseId = premiseRemap.get(premiseBound.boundPremiseId);
|
|
1876
|
-
premiseBound.boundArgumentId = newArgumentId;
|
|
1877
|
-
premiseBound.boundArgumentVersion = 0;
|
|
1878
|
-
}
|
|
1879
|
-
return remapped;
|
|
1880
|
-
});
|
|
1881
|
-
// 7. Remap conclusion role
|
|
1882
|
-
if (snap.conclusionPremiseId) {
|
|
1883
|
-
snap.conclusionPremiseId = premiseRemap.get(snap.conclusionPremiseId);
|
|
1884
|
-
}
|
|
1885
|
-
// 8. Carry config from options or source engine
|
|
1886
|
-
snap.config = {
|
|
1887
|
-
checksumConfig: serializeChecksumConfig(options?.checksumConfig ?? this.checksumConfig),
|
|
1888
|
-
positionConfig: options?.positionConfig ?? this.positionConfig,
|
|
1889
|
-
grammarConfig: options?.grammarConfig ?? this.grammarConfig,
|
|
1890
|
-
};
|
|
1891
|
-
// 9. Construct the new engine from the remapped snapshot
|
|
1892
|
-
const engine = ArgumentEngine.fromSnapshot(snap, claimLibrary, sourceLibrary, claimSourceLibrary, options?.grammarConfig ?? this.grammarConfig, "ignore");
|
|
1893
|
-
return { engine, remapTable };
|
|
1894
|
-
}
|
|
1895
1767
|
}
|
|
1896
1768
|
//# sourceMappingURL=argument-engine.js.map
|