@polintpro/proposit-core 0.7.3 → 0.8.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 +64 -20
- package/dist/extensions/basics/schemata.d.ts +0 -5
- package/dist/extensions/basics/schemata.d.ts.map +1 -1
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +2 -21
- 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/argument-library.d.ts +84 -0
- package/dist/lib/core/argument-library.d.ts.map +1 -0
- package/dist/lib/core/argument-library.js +122 -0
- package/dist/lib/core/argument-library.js.map +1 -0
- package/dist/lib/core/diff.d.ts +0 -10
- package/dist/lib/core/diff.d.ts.map +1 -1
- package/dist/lib/core/diff.js +0 -31
- package/dist/lib/core/diff.js.map +1 -1
- package/dist/lib/core/fork-library.d.ts +17 -0
- package/dist/lib/core/fork-library.d.ts.map +1 -0
- package/dist/lib/core/fork-library.js +62 -0
- package/dist/lib/core/fork-library.js.map +1 -0
- package/dist/lib/core/fork-namespace.d.ts +19 -0
- package/dist/lib/core/fork-namespace.d.ts.map +1 -0
- package/dist/lib/core/fork-namespace.js +86 -0
- package/dist/lib/core/fork-namespace.js.map +1 -0
- package/dist/lib/core/fork.d.ts +30 -0
- package/dist/lib/core/fork.d.ts.map +1 -0
- package/dist/lib/core/fork.js +125 -0
- package/dist/lib/core/fork.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 +61 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
- package/dist/lib/core/proposit-core.d.ts +110 -0
- package/dist/lib/core/proposit-core.d.ts.map +1 -0
- package/dist/lib/core/proposit-core.js +357 -0
- package/dist/lib/core/proposit-core.js.map +1 -0
- package/dist/lib/index.d.ts +11 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +8 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/argument.d.ts +0 -2
- package/dist/lib/schemata/argument.d.ts.map +1 -1
- package/dist/lib/schemata/argument.js +0 -6
- package/dist/lib/schemata/argument.js.map +1 -1
- package/dist/lib/schemata/fork.d.ts +76 -0
- package/dist/lib/schemata/fork.d.ts.map +1 -0
- package/dist/lib/schemata/fork.js +55 -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 +0 -39
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +0 -30
- package/dist/lib/schemata/propositional.js.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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TCoreArgumentForkRecord, TCorePremiseForkRecord, TCoreExpressionForkRecord, TCoreVariableForkRecord, TCoreClaimForkRecord, TCoreSourceForkRecord } from "../schemata/fork.js";
|
|
2
|
+
import { ForkNamespace } from "./fork-namespace.js";
|
|
3
|
+
import type { TForkLibrarySnapshot } from "./interfaces/library.interfaces.js";
|
|
4
|
+
import type { TInvariantValidationResult } from "../types/validation.js";
|
|
5
|
+
export declare class ForkLibrary<TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord> {
|
|
6
|
+
readonly arguments: ForkNamespace<TArgFork>;
|
|
7
|
+
readonly premises: ForkNamespace<TPremiseFork>;
|
|
8
|
+
readonly expressions: ForkNamespace<TExprFork>;
|
|
9
|
+
readonly variables: ForkNamespace<TVarFork>;
|
|
10
|
+
readonly claims: ForkNamespace<TClaimFork>;
|
|
11
|
+
readonly sources: ForkNamespace<TSourceFork>;
|
|
12
|
+
constructor();
|
|
13
|
+
snapshot(): TForkLibrarySnapshot<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
14
|
+
static fromSnapshot<TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord>(snapshot: TForkLibrarySnapshot<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>): ForkLibrary<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
15
|
+
validate(): TInvariantValidationResult;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=fork-library.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/fork-library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAExE,qBAAa,WAAW,CACpB,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,YAAY,SAAS,sBAAsB,GAAG,sBAAsB,EACpE,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,EACvE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB;IAEjE,SAAgB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAClD,SAAgB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IACrD,SAAgB,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACrD,SAAgB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAClD,SAAgB,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACjD,SAAgB,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;;IAiB5C,QAAQ,IAAI,oBAAoB,CACnC,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd;WAWa,YAAY,CACtB,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,YAAY,SAAS,sBAAsB,GAAG,sBAAsB,EACpE,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,EACvE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EAEjE,QAAQ,EAAE,oBAAoB,CAC1B,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd,GACF,WAAW,CACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd;IAgCM,QAAQ,IAAI,0BAA0B;CAWhD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CoreEntityForkRecordSchema, CoreExpressionForkRecordSchema, CoreClaimForkRecordSchema, CoreSourceForkRecordSchema, } from "../schemata/fork.js";
|
|
2
|
+
import { ForkNamespace } from "./fork-namespace.js";
|
|
3
|
+
export class ForkLibrary {
|
|
4
|
+
arguments;
|
|
5
|
+
premises;
|
|
6
|
+
expressions;
|
|
7
|
+
variables;
|
|
8
|
+
claims;
|
|
9
|
+
sources;
|
|
10
|
+
constructor() {
|
|
11
|
+
this.arguments = new ForkNamespace(CoreEntityForkRecordSchema);
|
|
12
|
+
this.premises = new ForkNamespace(CoreEntityForkRecordSchema);
|
|
13
|
+
this.expressions = new ForkNamespace(CoreExpressionForkRecordSchema);
|
|
14
|
+
this.variables = new ForkNamespace(CoreEntityForkRecordSchema);
|
|
15
|
+
this.claims = new ForkNamespace(CoreClaimForkRecordSchema);
|
|
16
|
+
this.sources = new ForkNamespace(CoreSourceForkRecordSchema);
|
|
17
|
+
}
|
|
18
|
+
snapshot() {
|
|
19
|
+
return {
|
|
20
|
+
arguments: this.arguments.snapshot(),
|
|
21
|
+
premises: this.premises.snapshot(),
|
|
22
|
+
expressions: this.expressions.snapshot(),
|
|
23
|
+
variables: this.variables.snapshot(),
|
|
24
|
+
claims: this.claims.snapshot(),
|
|
25
|
+
sources: this.sources.snapshot(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
static fromSnapshot(snapshot) {
|
|
29
|
+
const lib = new ForkLibrary();
|
|
30
|
+
for (const record of snapshot.arguments) {
|
|
31
|
+
lib.arguments.create(record);
|
|
32
|
+
}
|
|
33
|
+
for (const record of snapshot.premises) {
|
|
34
|
+
lib.premises.create(record);
|
|
35
|
+
}
|
|
36
|
+
for (const record of snapshot.expressions) {
|
|
37
|
+
lib.expressions.create(record);
|
|
38
|
+
}
|
|
39
|
+
for (const record of snapshot.variables) {
|
|
40
|
+
lib.variables.create(record);
|
|
41
|
+
}
|
|
42
|
+
for (const record of snapshot.claims) {
|
|
43
|
+
lib.claims.create(record);
|
|
44
|
+
}
|
|
45
|
+
for (const record of snapshot.sources) {
|
|
46
|
+
lib.sources.create(record);
|
|
47
|
+
}
|
|
48
|
+
return lib;
|
|
49
|
+
}
|
|
50
|
+
validate() {
|
|
51
|
+
const allViolations = [
|
|
52
|
+
...this.arguments.validate().violations,
|
|
53
|
+
...this.premises.validate().violations,
|
|
54
|
+
...this.expressions.validate().violations,
|
|
55
|
+
...this.variables.validate().violations,
|
|
56
|
+
...this.claims.validate().violations,
|
|
57
|
+
...this.sources.validate().violations,
|
|
58
|
+
];
|
|
59
|
+
return { ok: allViolations.length === 0, violations: allViolations };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=fork-library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-library.js","sourceRoot":"","sources":["../../../src/lib/core/fork-library.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TSchema } from "typebox";
|
|
2
|
+
import type { TCoreEntityForkRecord } from "../schemata/fork.js";
|
|
3
|
+
import type { TInvariantValidationResult } from "../types/validation.js";
|
|
4
|
+
export declare class ForkNamespace<T extends TCoreEntityForkRecord = TCoreEntityForkRecord> {
|
|
5
|
+
private records;
|
|
6
|
+
private schema;
|
|
7
|
+
constructor(schema?: TSchema);
|
|
8
|
+
private restoreFromRecords;
|
|
9
|
+
private withValidation;
|
|
10
|
+
create(record: T): T;
|
|
11
|
+
get(entityId: string): T | undefined;
|
|
12
|
+
getAll(): T[];
|
|
13
|
+
getByForkId(forkId: string): T[];
|
|
14
|
+
remove(entityId: string): T;
|
|
15
|
+
snapshot(): T[];
|
|
16
|
+
static fromSnapshot<T extends TCoreEntityForkRecord = TCoreEntityForkRecord>(records: T[], schema?: TSchema): ForkNamespace<T>;
|
|
17
|
+
validate(): TInvariantValidationResult;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=fork-namespace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-namespace.d.ts","sourceRoot":"","sources":["../../../src/lib/core/fork-namespace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAI/B,qBAAa,aAAa,CACtB,CAAC,SAAS,qBAAqB,GAAG,qBAAqB;IAEvD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,OAAoC;IAKxD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,cAAc;IAkBf,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;IAYpB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIpC,MAAM,IAAI,CAAC,EAAE;IAIb,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;IAMhC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC;IAa3B,QAAQ,IAAI,CAAC,EAAE;WAIR,YAAY,CACtB,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,EACzD,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC;IAQ5C,QAAQ,IAAI,0BAA0B;CAchD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Value } from "typebox/value";
|
|
2
|
+
import { CoreEntityForkRecordSchema } from "../schemata/fork.js";
|
|
3
|
+
import { FORK_RECORD_SCHEMA_INVALID } from "../types/validation.js";
|
|
4
|
+
import { InvariantViolationError } from "./invariant-violation-error.js";
|
|
5
|
+
export class ForkNamespace {
|
|
6
|
+
records;
|
|
7
|
+
schema;
|
|
8
|
+
constructor(schema = CoreEntityForkRecordSchema) {
|
|
9
|
+
this.records = new Map();
|
|
10
|
+
this.schema = schema;
|
|
11
|
+
}
|
|
12
|
+
restoreFromRecords(records) {
|
|
13
|
+
this.records = new Map(records);
|
|
14
|
+
}
|
|
15
|
+
withValidation(fn) {
|
|
16
|
+
const snap = new Map(this.records);
|
|
17
|
+
try {
|
|
18
|
+
const result = fn();
|
|
19
|
+
const validation = this.validate();
|
|
20
|
+
if (!validation.ok) {
|
|
21
|
+
this.restoreFromRecords(snap);
|
|
22
|
+
throw new InvariantViolationError(validation.violations);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
if (!(e instanceof InvariantViolationError)) {
|
|
28
|
+
this.restoreFromRecords(snap);
|
|
29
|
+
}
|
|
30
|
+
throw e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
create(record) {
|
|
34
|
+
return this.withValidation(() => {
|
|
35
|
+
if (this.records.has(record.entityId)) {
|
|
36
|
+
throw new Error(`ForkRecord with entityId "${record.entityId}" already exists.`);
|
|
37
|
+
}
|
|
38
|
+
this.records.set(record.entityId, record);
|
|
39
|
+
return record;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
get(entityId) {
|
|
43
|
+
return this.records.get(entityId);
|
|
44
|
+
}
|
|
45
|
+
getAll() {
|
|
46
|
+
return Array.from(this.records.values());
|
|
47
|
+
}
|
|
48
|
+
getByForkId(forkId) {
|
|
49
|
+
return Array.from(this.records.values()).filter((r) => r.forkId === forkId);
|
|
50
|
+
}
|
|
51
|
+
remove(entityId) {
|
|
52
|
+
return this.withValidation(() => {
|
|
53
|
+
const record = this.records.get(entityId);
|
|
54
|
+
if (!record) {
|
|
55
|
+
throw new Error(`ForkRecord with entityId "${entityId}" not found.`);
|
|
56
|
+
}
|
|
57
|
+
this.records.delete(entityId);
|
|
58
|
+
return record;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
snapshot() {
|
|
62
|
+
return Array.from(this.records.values());
|
|
63
|
+
}
|
|
64
|
+
static fromSnapshot(records, schema) {
|
|
65
|
+
const ns = new ForkNamespace(schema ?? CoreEntityForkRecordSchema);
|
|
66
|
+
for (const record of records) {
|
|
67
|
+
ns.records.set(record.entityId, record);
|
|
68
|
+
}
|
|
69
|
+
return ns;
|
|
70
|
+
}
|
|
71
|
+
validate() {
|
|
72
|
+
const violations = [];
|
|
73
|
+
for (const [entityId, record] of this.records) {
|
|
74
|
+
if (!Value.Check(this.schema, record)) {
|
|
75
|
+
violations.push({
|
|
76
|
+
code: FORK_RECORD_SCHEMA_INVALID,
|
|
77
|
+
message: `ForkRecord "${entityId}" does not conform to schema`,
|
|
78
|
+
entityType: "forkRecord",
|
|
79
|
+
entityId,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return { ok: violations.length === 0, violations };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=fork-namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-namespace.js","sourceRoot":"","sources":["../../../src/lib/core/fork-namespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
|
|
2
|
+
import type { TCoreClaim } from "../schemata/claim.js";
|
|
3
|
+
import type { TCoreSource, TCoreClaimSourceAssociation } from "../schemata/source.js";
|
|
4
|
+
import type { TClaimLookup, TSourceLookup, TClaimSourceLookup } from "./interfaces/library.interfaces.js";
|
|
5
|
+
import type { TForkArgumentOptions, TForkRemapTable } from "../types/fork.js";
|
|
6
|
+
import { ArgumentEngine } from "./argument-engine.js";
|
|
7
|
+
/**
|
|
8
|
+
* Creates an independent copy of an argument engine under a new argument ID.
|
|
9
|
+
*
|
|
10
|
+
* Every premise, expression, and variable receives a fresh ID. All internal
|
|
11
|
+
* cross-references are remapped.
|
|
12
|
+
*
|
|
13
|
+
* This function does NOT call `engine.canFork()` — callers are responsible
|
|
14
|
+
* for checking fork eligibility.
|
|
15
|
+
*
|
|
16
|
+
* @param engine - The source engine to fork.
|
|
17
|
+
* @param newArgumentId - The ID for the forked argument.
|
|
18
|
+
* @param libraries - Claim, source, and claim-source libraries for the new engine.
|
|
19
|
+
* @param options - Optional ID generator, checksum/position/grammar config overrides.
|
|
20
|
+
* @returns The forked engine and a remap table mapping original to new entity IDs.
|
|
21
|
+
*/
|
|
22
|
+
export declare function forkArgumentEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation>(engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>, newArgumentId: string, libraries: {
|
|
23
|
+
claimLibrary: TClaimLookup<TClaim>;
|
|
24
|
+
sourceLibrary: TSourceLookup<TSource>;
|
|
25
|
+
claimSourceLibrary: TClaimSourceLookup<TAssoc>;
|
|
26
|
+
}, options?: TForkArgumentOptions): {
|
|
27
|
+
engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
|
|
28
|
+
remapTable: TForkRemapTable;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=fork.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAE7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EACR,WAAW,EACX,2BAA2B,EAC9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,kBAAkB,EACrB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,EAExE,MAAM,EAAE,cAAc,CAClB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,CACT,EACD,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE;IACP,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACrC,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;CACjD,EACD,OAAO,CAAC,EAAE,oBAAoB,GAC/B;IACC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5E,UAAU,EAAE,eAAe,CAAA;CAC9B,CAwJA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { ArgumentEngine } from "./argument-engine.js";
|
|
3
|
+
import { serializeChecksumConfig } from "../consts.js";
|
|
4
|
+
import { isPremiseBound } from "../schemata/propositional.js";
|
|
5
|
+
/**
|
|
6
|
+
* Creates an independent copy of an argument engine under a new argument ID.
|
|
7
|
+
*
|
|
8
|
+
* Every premise, expression, and variable receives a fresh ID. All internal
|
|
9
|
+
* cross-references are remapped.
|
|
10
|
+
*
|
|
11
|
+
* This function does NOT call `engine.canFork()` — callers are responsible
|
|
12
|
+
* for checking fork eligibility.
|
|
13
|
+
*
|
|
14
|
+
* @param engine - The source engine to fork.
|
|
15
|
+
* @param newArgumentId - The ID for the forked argument.
|
|
16
|
+
* @param libraries - Claim, source, and claim-source libraries for the new engine.
|
|
17
|
+
* @param options - Optional ID generator, checksum/position/grammar config overrides.
|
|
18
|
+
* @returns The forked engine and a remap table mapping original to new entity IDs.
|
|
19
|
+
*/
|
|
20
|
+
export function forkArgumentEngine(engine, newArgumentId, libraries, options) {
|
|
21
|
+
const generateId = options?.generateId ?? randomUUID;
|
|
22
|
+
// Snapshot includes config from the source engine
|
|
23
|
+
const snap = engine.snapshot();
|
|
24
|
+
const originalArgumentId = snap.argument.id;
|
|
25
|
+
// Build remap tables (old ID → new ID)
|
|
26
|
+
const premiseRemap = new Map();
|
|
27
|
+
const expressionRemap = new Map();
|
|
28
|
+
const variableRemap = new Map();
|
|
29
|
+
for (const ps of snap.premises) {
|
|
30
|
+
premiseRemap.set(ps.premise.id, generateId());
|
|
31
|
+
for (const expr of ps.expressions.expressions) {
|
|
32
|
+
expressionRemap.set(expr.id, generateId());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
for (const v of snap.variables.variables) {
|
|
36
|
+
variableRemap.set(v.id, generateId());
|
|
37
|
+
}
|
|
38
|
+
const remapTable = {
|
|
39
|
+
argumentId: { from: originalArgumentId, to: newArgumentId },
|
|
40
|
+
premises: premiseRemap,
|
|
41
|
+
expressions: expressionRemap,
|
|
42
|
+
variables: variableRemap,
|
|
43
|
+
};
|
|
44
|
+
// Remap argument
|
|
45
|
+
snap.argument = {
|
|
46
|
+
...snap.argument,
|
|
47
|
+
id: newArgumentId,
|
|
48
|
+
version: 0,
|
|
49
|
+
};
|
|
50
|
+
// Remap premises and expressions
|
|
51
|
+
for (const ps of snap.premises) {
|
|
52
|
+
const originalPremiseId = ps.premise.id;
|
|
53
|
+
const newPremiseId = premiseRemap.get(originalPremiseId);
|
|
54
|
+
ps.premise = {
|
|
55
|
+
...ps.premise,
|
|
56
|
+
id: newPremiseId,
|
|
57
|
+
argumentId: newArgumentId,
|
|
58
|
+
argumentVersion: 0,
|
|
59
|
+
};
|
|
60
|
+
if (ps.rootExpressionId) {
|
|
61
|
+
ps.rootExpressionId = expressionRemap.get(ps.rootExpressionId);
|
|
62
|
+
}
|
|
63
|
+
ps.expressions.expressions = ps.expressions.expressions.map((expr) => {
|
|
64
|
+
const originalExprId = expr.id;
|
|
65
|
+
const newExprId = expressionRemap.get(originalExprId);
|
|
66
|
+
const remapped = {
|
|
67
|
+
...expr,
|
|
68
|
+
id: newExprId,
|
|
69
|
+
argumentId: newArgumentId,
|
|
70
|
+
argumentVersion: 0,
|
|
71
|
+
premiseId: newPremiseId,
|
|
72
|
+
parentId: expr.parentId
|
|
73
|
+
? (expressionRemap.get(expr.parentId) ?? null)
|
|
74
|
+
: null,
|
|
75
|
+
};
|
|
76
|
+
if (remapped.type === "variable" &&
|
|
77
|
+
"variableId" in remapped) {
|
|
78
|
+
const origVarId = remapped.variableId;
|
|
79
|
+
remapped.variableId =
|
|
80
|
+
variableRemap.get(origVarId);
|
|
81
|
+
}
|
|
82
|
+
return remapped;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// Remap variables
|
|
86
|
+
snap.variables.variables = snap.variables.variables.map((v) => {
|
|
87
|
+
const originalVarId = v.id;
|
|
88
|
+
const newVarId = variableRemap.get(originalVarId);
|
|
89
|
+
const remapped = {
|
|
90
|
+
...v,
|
|
91
|
+
id: newVarId,
|
|
92
|
+
argumentId: newArgumentId,
|
|
93
|
+
argumentVersion: 0,
|
|
94
|
+
};
|
|
95
|
+
if (isPremiseBound(remapped)) {
|
|
96
|
+
const premiseBound = remapped;
|
|
97
|
+
premiseBound.boundPremiseId = premiseRemap.get(premiseBound.boundPremiseId);
|
|
98
|
+
premiseBound.boundArgumentId = newArgumentId;
|
|
99
|
+
premiseBound.boundArgumentVersion = 0;
|
|
100
|
+
}
|
|
101
|
+
return remapped;
|
|
102
|
+
});
|
|
103
|
+
// Remap conclusion
|
|
104
|
+
if (snap.conclusionPremiseId) {
|
|
105
|
+
snap.conclusionPremiseId = premiseRemap.get(snap.conclusionPremiseId);
|
|
106
|
+
}
|
|
107
|
+
// Override config from options if provided; snapshot already has source config
|
|
108
|
+
if (options?.checksumConfig) {
|
|
109
|
+
snap.config = {
|
|
110
|
+
...snap.config,
|
|
111
|
+
checksumConfig: serializeChecksumConfig(options.checksumConfig),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if (options?.positionConfig) {
|
|
115
|
+
snap.config = { ...snap.config, positionConfig: options.positionConfig };
|
|
116
|
+
}
|
|
117
|
+
if (options?.grammarConfig) {
|
|
118
|
+
snap.config = { ...snap.config, grammarConfig: options.grammarConfig };
|
|
119
|
+
}
|
|
120
|
+
const grammarConfig = options?.grammarConfig ?? snap.config?.grammarConfig;
|
|
121
|
+
// Construct new engine
|
|
122
|
+
const forkedEngine = ArgumentEngine.fromSnapshot(snap, libraries.claimLibrary, libraries.sourceLibrary, libraries.claimSourceLibrary, grammarConfig, "ignore");
|
|
123
|
+
return { engine: forkedEngine, remapTable };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=fork.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAoBxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAS9B,MAQC,EACD,aAAqB,EACrB,SAIC,EACD,OAA8B;IAK9B,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,UAAU,CAAA;IAEpD,kDAAkD;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAE9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;IAE3C,uCAAuC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE/C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5C,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,UAAU,GAAoB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,aAAa,EAAE;QAC3D,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,aAAa;KAC3B,CAAA;IAED,iBAAiB;IACjB,IAAI,CAAC,QAAQ,GAAG;QACZ,GAAG,IAAI,CAAC,QAAQ;QAChB,EAAE,EAAE,aAAa;QACjB,OAAO,EAAE,CAAC;KACc,CAAA;IAE5B,iCAAiC;IACjC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAA;QACvC,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAA;QAEzD,EAAE,CAAC,OAAO,GAAG;YACT,GAAG,EAAE,CAAC,OAAO;YACb,EAAE,EAAE,YAAY;YAChB,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,CAAC;SACU,CAAA;QAEhC,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAE,CAAA;QACnE,CAAC;QAED,EAAE,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAA;YAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAE,CAAA;YAEtD,MAAM,QAAQ,GAAG;gBACb,GAAG,IAAI;gBACP,EAAE,EAAE,SAAS;gBACb,UAAU,EAAE,aAAa;gBACzB,eAAe,EAAE,CAAC;gBAClB,SAAS,EAAE,YAAY;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACnB,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;oBAC9C,CAAC,CAAC,IAAI;aACJ,CAAA;YAEV,IACK,QAA6B,CAAC,IAAI,KAAK,UAAU;gBAClD,YAAY,IAAI,QAAQ,EAC1B,CAAC;gBACC,MAAM,SAAS,GACX,QACH,CAAC,UAAU,CACX;gBAAC,QAA8C,CAAC,UAAU;oBACvD,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;YACrC,CAAC;YAED,OAAO,QAAQ,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1D,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAE,CAAA;QAElD,MAAM,QAAQ,GAAG;YACb,GAAG,CAAC;YACJ,EAAE,EAAE,QAAQ;YACZ,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,CAAC;SACrB,CAAA;QAED,IAAI,cAAc,CAAC,QAAiD,CAAC,EAAE,CAAC;YACpE,MAAM,YAAY,GACd,QAIC,CAAA;YACL,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,CAC1C,YAAY,CAAC,cAAc,CAC7B,CAAA;YACF,YAAY,CAAC,eAAe,GAAG,aAAa,CAAA;YAC5C,YAAY,CAAC,oBAAoB,GAAG,CAAC,CAAA;QACzC,CAAC;QAED,OAAO,QAAgB,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,mBAAmB;IACnB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACzE,CAAC;IAED,+EAA+E;IAC/E,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,IAAI,CAAC,MAAM;YACd,cAAc,EAAE,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC;SAClE,CAAA;IACL,CAAC;IACD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAA;IAC5E,CAAC;IACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAA;IAC1E,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAA;IAE1E,uBAAuB;IACvB,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAS5C,IAAI,EACJ,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,kBAAkB,EAC5B,aAAa,EACb,QAAQ,CACX,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AAC/C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { TDisplayable, THierarchicalChecksummable, } from "./shared.interfaces.js";
|
|
2
2
|
export type { TPremiseCrud, TVariableManagement, TArgumentExpressionQueries, TArgumentRoleState, TArgumentEvaluation, TArgumentLifecycle, TArgumentIdentity, } from "./argument-engine.interfaces.js";
|
|
3
3
|
export type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, } from "./premise-engine.interfaces.js";
|
|
4
|
-
export type { TClaimLookup, TClaimLibraryManagement, TSourceLookup, TSourceLibraryManagement, TClaimLibrarySnapshot, TSourceLibrarySnapshot, TClaimSourceLookup, TClaimSourceLibraryManagement, TClaimSourceLibrarySnapshot, } from "./library.interfaces.js";
|
|
4
|
+
export type { TClaimLookup, TClaimLibraryManagement, TSourceLookup, TSourceLibraryManagement, TClaimLibrarySnapshot, TSourceLibrarySnapshot, TClaimSourceLookup, TClaimSourceLibraryManagement, TClaimSourceLibrarySnapshot, TForkLibrarySnapshot, TArgumentLibrarySnapshot, TPropositCoreSnapshot, TPropositCoreConfig, } from "./library.interfaces.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,0BAA0B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACR,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,0BAA0B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACR,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { TCoreClaim } from "../../schemata/claim.js";
|
|
2
2
|
import type { TCoreClaimSourceAssociation, TCoreSource } from "../../schemata/source.js";
|
|
3
|
+
import type { TCoreArgumentForkRecord, TCorePremiseForkRecord, TCoreExpressionForkRecord, TCoreVariableForkRecord, TCoreClaimForkRecord, TCoreSourceForkRecord } from "../../schemata/fork.js";
|
|
3
4
|
import type { TInvariantValidationResult } from "../../types/validation.js";
|
|
5
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../../schemata/index.js";
|
|
6
|
+
import type { TArgumentEngineSnapshot } from "../argument-engine.js";
|
|
7
|
+
import type { TCoreChecksumConfig } from "../../types/checksum.js";
|
|
8
|
+
import type { TCorePositionConfig } from "../../utils/position.js";
|
|
9
|
+
import type { TGrammarConfig } from "../../types/grammar.js";
|
|
4
10
|
/**
|
|
5
11
|
* Narrow read-only interface for claim lookups. Used by `ArgumentEngine` for
|
|
6
12
|
* variable validation — callers that only need to verify claim existence
|
|
@@ -281,4 +287,59 @@ export type TClaimSourceLibrarySnapshot<TAssoc extends TCoreClaimSourceAssociati
|
|
|
281
287
|
/** All claim-source association entities in the library. */
|
|
282
288
|
claimSourceAssociations: TAssoc[];
|
|
283
289
|
};
|
|
290
|
+
/**
|
|
291
|
+
* Serializable snapshot of a `ForkLibrary`. Contains arrays of fork records
|
|
292
|
+
* for each entity type.
|
|
293
|
+
*/
|
|
294
|
+
export type TForkLibrarySnapshot<TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord> = {
|
|
295
|
+
/** All argument fork records. */
|
|
296
|
+
arguments: TArgFork[];
|
|
297
|
+
/** All premise fork records. */
|
|
298
|
+
premises: TPremiseFork[];
|
|
299
|
+
/** All expression fork records. */
|
|
300
|
+
expressions: TExprFork[];
|
|
301
|
+
/** All variable fork records. */
|
|
302
|
+
variables: TVarFork[];
|
|
303
|
+
/** All claim fork records. */
|
|
304
|
+
claims: TClaimFork[];
|
|
305
|
+
/** All source fork records. */
|
|
306
|
+
sources: TSourceFork[];
|
|
307
|
+
};
|
|
308
|
+
/**
|
|
309
|
+
* Serializable snapshot of an `ArgumentLibrary`. Contains snapshots of all
|
|
310
|
+
* managed `ArgumentEngine` instances.
|
|
311
|
+
*/
|
|
312
|
+
export type TArgumentLibrarySnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> = {
|
|
313
|
+
/** Snapshots of all argument engines in the library. */
|
|
314
|
+
arguments: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>[];
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Serializable snapshot of a `PropositCore` instance. Contains snapshots of
|
|
318
|
+
* all managed libraries: arguments, claims, sources, claim-source associations,
|
|
319
|
+
* and fork records.
|
|
320
|
+
*/
|
|
321
|
+
export type TPropositCoreSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord> = {
|
|
322
|
+
/** Snapshot of all argument engines. */
|
|
323
|
+
arguments: TArgumentLibrarySnapshot<TArg, TPremise, TExpr, TVar>;
|
|
324
|
+
/** Snapshot of the claim library. */
|
|
325
|
+
claims: TClaimLibrarySnapshot<TClaim>;
|
|
326
|
+
/** Snapshot of the source library. */
|
|
327
|
+
sources: TSourceLibrarySnapshot<TSource>;
|
|
328
|
+
/** Snapshot of the claim-source association library. */
|
|
329
|
+
claimSources: TClaimSourceLibrarySnapshot<TAssoc>;
|
|
330
|
+
/** Snapshot of the fork library. */
|
|
331
|
+
forks: TForkLibrarySnapshot<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* Shared configuration options for `PropositCore`. These config values are
|
|
335
|
+
* threaded to all internally constructed libraries and engines.
|
|
336
|
+
*/
|
|
337
|
+
export type TPropositCoreConfig = {
|
|
338
|
+
/** Checksum config shared across all libraries and engines. */
|
|
339
|
+
checksumConfig?: TCoreChecksumConfig;
|
|
340
|
+
/** Position config for argument engines. */
|
|
341
|
+
positionConfig?: TCorePositionConfig;
|
|
342
|
+
/** Grammar config for argument engines. */
|
|
343
|
+
grammarConfig?: TGrammarConfig;
|
|
344
|
+
};
|
|
284
345
|
//# sourceMappingURL=library.interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EACR,2BAA2B,EAC3B,WAAW,EACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"library.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
|
|
2
|
+
import type { TCoreClaim } from "../schemata/claim.js";
|
|
3
|
+
import type { TCoreClaimSourceAssociation, TCoreSource } from "../schemata/source.js";
|
|
4
|
+
import type { TCoreArgumentForkRecord, TCorePremiseForkRecord, TCoreExpressionForkRecord, TCoreVariableForkRecord, TCoreClaimForkRecord, TCoreSourceForkRecord } from "../schemata/fork.js";
|
|
5
|
+
import type { TPropositCoreSnapshot, TPropositCoreConfig } from "./interfaces/library.interfaces.js";
|
|
6
|
+
import type { TInvariantValidationResult } from "../types/validation.js";
|
|
7
|
+
import type { TForkArgumentOptions, TForkRemapTable } from "../types/fork.js";
|
|
8
|
+
import type { TCoreArgumentDiff, TCoreDiffOptions } from "../types/diff.js";
|
|
9
|
+
import { ClaimLibrary } from "./claim-library.js";
|
|
10
|
+
import { SourceLibrary } from "./source-library.js";
|
|
11
|
+
import { ClaimSourceLibrary } from "./claim-source-library.js";
|
|
12
|
+
import { ArgumentLibrary } from "./argument-library.js";
|
|
13
|
+
import { ArgumentEngine } from "./argument-engine.js";
|
|
14
|
+
import { ForkLibrary } from "./fork-library.js";
|
|
15
|
+
/**
|
|
16
|
+
* Options for constructing a `PropositCore` instance. Accepts optional
|
|
17
|
+
* pre-constructed library instances and/or shared configuration. When a
|
|
18
|
+
* library instance is provided, it is used directly; otherwise a new one
|
|
19
|
+
* is constructed using the shared config.
|
|
20
|
+
*/
|
|
21
|
+
export type TPropositCoreOptions<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord> = TPropositCoreConfig & {
|
|
22
|
+
/** Pre-constructed claim library instance. */
|
|
23
|
+
claimLibrary?: ClaimLibrary<TClaim>;
|
|
24
|
+
/** Pre-constructed source library instance. */
|
|
25
|
+
sourceLibrary?: SourceLibrary<TSource>;
|
|
26
|
+
/** Pre-constructed claim-source association library instance. */
|
|
27
|
+
claimSourceLibrary?: ClaimSourceLibrary<TAssoc>;
|
|
28
|
+
/** Pre-constructed fork library instance. */
|
|
29
|
+
forkLibrary?: ForkLibrary<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
30
|
+
/** Pre-constructed argument library instance. */
|
|
31
|
+
argumentLibrary?: ArgumentLibrary<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Top-level orchestrator for the proposit-core system. Owns all five
|
|
35
|
+
* libraries (claims, sources, claim-source associations, forks, arguments)
|
|
36
|
+
* and provides unified snapshot/restore and validation.
|
|
37
|
+
*
|
|
38
|
+
* Construction order follows dependency order:
|
|
39
|
+
* claims -> sources -> claimSources -> forks -> arguments.
|
|
40
|
+
*/
|
|
41
|
+
export declare class PropositCore<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord> {
|
|
42
|
+
readonly claims: ClaimLibrary<TClaim>;
|
|
43
|
+
readonly sources: SourceLibrary<TSource>;
|
|
44
|
+
readonly claimSources: ClaimSourceLibrary<TAssoc>;
|
|
45
|
+
readonly forks: ForkLibrary<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
46
|
+
readonly arguments: ArgumentLibrary<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
|
|
47
|
+
constructor(options?: TPropositCoreOptions<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc, TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>);
|
|
48
|
+
/**
|
|
49
|
+
* Returns a serializable snapshot of the entire PropositCore state,
|
|
50
|
+
* including all libraries.
|
|
51
|
+
*/
|
|
52
|
+
snapshot(): TPropositCoreSnapshot<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc, TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
53
|
+
/**
|
|
54
|
+
* Restores a `PropositCore` instance from a snapshot. Libraries are
|
|
55
|
+
* restored in dependency order: claims -> sources -> claimSources ->
|
|
56
|
+
* forks -> arguments.
|
|
57
|
+
*
|
|
58
|
+
* @param snapshot - The serialized PropositCore snapshot.
|
|
59
|
+
* @param config - Optional shared configuration for the restored instance.
|
|
60
|
+
* @returns A fully restored `PropositCore` instance.
|
|
61
|
+
*/
|
|
62
|
+
static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord, TSourceFork extends TCoreSourceForkRecord = TCoreSourceForkRecord>(snapshot: TPropositCoreSnapshot<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc, TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>, config?: TPropositCoreConfig): PropositCore<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc, TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TSourceFork>;
|
|
63
|
+
/**
|
|
64
|
+
* Runs invariant validation across all managed libraries and merges
|
|
65
|
+
* the results.
|
|
66
|
+
*
|
|
67
|
+
* @returns A combined validation result.
|
|
68
|
+
*/
|
|
69
|
+
validate(): TInvariantValidationResult;
|
|
70
|
+
/**
|
|
71
|
+
* Forks an argument, cloning its referenced claims, sources, and
|
|
72
|
+
* claim-source associations, then remaps variable claim references to
|
|
73
|
+
* point at the cloned claims. Creates fork records in all six
|
|
74
|
+
* namespaces.
|
|
75
|
+
*
|
|
76
|
+
* @param argumentId - The ID of the argument to fork.
|
|
77
|
+
* @param newArgumentId - The ID for the forked argument.
|
|
78
|
+
* @param options - Optional fork configuration and extras for fork records.
|
|
79
|
+
* @returns The forked engine, remap tables, and the argument fork record.
|
|
80
|
+
*/
|
|
81
|
+
forkArgument(argumentId: string, newArgumentId: string, options?: TForkArgumentOptions & {
|
|
82
|
+
forkId?: string;
|
|
83
|
+
argumentForkExtras?: Partial<Omit<TArgFork, keyof TCoreArgumentForkRecord>>;
|
|
84
|
+
premiseForkExtras?: Partial<Omit<TPremiseFork, keyof TCorePremiseForkRecord>>;
|
|
85
|
+
expressionForkExtras?: Partial<Omit<TExprFork, keyof TCoreExpressionForkRecord>>;
|
|
86
|
+
variableForkExtras?: Partial<Omit<TVarFork, keyof TCoreVariableForkRecord>>;
|
|
87
|
+
claimForkExtras?: Partial<Omit<TClaimFork, keyof TCoreClaimForkRecord>>;
|
|
88
|
+
sourceForkExtras?: Partial<Omit<TSourceFork, keyof TCoreSourceForkRecord>>;
|
|
89
|
+
}): {
|
|
90
|
+
engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
|
|
91
|
+
remapTable: TForkRemapTable;
|
|
92
|
+
claimRemap: Map<string, string>;
|
|
93
|
+
sourceRemap: Map<string, string>;
|
|
94
|
+
argumentFork: TArgFork;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Computes a structural diff between two arguments managed by this
|
|
98
|
+
* `PropositCore` instance. Automatically injects fork-aware entity
|
|
99
|
+
* matchers derived from the fork records stored in `this.forks`.
|
|
100
|
+
* Caller-provided matchers in `options` take precedence over the
|
|
101
|
+
* fork-aware defaults.
|
|
102
|
+
*
|
|
103
|
+
* @param argumentIdA - The ID of the "before" argument.
|
|
104
|
+
* @param argumentIdB - The ID of the "after" argument.
|
|
105
|
+
* @param options - Optional diff configuration and comparator overrides.
|
|
106
|
+
* @returns A structural diff between the two arguments.
|
|
107
|
+
*/
|
|
108
|
+
diffArguments(argumentIdA: string, argumentIdB: string, options?: TCoreDiffOptions<TArg, TVar, TPremise, TExpr>): TCoreArgumentDiff<TArg, TVar, TPremise, TExpr>;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=proposit-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposit-core.d.ts","sourceRoot":"","sources":["../../../src/lib/core/proposit-core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EACR,2BAA2B,EAC3B,WAAW,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACR,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACR,qBAAqB,EACrB,mBAAmB,EACtB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAC5B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,EACxE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,YAAY,SAAS,sBAAsB,GAAG,sBAAsB,EACpE,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,EACvE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,IACjE,mBAAmB,GAAG;IACtB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,6CAA6C;IAC7C,WAAW,CAAC,EAAE,WAAW,CACrB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd,CAAA;IACD,iDAAiD;IACjD,eAAe,CAAC,EAAE,eAAe,CAC7B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,CACT,CAAA;CACJ,CAAA;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY,CACrB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,EACxE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,YAAY,SAAS,sBAAsB,GAAG,sBAAsB,EACpE,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,EACvE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB;IAEjE,SAAgB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAC5C,SAAgB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,SAAgB,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACxD,SAAgB,KAAK,EAAE,WAAW,CAC9B,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd,CAAA;IACD,SAAgB,SAAS,EAAE,eAAe,CACtC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,CACT,CAAA;gBAGG,OAAO,CAAC,EAAE,oBAAoB,CAC1B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd;IAwDL;;;OAGG;IACI,QAAQ,IAAI,qBAAqB,CACpC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd;IAUD;;;;;;;;OAQG;WACW,YAAY,CACtB,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GACtC,4BAA4B,EAChC,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,2BAA2B,GACtC,2BAA2B,EAC/B,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,YAAY,SAAS,sBAAsB,GAAG,sBAAsB,EACpE,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,EACvE,QAAQ,SAAS,uBAAuB,GAAG,uBAAuB,EAClE,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EAEjE,QAAQ,EAAE,qBAAqB,CAC3B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd,EACD,MAAM,CAAC,EAAE,mBAAmB,GAC7B,YAAY,CACX,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,CACd;IA2ED;;;;;OAKG;IACI,QAAQ,IAAI,0BAA0B;IAW7C;;;;;;;;;;OAUG;IACI,YAAY,CACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,oBAAoB,GAAG;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,kBAAkB,CAAC,EAAE,OAAO,CACxB,IAAI,CAAC,QAAQ,EAAE,MAAM,uBAAuB,CAAC,CAChD,CAAA;QACD,iBAAiB,CAAC,EAAE,OAAO,CACvB,IAAI,CAAC,YAAY,EAAE,MAAM,sBAAsB,CAAC,CACnD,CAAA;QACD,oBAAoB,CAAC,EAAE,OAAO,CAC1B,IAAI,CAAC,SAAS,EAAE,MAAM,yBAAyB,CAAC,CACnD,CAAA;QACD,kBAAkB,CAAC,EAAE,OAAO,CACxB,IAAI,CAAC,QAAQ,EAAE,MAAM,uBAAuB,CAAC,CAChD,CAAA;QACD,eAAe,CAAC,EAAE,OAAO,CACrB,IAAI,CAAC,UAAU,EAAE,MAAM,oBAAoB,CAAC,CAC/C,CAAA;QACD,gBAAgB,CAAC,EAAE,OAAO,CACtB,IAAI,CAAC,WAAW,EAAE,MAAM,qBAAqB,CAAC,CACjD,CAAA;KACJ,GACF;QACC,MAAM,EAAE,cAAc,CAClB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,CACT,CAAA;QACD,UAAU,EAAE,eAAe,CAAA;QAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,YAAY,EAAE,QAAQ,CAAA;KACzB;IA4PD;;;;;;;;;;;OAWG;IACI,aAAa,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GACxD,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;CAiCpD"}
|