@polintpro/proposit-core 0.6.6 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +201 -0
  2. package/dist/extensions/basics/schemata.d.ts +7 -0
  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 +34 -2
  6. package/dist/lib/consts.js.map +1 -1
  7. package/dist/lib/core/argument-engine.d.ts +38 -2
  8. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  9. package/dist/lib/core/argument-engine.js +636 -227
  10. package/dist/lib/core/argument-engine.js.map +1 -1
  11. package/dist/lib/core/change-collector.d.ts +1 -0
  12. package/dist/lib/core/change-collector.d.ts.map +1 -1
  13. package/dist/lib/core/change-collector.js +3 -0
  14. package/dist/lib/core/change-collector.js.map +1 -1
  15. package/dist/lib/core/claim-library.d.ts +4 -0
  16. package/dist/lib/core/claim-library.d.ts.map +1 -1
  17. package/dist/lib/core/claim-library.js +126 -59
  18. package/dist/lib/core/claim-library.js.map +1 -1
  19. package/dist/lib/core/claim-source-library.d.ts +4 -0
  20. package/dist/lib/core/claim-source-library.d.ts.map +1 -1
  21. package/dist/lib/core/claim-source-library.js +114 -38
  22. package/dist/lib/core/claim-source-library.js.map +1 -1
  23. package/dist/lib/core/diff.d.ts +10 -0
  24. package/dist/lib/core/diff.d.ts.map +1 -1
  25. package/dist/lib/core/diff.js +114 -21
  26. package/dist/lib/core/diff.js.map +1 -1
  27. package/dist/lib/core/expression-manager.d.ts +11 -0
  28. package/dist/lib/core/expression-manager.d.ts.map +1 -1
  29. package/dist/lib/core/expression-manager.js +379 -20
  30. package/dist/lib/core/expression-manager.js.map +1 -1
  31. package/dist/lib/core/fork.d.ts +31 -0
  32. package/dist/lib/core/fork.d.ts.map +1 -0
  33. package/dist/lib/core/fork.js +139 -0
  34. package/dist/lib/core/fork.js.map +1 -0
  35. package/dist/lib/core/forks-library.d.ts +58 -0
  36. package/dist/lib/core/forks-library.d.ts.map +1 -0
  37. package/dist/lib/core/forks-library.js +142 -0
  38. package/dist/lib/core/forks-library.js.map +1 -0
  39. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +9 -2
  40. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  41. package/dist/lib/core/interfaces/index.d.ts +1 -1
  42. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  43. package/dist/lib/core/interfaces/library.interfaces.d.ts +48 -0
  44. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  45. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +22 -0
  46. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
  47. package/dist/lib/core/invariant-violation-error.d.ts +6 -0
  48. package/dist/lib/core/invariant-violation-error.d.ts.map +1 -0
  49. package/dist/lib/core/invariant-violation-error.js +12 -0
  50. package/dist/lib/core/invariant-violation-error.js.map +1 -0
  51. package/dist/lib/core/parser/formula.d.ts.map +1 -1
  52. package/dist/lib/core/parser/formula.js +2 -2
  53. package/dist/lib/core/parser/formula.js.map +1 -1
  54. package/dist/lib/core/premise-engine.d.ts +10 -0
  55. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  56. package/dist/lib/core/premise-engine.js +699 -536
  57. package/dist/lib/core/premise-engine.js.map +1 -1
  58. package/dist/lib/core/source-library.d.ts +4 -0
  59. package/dist/lib/core/source-library.d.ts.map +1 -1
  60. package/dist/lib/core/source-library.js +126 -59
  61. package/dist/lib/core/source-library.js.map +1 -1
  62. package/dist/lib/core/variable-manager.d.ts +7 -0
  63. package/dist/lib/core/variable-manager.d.ts.map +1 -1
  64. package/dist/lib/core/variable-manager.js +65 -1
  65. package/dist/lib/core/variable-manager.js.map +1 -1
  66. package/dist/lib/index.d.ts +9 -1
  67. package/dist/lib/index.d.ts.map +1 -1
  68. package/dist/lib/index.js +8 -1
  69. package/dist/lib/index.js.map +1 -1
  70. package/dist/lib/schemata/argument.d.ts +3 -0
  71. package/dist/lib/schemata/argument.d.ts.map +1 -1
  72. package/dist/lib/schemata/argument.js +9 -0
  73. package/dist/lib/schemata/argument.js.map +1 -1
  74. package/dist/lib/schemata/fork.d.ts +17 -0
  75. package/dist/lib/schemata/fork.d.ts.map +1 -0
  76. package/dist/lib/schemata/fork.js +27 -0
  77. package/dist/lib/schemata/fork.js.map +1 -0
  78. package/dist/lib/schemata/index.d.ts +1 -0
  79. package/dist/lib/schemata/index.d.ts.map +1 -1
  80. package/dist/lib/schemata/index.js +1 -0
  81. package/dist/lib/schemata/index.js.map +1 -1
  82. package/dist/lib/schemata/propositional.d.ts +52 -0
  83. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  84. package/dist/lib/schemata/propositional.js +43 -0
  85. package/dist/lib/schemata/propositional.js.map +1 -1
  86. package/dist/lib/types/checksum.d.ts +2 -0
  87. package/dist/lib/types/checksum.d.ts.map +1 -1
  88. package/dist/lib/types/diff.d.ts +6 -0
  89. package/dist/lib/types/diff.d.ts.map +1 -1
  90. package/dist/lib/types/fork.d.ts +25 -0
  91. package/dist/lib/types/fork.d.ts.map +1 -0
  92. package/dist/lib/types/fork.js +2 -0
  93. package/dist/lib/types/fork.js.map +1 -0
  94. package/dist/lib/types/grammar.d.ts +5 -4
  95. package/dist/lib/types/grammar.d.ts.map +1 -1
  96. package/dist/lib/types/grammar.js.map +1 -1
  97. package/dist/lib/types/validation.d.ts +47 -0
  98. package/dist/lib/types/validation.d.ts.map +1 -0
  99. package/dist/lib/types/validation.js +43 -0
  100. package/dist/lib/types/validation.js.map +1 -0
  101. package/dist/lib/utils/changeset.d.ts +124 -0
  102. package/dist/lib/utils/changeset.d.ts.map +1 -0
  103. package/dist/lib/utils/changeset.js +221 -0
  104. package/dist/lib/utils/changeset.js.map +1 -0
  105. package/dist/lib/utils/lookup.d.ts +47 -0
  106. package/dist/lib/utils/lookup.d.ts.map +1 -0
  107. package/dist/lib/utils/lookup.js +62 -0
  108. package/dist/lib/utils/lookup.js.map +1 -0
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"expression-manager.js","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-manager.js","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
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. Each forked entity carries `forkedFrom*`
12
+ * metadata pointing back to the originals.
13
+ *
14
+ * This function does NOT call `engine.canFork()` — callers are responsible
15
+ * for checking fork eligibility.
16
+ *
17
+ * @param engine - The source engine to fork.
18
+ * @param newArgumentId - The ID for the forked argument.
19
+ * @param libraries - Claim, source, and claim-source libraries for the new engine.
20
+ * @param options - Optional ID generator, checksum/position/grammar config overrides.
21
+ * @returns The forked engine and a remap table mapping original to new entity IDs.
22
+ */
23
+ 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: {
24
+ claimLibrary: TClaimLookup<TClaim>;
25
+ sourceLibrary: TSourceLookup<TSource>;
26
+ claimSourceLibrary: TClaimSourceLookup<TAssoc>;
27
+ }, options?: TForkArgumentOptions): {
28
+ engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
29
+ remapTable: TForkRemapTable;
30
+ };
31
+ //# 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;;;;;;;;;;;;;;;GAeG;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,CAqKA"}
@@ -0,0 +1,139 @@
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. Each forked entity carries `forkedFrom*`
10
+ * metadata pointing back to the originals.
11
+ *
12
+ * This function does NOT call `engine.canFork()` — callers are responsible
13
+ * for checking fork eligibility.
14
+ *
15
+ * @param engine - The source engine to fork.
16
+ * @param newArgumentId - The ID for the forked argument.
17
+ * @param libraries - Claim, source, and claim-source libraries for the new engine.
18
+ * @param options - Optional ID generator, checksum/position/grammar config overrides.
19
+ * @returns The forked engine and a remap table mapping original to new entity IDs.
20
+ */
21
+ export function forkArgumentEngine(engine, newArgumentId, libraries, options) {
22
+ const generateId = options?.generateId ?? randomUUID;
23
+ // Snapshot includes config from the source engine
24
+ const snap = engine.snapshot();
25
+ const originalArgumentId = snap.argument.id;
26
+ const originalArgumentVersion = snap.argument.version;
27
+ // Build remap tables (old ID → new ID)
28
+ const premiseRemap = new Map();
29
+ const expressionRemap = new Map();
30
+ const variableRemap = new Map();
31
+ for (const ps of snap.premises) {
32
+ premiseRemap.set(ps.premise.id, generateId());
33
+ for (const expr of ps.expressions.expressions) {
34
+ expressionRemap.set(expr.id, generateId());
35
+ }
36
+ }
37
+ for (const v of snap.variables.variables) {
38
+ variableRemap.set(v.id, generateId());
39
+ }
40
+ const remapTable = {
41
+ argumentId: { from: originalArgumentId, to: newArgumentId },
42
+ premises: premiseRemap,
43
+ expressions: expressionRemap,
44
+ variables: variableRemap,
45
+ };
46
+ // Remap argument
47
+ snap.argument = {
48
+ ...snap.argument,
49
+ id: newArgumentId,
50
+ version: 0,
51
+ forkedFromArgumentId: originalArgumentId,
52
+ forkedFromArgumentVersion: originalArgumentVersion,
53
+ };
54
+ // Remap premises and expressions
55
+ for (const ps of snap.premises) {
56
+ const originalPremiseId = ps.premise.id;
57
+ const newPremiseId = premiseRemap.get(originalPremiseId);
58
+ ps.premise = {
59
+ ...ps.premise,
60
+ id: newPremiseId,
61
+ argumentId: newArgumentId,
62
+ argumentVersion: 0,
63
+ forkedFromPremiseId: originalPremiseId,
64
+ forkedFromArgumentId: originalArgumentId,
65
+ forkedFromArgumentVersion: originalArgumentVersion,
66
+ };
67
+ if (ps.rootExpressionId) {
68
+ ps.rootExpressionId = expressionRemap.get(ps.rootExpressionId);
69
+ }
70
+ ps.expressions.expressions = ps.expressions.expressions.map((expr) => {
71
+ const originalExprId = expr.id;
72
+ const newExprId = expressionRemap.get(originalExprId);
73
+ const remapped = {
74
+ ...expr,
75
+ id: newExprId,
76
+ argumentId: newArgumentId,
77
+ argumentVersion: 0,
78
+ premiseId: newPremiseId,
79
+ parentId: expr.parentId
80
+ ? (expressionRemap.get(expr.parentId) ?? null)
81
+ : null,
82
+ forkedFromExpressionId: originalExprId,
83
+ forkedFromPremiseId: originalPremiseId,
84
+ forkedFromArgumentId: originalArgumentId,
85
+ forkedFromArgumentVersion: originalArgumentVersion,
86
+ };
87
+ if (remapped.type === "variable" &&
88
+ "variableId" in remapped) {
89
+ const origVarId = remapped.variableId;
90
+ remapped.variableId =
91
+ variableRemap.get(origVarId);
92
+ }
93
+ return remapped;
94
+ });
95
+ }
96
+ // Remap variables
97
+ snap.variables.variables = snap.variables.variables.map((v) => {
98
+ const originalVarId = v.id;
99
+ const newVarId = variableRemap.get(originalVarId);
100
+ const remapped = {
101
+ ...v,
102
+ id: newVarId,
103
+ argumentId: newArgumentId,
104
+ argumentVersion: 0,
105
+ forkedFromVariableId: originalVarId,
106
+ forkedFromArgumentId: originalArgumentId,
107
+ forkedFromArgumentVersion: originalArgumentVersion,
108
+ };
109
+ if (isPremiseBound(remapped)) {
110
+ const premiseBound = remapped;
111
+ premiseBound.boundPremiseId = premiseRemap.get(premiseBound.boundPremiseId);
112
+ premiseBound.boundArgumentId = newArgumentId;
113
+ premiseBound.boundArgumentVersion = 0;
114
+ }
115
+ return remapped;
116
+ });
117
+ // Remap conclusion
118
+ if (snap.conclusionPremiseId) {
119
+ snap.conclusionPremiseId = premiseRemap.get(snap.conclusionPremiseId);
120
+ }
121
+ // Override config from options if provided; snapshot already has source config
122
+ if (options?.checksumConfig) {
123
+ snap.config = {
124
+ ...snap.config,
125
+ checksumConfig: serializeChecksumConfig(options.checksumConfig),
126
+ };
127
+ }
128
+ if (options?.positionConfig) {
129
+ snap.config = { ...snap.config, positionConfig: options.positionConfig };
130
+ }
131
+ if (options?.grammarConfig) {
132
+ snap.config = { ...snap.config, grammarConfig: options.grammarConfig };
133
+ }
134
+ const grammarConfig = options?.grammarConfig ?? snap.config?.grammarConfig;
135
+ // Construct new engine
136
+ const forkedEngine = ArgumentEngine.fromSnapshot(snap, libraries.claimLibrary, libraries.sourceLibrary, libraries.claimSourceLibrary, grammarConfig, "ignore");
137
+ return { engine: forkedEngine, remapTable };
138
+ }
139
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { TCoreFork } from "../schemata/fork.js";
2
+ import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
3
+ import type { TCoreClaim } from "../schemata/claim.js";
4
+ import type { TCoreSource, TCoreClaimSourceAssociation } from "../schemata/source.js";
5
+ import type { TCoreChecksumConfig } from "../types/checksum.js";
6
+ import type { TForkArgumentOptions, TForkRemapTable } from "../types/fork.js";
7
+ import { ArgumentEngine } from "./argument-engine.js";
8
+ import type { TClaimLookup, TSourceLookup, TClaimSourceLookup, TForkLookup, TForksLibrarySnapshot } from "./interfaces/library.interfaces.js";
9
+ import type { TInvariantValidationResult } from "../types/validation.js";
10
+ export declare class ForksLibrary<TFork extends TCoreFork = TCoreFork> implements TForkLookup<TFork> {
11
+ private forks;
12
+ private checksumConfig?;
13
+ constructor(options?: {
14
+ checksumConfig?: TCoreChecksumConfig;
15
+ });
16
+ private restoreFromSnapshot;
17
+ private withValidation;
18
+ private computeChecksum;
19
+ create(fork: Omit<TFork, "checksum"> & {
20
+ checksum?: string;
21
+ }): TFork;
22
+ get(id: string): TFork | undefined;
23
+ getAll(): TFork[];
24
+ remove(id: string): TFork;
25
+ snapshot(): TForksLibrarySnapshot<TFork>;
26
+ validate(): TInvariantValidationResult;
27
+ /**
28
+ * Creates an independent copy of an argument engine under a new argument ID,
29
+ * with a fork record tracking the operation.
30
+ *
31
+ * Calls `engine.canFork()` as a guard. Delegates engine forking to
32
+ * `forkArgumentEngine()`, creates the fork record, and sets `forkId` on
33
+ * all entities in the forked engine.
34
+ *
35
+ * @param engine - The source engine to fork.
36
+ * @param newArgumentId - The ID for the forked argument.
37
+ * @param libraries - Claim, source, and claim-source libraries for the fork.
38
+ * @param options - Fork options plus optional `forkId` and `creatorId`.
39
+ * @returns The forked engine, remap table, and fork record.
40
+ * @throws If `engine.canFork()` returns false.
41
+ */
42
+ forkArgument<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: {
43
+ claimLibrary: TClaimLookup<TClaim>;
44
+ sourceLibrary: TSourceLookup<TSource>;
45
+ claimSourceLibrary: TClaimSourceLookup<TAssoc>;
46
+ }, options?: TForkArgumentOptions & {
47
+ forkId?: string;
48
+ creatorId?: string;
49
+ }): {
50
+ engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
51
+ remapTable: TForkRemapTable;
52
+ fork: TFork;
53
+ };
54
+ static fromSnapshot<TFork extends TCoreFork = TCoreFork>(snapshot: TForksLibrarySnapshot<TFork>, options?: {
55
+ checksumConfig?: TCoreChecksumConfig;
56
+ }): ForksLibrary<TFork>;
57
+ }
58
+ //# sourceMappingURL=forks-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forks-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/forks-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Value } from "typebox/value";
3
+ import { CoreForkSchema } from "../schemata/fork.js";
4
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
5
+ import { entityChecksum } from "./checksum.js";
6
+ import { ArgumentEngine } from "./argument-engine.js";
7
+ import { forkArgumentEngine } from "./fork.js";
8
+ import { FORK_SCHEMA_INVALID } from "../types/validation.js";
9
+ import { InvariantViolationError } from "./invariant-violation-error.js";
10
+ export class ForksLibrary {
11
+ forks;
12
+ checksumConfig;
13
+ constructor(options) {
14
+ this.forks = new Map();
15
+ this.checksumConfig = options?.checksumConfig;
16
+ }
17
+ restoreFromSnapshot(snap) {
18
+ this.forks = new Map();
19
+ for (const fork of snap.forks) {
20
+ this.forks.set(fork.id, fork);
21
+ }
22
+ }
23
+ withValidation(fn) {
24
+ const snap = this.snapshot();
25
+ try {
26
+ const result = fn();
27
+ const validation = this.validate();
28
+ if (!validation.ok) {
29
+ this.restoreFromSnapshot(snap);
30
+ throw new InvariantViolationError(validation.violations);
31
+ }
32
+ return result;
33
+ }
34
+ catch (e) {
35
+ if (!(e instanceof InvariantViolationError)) {
36
+ this.restoreFromSnapshot(snap);
37
+ }
38
+ throw e;
39
+ }
40
+ }
41
+ computeChecksum(fork) {
42
+ const fields = this.checksumConfig?.forkFields ??
43
+ DEFAULT_CHECKSUM_CONFIG.forkFields;
44
+ return entityChecksum(fork, fields);
45
+ }
46
+ create(fork) {
47
+ return this.withValidation(() => {
48
+ if (this.forks.has(fork.id)) {
49
+ throw new Error(`Fork record with ID "${fork.id}" already exists.`);
50
+ }
51
+ const full = { ...fork, checksum: "" };
52
+ full.checksum = this.computeChecksum(full);
53
+ this.forks.set(full.id, full);
54
+ return full;
55
+ });
56
+ }
57
+ get(id) {
58
+ return this.forks.get(id);
59
+ }
60
+ getAll() {
61
+ return Array.from(this.forks.values());
62
+ }
63
+ remove(id) {
64
+ return this.withValidation(() => {
65
+ const fork = this.forks.get(id);
66
+ if (!fork) {
67
+ throw new Error(`Fork record "${id}" not found.`);
68
+ }
69
+ this.forks.delete(id);
70
+ return fork;
71
+ });
72
+ }
73
+ snapshot() {
74
+ return { forks: this.getAll() };
75
+ }
76
+ validate() {
77
+ const violations = [];
78
+ for (const [id, fork] of this.forks) {
79
+ if (!Value.Check(CoreForkSchema, fork)) {
80
+ violations.push({
81
+ code: FORK_SCHEMA_INVALID,
82
+ message: `Fork record "${id}" does not conform to schema`,
83
+ entityType: "fork",
84
+ entityId: id,
85
+ });
86
+ }
87
+ }
88
+ return { ok: violations.length === 0, violations };
89
+ }
90
+ /**
91
+ * Creates an independent copy of an argument engine under a new argument ID,
92
+ * with a fork record tracking the operation.
93
+ *
94
+ * Calls `engine.canFork()` as a guard. Delegates engine forking to
95
+ * `forkArgumentEngine()`, creates the fork record, and sets `forkId` on
96
+ * all entities in the forked engine.
97
+ *
98
+ * @param engine - The source engine to fork.
99
+ * @param newArgumentId - The ID for the forked argument.
100
+ * @param libraries - Claim, source, and claim-source libraries for the fork.
101
+ * @param options - Fork options plus optional `forkId` and `creatorId`.
102
+ * @returns The forked engine, remap table, and fork record.
103
+ * @throws If `engine.canFork()` returns false.
104
+ */
105
+ forkArgument(engine, newArgumentId, libraries, options) {
106
+ // 1. Guard
107
+ if (!engine.canFork()) {
108
+ throw new Error("Forking is not allowed for this engine.");
109
+ }
110
+ // 2. Snapshot source argument metadata for the fork record
111
+ const sourceArg = engine.getArgument();
112
+ // 3. Fork the engine
113
+ const { engine: forkedEngine, remapTable } = forkArgumentEngine(engine, newArgumentId, libraries, options);
114
+ // 4. Create fork record
115
+ const forkId = options?.forkId ?? randomUUID();
116
+ const fork = this.create({
117
+ id: forkId,
118
+ sourceArgumentId: sourceArg.id,
119
+ sourceArgumentVersion: sourceArg.version,
120
+ createdOn: new Date().toISOString(),
121
+ ...(options?.creatorId ? { creatorId: options.creatorId } : {}),
122
+ });
123
+ // 5. Set forkId on all entities via snapshot → inject → reconstruct
124
+ const snap = forkedEngine.snapshot();
125
+ snap.argument = { ...snap.argument, forkId };
126
+ for (const ps of snap.premises) {
127
+ ps.premise = { ...ps.premise, forkId };
128
+ ps.expressions.expressions = ps.expressions.expressions.map((expr) => ({ ...expr, forkId }));
129
+ }
130
+ snap.variables.variables = snap.variables.variables.map((v) => ({ ...v, forkId }));
131
+ const finalEngine = ArgumentEngine.fromSnapshot(snap, libraries.claimLibrary, libraries.sourceLibrary, libraries.claimSourceLibrary, snap.config?.grammarConfig, "ignore");
132
+ return { engine: finalEngine, remapTable, fork };
133
+ }
134
+ static fromSnapshot(snapshot, options) {
135
+ const lib = new ForksLibrary(options);
136
+ for (const fork of snapshot.forks) {
137
+ lib.forks.set(fork.id, fork);
138
+ }
139
+ return lib;
140
+ }
141
+ }
142
+ //# sourceMappingURL=forks-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forks-library.js","sourceRoot":"","sources":["../../../src/lib/core/forks-library.ts"],"names":[],"mappings":"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"}