@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.
Files changed (73) hide show
  1. package/README.md +64 -20
  2. package/dist/extensions/basics/schemata.d.ts +0 -5
  3. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  4. package/dist/lib/consts.d.ts.map +1 -1
  5. package/dist/lib/consts.js +2 -21
  6. package/dist/lib/consts.js.map +1 -1
  7. package/dist/lib/core/argument-engine.d.ts +1 -14
  8. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  9. package/dist/lib/core/argument-engine.js +0 -128
  10. package/dist/lib/core/argument-engine.js.map +1 -1
  11. package/dist/lib/core/argument-library.d.ts +84 -0
  12. package/dist/lib/core/argument-library.d.ts.map +1 -0
  13. package/dist/lib/core/argument-library.js +122 -0
  14. package/dist/lib/core/argument-library.js.map +1 -0
  15. package/dist/lib/core/diff.d.ts +0 -10
  16. package/dist/lib/core/diff.d.ts.map +1 -1
  17. package/dist/lib/core/diff.js +0 -31
  18. package/dist/lib/core/diff.js.map +1 -1
  19. package/dist/lib/core/fork-library.d.ts +17 -0
  20. package/dist/lib/core/fork-library.d.ts.map +1 -0
  21. package/dist/lib/core/fork-library.js +62 -0
  22. package/dist/lib/core/fork-library.js.map +1 -0
  23. package/dist/lib/core/fork-namespace.d.ts +19 -0
  24. package/dist/lib/core/fork-namespace.d.ts.map +1 -0
  25. package/dist/lib/core/fork-namespace.js +86 -0
  26. package/dist/lib/core/fork-namespace.js.map +1 -0
  27. package/dist/lib/core/fork.d.ts +30 -0
  28. package/dist/lib/core/fork.d.ts.map +1 -0
  29. package/dist/lib/core/fork.js +125 -0
  30. package/dist/lib/core/fork.js.map +1 -0
  31. package/dist/lib/core/interfaces/index.d.ts +1 -1
  32. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  33. package/dist/lib/core/interfaces/library.interfaces.d.ts +61 -0
  34. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  35. package/dist/lib/core/proposit-core.d.ts +110 -0
  36. package/dist/lib/core/proposit-core.d.ts.map +1 -0
  37. package/dist/lib/core/proposit-core.js +357 -0
  38. package/dist/lib/core/proposit-core.js.map +1 -0
  39. package/dist/lib/index.d.ts +11 -1
  40. package/dist/lib/index.d.ts.map +1 -1
  41. package/dist/lib/index.js +8 -1
  42. package/dist/lib/index.js.map +1 -1
  43. package/dist/lib/schemata/argument.d.ts +0 -2
  44. package/dist/lib/schemata/argument.d.ts.map +1 -1
  45. package/dist/lib/schemata/argument.js +0 -6
  46. package/dist/lib/schemata/argument.js.map +1 -1
  47. package/dist/lib/schemata/fork.d.ts +76 -0
  48. package/dist/lib/schemata/fork.d.ts.map +1 -0
  49. package/dist/lib/schemata/fork.js +55 -0
  50. package/dist/lib/schemata/fork.js.map +1 -0
  51. package/dist/lib/schemata/index.d.ts +1 -0
  52. package/dist/lib/schemata/index.d.ts.map +1 -1
  53. package/dist/lib/schemata/index.js +1 -0
  54. package/dist/lib/schemata/index.js.map +1 -1
  55. package/dist/lib/schemata/propositional.d.ts +0 -39
  56. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  57. package/dist/lib/schemata/propositional.js +0 -30
  58. package/dist/lib/schemata/propositional.js.map +1 -1
  59. package/dist/lib/types/fork.d.ts +0 -7
  60. package/dist/lib/types/fork.d.ts.map +1 -1
  61. package/dist/lib/types/validation.d.ts +2 -1
  62. package/dist/lib/types/validation.d.ts.map +1 -1
  63. package/dist/lib/types/validation.js +2 -0
  64. package/dist/lib/types/validation.js.map +1 -1
  65. package/dist/lib/utils/changeset.d.ts +124 -0
  66. package/dist/lib/utils/changeset.d.ts.map +1 -0
  67. package/dist/lib/utils/changeset.js +221 -0
  68. package/dist/lib/utils/changeset.js.map +1 -0
  69. package/dist/lib/utils/lookup.d.ts +47 -0
  70. package/dist/lib/utils/lookup.d.ts.map +1 -0
  71. package/dist/lib/utils/lookup.js +62 -0
  72. package/dist/lib/utils/lookup.js.map +1 -0
  73. 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":"AAQA,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,MAAM,OAAO,WAAW;IAQJ,SAAS,CAAyB;IAClC,QAAQ,CAA6B;IACrC,WAAW,CAA0B;IACrC,SAAS,CAAyB;IAClC,MAAM,CAA2B;IACjC,OAAO,CAA4B;IAEnD;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAW,0BAA0B,CAAC,CAAA;QACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAC7B,0BAA0B,CAC7B,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CAChC,8BAA8B,CACjC,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAW,0BAA0B,CAAC,CAAA;QACxE,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAa,yBAAyB,CAAC,CAAA;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAC5B,0BAA0B,CAC7B,CAAA;IACL,CAAC;IAEM,QAAQ;QAQX,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;SACnC,CAAA;IACL,CAAC;IAEM,MAAM,CAAC,YAAY,CAQtB,QAOC;QASD,MAAM,GAAG,GAAG,IAAI,WAAW,EAOxB,CAAA;QAEH,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,GAAG,CAAA;IACd,CAAC;IAEM,QAAQ;QACX,MAAM,aAAa,GAAG;YAClB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU;YACvC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU;YACtC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU;YACzC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU;YACvC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU;YACpC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU;SACxC,CAAA;QACD,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;IACxE,CAAC;CACJ"}
@@ -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,GAC9B,MAAM,yBAAyB,CAAA"}
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":"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"}
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":"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"}