@polintpro/proposit-core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +13 -0
  2. package/dist/cli/commands/sources.d.ts +3 -0
  3. package/dist/cli/commands/sources.d.ts.map +1 -0
  4. package/dist/cli/commands/sources.js +118 -0
  5. package/dist/cli/commands/sources.js.map +1 -0
  6. package/dist/cli/commands/variables.d.ts.map +1 -1
  7. package/dist/cli/commands/variables.js +3 -0
  8. package/dist/cli/commands/variables.js.map +1 -1
  9. package/dist/cli/config.d.ts +2 -0
  10. package/dist/cli/config.d.ts.map +1 -1
  11. package/dist/cli/config.js +6 -0
  12. package/dist/cli/config.js.map +1 -1
  13. package/dist/cli/engine.d.ts.map +1 -1
  14. package/dist/cli/engine.js +35 -2
  15. package/dist/cli/engine.js.map +1 -1
  16. package/dist/cli/import.d.ts.map +1 -1
  17. package/dist/cli/import.js +7 -1
  18. package/dist/cli/import.js.map +1 -1
  19. package/dist/cli/schemata.d.ts +8 -0
  20. package/dist/cli/schemata.d.ts.map +1 -1
  21. package/dist/cli/schemata.js +10 -0
  22. package/dist/cli/schemata.js.map +1 -1
  23. package/dist/cli/storage/sources.d.ts +11 -0
  24. package/dist/cli/storage/sources.d.ts.map +1 -0
  25. package/dist/cli/storage/sources.js +105 -0
  26. package/dist/cli/storage/sources.js.map +1 -0
  27. package/dist/cli.js +2 -0
  28. package/dist/cli.js.map +1 -1
  29. package/dist/extensions/ieee/index.d.ts +3 -0
  30. package/dist/extensions/ieee/index.d.ts.map +1 -0
  31. package/dist/extensions/ieee/index.js +3 -0
  32. package/dist/extensions/ieee/index.js.map +1 -0
  33. package/dist/extensions/ieee/references.d.ts +620 -0
  34. package/dist/extensions/ieee/references.d.ts.map +1 -0
  35. package/dist/extensions/ieee/references.js +450 -0
  36. package/dist/extensions/ieee/references.js.map +1 -0
  37. package/dist/extensions/ieee/source.d.ts +286 -0
  38. package/dist/extensions/ieee/source.d.ts.map +1 -0
  39. package/dist/extensions/ieee/source.js +12 -0
  40. package/dist/extensions/ieee/source.js.map +1 -0
  41. package/dist/lib/consts.d.ts.map +1 -1
  42. package/dist/lib/consts.js +31 -1
  43. package/dist/lib/consts.js.map +1 -1
  44. package/dist/lib/core/argument-engine.d.ts +25 -117
  45. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  46. package/dist/lib/core/argument-engine.js +239 -123
  47. package/dist/lib/core/argument-engine.js.map +1 -1
  48. package/dist/lib/core/assertion-library.d.ts +27 -0
  49. package/dist/lib/core/assertion-library.d.ts.map +1 -0
  50. package/dist/lib/core/assertion-library.js +129 -0
  51. package/dist/lib/core/assertion-library.js.map +1 -0
  52. package/dist/lib/core/change-collector.d.ts +7 -5
  53. package/dist/lib/core/change-collector.d.ts.map +1 -1
  54. package/dist/lib/core/change-collector.js +18 -5
  55. package/dist/lib/core/change-collector.js.map +1 -1
  56. package/dist/lib/core/diff.d.ts +6 -2
  57. package/dist/lib/core/diff.d.ts.map +1 -1
  58. package/dist/lib/core/diff.js +80 -1
  59. package/dist/lib/core/diff.js.map +1 -1
  60. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +338 -0
  61. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
  62. package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
  63. package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
  64. package/dist/lib/core/interfaces/index.d.ts +6 -0
  65. package/dist/lib/core/interfaces/index.d.ts.map +1 -0
  66. package/dist/lib/core/interfaces/index.js +2 -0
  67. package/dist/lib/core/interfaces/index.js.map +1 -0
  68. package/dist/lib/core/interfaces/library.interfaces.d.ts +19 -0
  69. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -0
  70. package/dist/lib/core/interfaces/library.interfaces.js +2 -0
  71. package/dist/lib/core/interfaces/library.interfaces.js.map +1 -0
  72. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +318 -0
  73. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
  74. package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
  75. package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
  76. package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
  77. package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
  78. package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
  79. package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
  80. package/dist/lib/core/interfaces/source-management.interfaces.d.ts +63 -0
  81. package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
  82. package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
  83. package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
  84. package/dist/lib/core/premise-engine.d.ts +10 -144
  85. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  86. package/dist/lib/core/premise-engine.js +82 -143
  87. package/dist/lib/core/premise-engine.js.map +1 -1
  88. package/dist/lib/core/source-library.d.ts +27 -0
  89. package/dist/lib/core/source-library.d.ts.map +1 -0
  90. package/dist/lib/core/source-library.js +129 -0
  91. package/dist/lib/core/source-library.js.map +1 -0
  92. package/dist/lib/core/source-manager.d.ts +38 -0
  93. package/dist/lib/core/source-manager.d.ts.map +1 -0
  94. package/dist/lib/core/source-manager.js +266 -0
  95. package/dist/lib/core/source-manager.js.map +1 -0
  96. package/dist/lib/index.d.ts +6 -1
  97. package/dist/lib/index.d.ts.map +1 -1
  98. package/dist/lib/index.js +4 -1
  99. package/dist/lib/index.js.map +1 -1
  100. package/dist/lib/schemata/assertion.d.ts +9 -0
  101. package/dist/lib/schemata/assertion.d.ts.map +1 -0
  102. package/dist/lib/schemata/assertion.js +18 -0
  103. package/dist/lib/schemata/assertion.js.map +1 -0
  104. package/dist/lib/schemata/index.d.ts +2 -0
  105. package/dist/lib/schemata/index.d.ts.map +1 -1
  106. package/dist/lib/schemata/index.js +2 -0
  107. package/dist/lib/schemata/index.js.map +1 -1
  108. package/dist/lib/schemata/propositional.d.ts +2 -0
  109. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  110. package/dist/lib/schemata/propositional.js +5 -1
  111. package/dist/lib/schemata/propositional.js.map +1 -1
  112. package/dist/lib/schemata/source.d.ts +30 -0
  113. package/dist/lib/schemata/source.d.ts.map +1 -0
  114. package/dist/lib/schemata/source.js +45 -0
  115. package/dist/lib/schemata/source.js.map +1 -0
  116. package/dist/lib/types/checksum.d.ts +8 -0
  117. package/dist/lib/types/checksum.d.ts.map +1 -1
  118. package/dist/lib/types/diff.d.ts +5 -1
  119. package/dist/lib/types/diff.d.ts.map +1 -1
  120. package/dist/lib/types/evaluation.d.ts +1 -1
  121. package/dist/lib/types/evaluation.d.ts.map +1 -1
  122. package/dist/lib/types/mutation.d.ts +3 -0
  123. package/dist/lib/types/mutation.d.ts.map +1 -1
  124. package/dist/lib/types/reactive.d.ts +3 -1
  125. package/dist/lib/types/reactive.d.ts.map +1 -1
  126. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"premise-engine.js","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"premise-engine.js","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { TCoreSource } from "../schemata/source.js";
2
+ import type { TCoreChecksumConfig } from "../types/checksum.js";
3
+ import type { TSourceLookup, TSourceLibrarySnapshot } from "./interfaces/library.interfaces.js";
4
+ export declare class SourceLibrary<TSource extends TCoreSource = TCoreSource> implements TSourceLookup<TSource> {
5
+ private entities;
6
+ private checksumConfig?;
7
+ constructor(options?: {
8
+ checksumConfig?: TCoreChecksumConfig;
9
+ });
10
+ create(source: Omit<TSource, "version" | "frozen" | "checksum">): TSource;
11
+ update(id: string, updates: Partial<Omit<TSource, "id" | "version" | "frozen" | "checksum">>): TSource;
12
+ freeze(id: string): {
13
+ frozen: TSource;
14
+ current: TSource;
15
+ };
16
+ get(id: string, version: number): TSource | undefined;
17
+ getCurrent(id: string): TSource | undefined;
18
+ getAll(): TSource[];
19
+ getVersions(id: string): TSource[];
20
+ snapshot(): TSourceLibrarySnapshot<TSource>;
21
+ static fromSnapshot<TSource extends TCoreSource = TCoreSource>(snapshot: TSourceLibrarySnapshot<TSource>, options?: {
22
+ checksumConfig?: TCoreChecksumConfig;
23
+ }): SourceLibrary<TSource>;
24
+ private maxVersion;
25
+ private computeChecksum;
26
+ }
27
+ //# sourceMappingURL=source-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/source-library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,aAAa,EACb,sBAAsB,EACzB,MAAM,oCAAoC,CAAA;AAE3C,qBAAa,aAAa,CACtB,OAAO,SAAS,WAAW,GAAG,WAAW,CAC3C,YAAW,aAAa,CAAC,OAAO,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAEhC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAKvD,MAAM,CACT,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,GACzD,OAAO;IAiBH,MAAM,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CACZ,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAC1D,GACF,OAAO;IAyBH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAiCzD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM3C,MAAM,IAAI,OAAO,EAAE;IAUnB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE;IAQlC,QAAQ,IAAI,sBAAsB,CAAC,OAAO,CAAC;WAIpC,YAAY,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAChE,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,EACzC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE,GACnD,aAAa,CAAC,OAAO,CAAC;IAazB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,eAAe;CAS1B"}
@@ -0,0 +1,129 @@
1
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
2
+ import { entityChecksum } from "./checksum.js";
3
+ export class SourceLibrary {
4
+ entities;
5
+ checksumConfig;
6
+ constructor(options) {
7
+ this.entities = new Map();
8
+ this.checksumConfig = options?.checksumConfig;
9
+ }
10
+ create(source) {
11
+ if (this.entities.has(source.id)) {
12
+ throw new Error(`Source with ID "${source.id}" already exists.`);
13
+ }
14
+ const full = {
15
+ ...source,
16
+ version: 0,
17
+ frozen: false,
18
+ checksum: "",
19
+ };
20
+ full.checksum = this.computeChecksum(full);
21
+ const versions = new Map();
22
+ versions.set(0, full);
23
+ this.entities.set(full.id, versions);
24
+ return full;
25
+ }
26
+ update(id, updates) {
27
+ const versions = this.entities.get(id);
28
+ if (!versions) {
29
+ throw new Error(`Source "${id}" does not exist.`);
30
+ }
31
+ const maxVersion = this.maxVersion(versions);
32
+ const current = versions.get(maxVersion);
33
+ if (current.frozen) {
34
+ throw new Error(`Source "${id}" version ${maxVersion} is frozen and cannot be updated.`);
35
+ }
36
+ const updated = {
37
+ ...current,
38
+ ...updates,
39
+ id: current.id,
40
+ version: current.version,
41
+ frozen: current.frozen,
42
+ checksum: "",
43
+ };
44
+ updated.checksum = this.computeChecksum(updated);
45
+ versions.set(maxVersion, updated);
46
+ return updated;
47
+ }
48
+ freeze(id) {
49
+ const versions = this.entities.get(id);
50
+ if (!versions) {
51
+ throw new Error(`Source "${id}" does not exist.`);
52
+ }
53
+ const maxVersion = this.maxVersion(versions);
54
+ const current = versions.get(maxVersion);
55
+ if (current.frozen) {
56
+ throw new Error(`Source "${id}" version ${maxVersion} is already frozen.`);
57
+ }
58
+ const frozenEntity = {
59
+ ...current,
60
+ frozen: true,
61
+ checksum: "",
62
+ };
63
+ frozenEntity.checksum = this.computeChecksum(frozenEntity);
64
+ versions.set(maxVersion, frozenEntity);
65
+ const nextVersion = maxVersion + 1;
66
+ const nextEntity = {
67
+ ...current,
68
+ version: nextVersion,
69
+ frozen: false,
70
+ checksum: "",
71
+ };
72
+ nextEntity.checksum = this.computeChecksum(nextEntity);
73
+ versions.set(nextVersion, nextEntity);
74
+ return { frozen: frozenEntity, current: nextEntity };
75
+ }
76
+ get(id, version) {
77
+ return this.entities.get(id)?.get(version);
78
+ }
79
+ getCurrent(id) {
80
+ const versions = this.entities.get(id);
81
+ if (!versions)
82
+ return undefined;
83
+ return versions.get(this.maxVersion(versions));
84
+ }
85
+ getAll() {
86
+ const result = [];
87
+ for (const versions of this.entities.values()) {
88
+ for (const entity of versions.values()) {
89
+ result.push(entity);
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ getVersions(id) {
95
+ const versions = this.entities.get(id);
96
+ if (!versions)
97
+ return [];
98
+ return Array.from(versions.values()).sort((a, b) => a.version - b.version);
99
+ }
100
+ snapshot() {
101
+ return { sources: this.getAll() };
102
+ }
103
+ static fromSnapshot(snapshot, options) {
104
+ const lib = new SourceLibrary(options);
105
+ for (const entity of snapshot.sources) {
106
+ let versions = lib.entities.get(entity.id);
107
+ if (!versions) {
108
+ versions = new Map();
109
+ lib.entities.set(entity.id, versions);
110
+ }
111
+ versions.set(entity.version, entity);
112
+ }
113
+ return lib;
114
+ }
115
+ maxVersion(versions) {
116
+ let max = -1;
117
+ for (const v of versions.keys()) {
118
+ if (v > max)
119
+ max = v;
120
+ }
121
+ return max;
122
+ }
123
+ computeChecksum(entity) {
124
+ const fields = this.checksumConfig?.sourceFields ??
125
+ DEFAULT_CHECKSUM_CONFIG.sourceFields;
126
+ return entityChecksum(entity, fields);
127
+ }
128
+ }
129
+ //# sourceMappingURL=source-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-library.js","sourceRoot":"","sources":["../../../src/lib/core/source-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../schemata/index.js";
2
+ export interface TSourceAssociationRemovalResult {
3
+ removedVariableAssociations: TCoreVariableSourceAssociation[];
4
+ removedExpressionAssociations: TCoreExpressionSourceAssociation[];
5
+ }
6
+ export interface TSourceManagerSnapshot {
7
+ variableSourceAssociations: TCoreVariableSourceAssociation[];
8
+ expressionSourceAssociations: TCoreExpressionSourceAssociation[];
9
+ }
10
+ /**
11
+ * Registry for source associations to variables and expressions within an
12
+ * argument. Source entities themselves live in SourceLibrary.
13
+ */
14
+ export declare class SourceManager {
15
+ private variableAssociations;
16
+ private expressionAssociations;
17
+ private sourceToAssociations;
18
+ private variableToAssociations;
19
+ private expressionToAssociations;
20
+ constructor();
21
+ addVariableSourceAssociation(assoc: TCoreVariableSourceAssociation): void;
22
+ removeVariableSourceAssociation(id: string): TSourceAssociationRemovalResult;
23
+ addExpressionSourceAssociation(assoc: TCoreExpressionSourceAssociation): void;
24
+ removeExpressionSourceAssociation(id: string): TSourceAssociationRemovalResult;
25
+ removeAssociationsForVariable(variableId: string): TSourceAssociationRemovalResult;
26
+ removeAssociationsForExpression(expressionId: string): TSourceAssociationRemovalResult;
27
+ getAssociationsForSource(sourceId: string): {
28
+ variable: TCoreVariableSourceAssociation[];
29
+ expression: TCoreExpressionSourceAssociation[];
30
+ };
31
+ getAssociationsForVariable(variableId: string): TCoreVariableSourceAssociation[];
32
+ getAssociationsForExpression(expressionId: string): TCoreExpressionSourceAssociation[];
33
+ getAllVariableSourceAssociations(): TCoreVariableSourceAssociation[];
34
+ getAllExpressionSourceAssociations(): TCoreExpressionSourceAssociation[];
35
+ snapshot(): TSourceManagerSnapshot;
36
+ static fromSnapshot(data: TSourceManagerSnapshot): SourceManager;
37
+ }
38
+ //# sourceMappingURL=source-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/source-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,+BAA+B;IAC5C,2BAA2B,EAAE,8BAA8B,EAAE,CAAA;IAC7D,6BAA6B,EAAE,gCAAgC,EAAE,CAAA;CACpE;AAED,MAAM,WAAW,sBAAsB;IACnC,0BAA0B,EAAE,8BAA8B,EAAE,CAAA;IAC5D,4BAA4B,EAAE,gCAAgC,EAAE,CAAA;CACnE;AAED;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,oBAAoB,CAA6C;IACzE,OAAO,CAAC,sBAAsB,CAG7B;IACD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,wBAAwB,CAA0B;;IAcnD,4BAA4B,CAC/B,KAAK,EAAE,8BAA8B,GACtC,IAAI;IAuBA,+BAA+B,CAClC,EAAE,EAAE,MAAM,GACX,+BAA+B;IAmC3B,8BAA8B,CACjC,KAAK,EAAE,gCAAgC,GACxC,IAAI;IAuBA,iCAAiC,CACpC,EAAE,EAAE,MAAM,GACX,+BAA+B;IAmC3B,6BAA6B,CAChC,UAAU,EAAE,MAAM,GACnB,+BAA+B;IAiC3B,+BAA+B,CAClC,YAAY,EAAE,MAAM,GACrB,+BAA+B;IAsC3B,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC/C,QAAQ,EAAE,8BAA8B,EAAE,CAAA;QAC1C,UAAU,EAAE,gCAAgC,EAAE,CAAA;KACjD;IAkBM,0BAA0B,CAC7B,UAAU,EAAE,MAAM,GACnB,8BAA8B,EAAE;IAW5B,4BAA4B,CAC/B,YAAY,EAAE,MAAM,GACrB,gCAAgC,EAAE;IAW9B,gCAAgC,IAAI,8BAA8B,EAAE;IAIpE,kCAAkC,IAAI,gCAAgC,EAAE;IAQxE,QAAQ,IAAI,sBAAsB;WAW3B,YAAY,CAAC,IAAI,EAAE,sBAAsB,GAAG,aAAa;CAyC1E"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Registry for source associations to variables and expressions within an
3
+ * argument. Source entities themselves live in SourceLibrary.
4
+ */
5
+ export class SourceManager {
6
+ variableAssociations;
7
+ expressionAssociations;
8
+ sourceToAssociations;
9
+ variableToAssociations;
10
+ expressionToAssociations;
11
+ constructor() {
12
+ this.variableAssociations = new Map();
13
+ this.expressionAssociations = new Map();
14
+ this.sourceToAssociations = new Map();
15
+ this.variableToAssociations = new Map();
16
+ this.expressionToAssociations = new Map();
17
+ }
18
+ // -----------------------------------------------------------------------
19
+ // Variable association mutations
20
+ // -----------------------------------------------------------------------
21
+ addVariableSourceAssociation(assoc) {
22
+ if (this.variableAssociations.has(assoc.id)) {
23
+ throw new Error(`Variable-source association with ID "${assoc.id}" already exists.`);
24
+ }
25
+ this.variableAssociations.set(assoc.id, assoc);
26
+ let sourceSet = this.sourceToAssociations.get(assoc.sourceId);
27
+ if (!sourceSet) {
28
+ sourceSet = new Set();
29
+ this.sourceToAssociations.set(assoc.sourceId, sourceSet);
30
+ }
31
+ sourceSet.add(assoc.id);
32
+ let varSet = this.variableToAssociations.get(assoc.variableId);
33
+ if (!varSet) {
34
+ varSet = new Set();
35
+ this.variableToAssociations.set(assoc.variableId, varSet);
36
+ }
37
+ varSet.add(assoc.id);
38
+ }
39
+ removeVariableSourceAssociation(id) {
40
+ const assoc = this.variableAssociations.get(id);
41
+ if (!assoc) {
42
+ throw new Error(`Variable-source association "${id}" does not exist.`);
43
+ }
44
+ this.variableAssociations.delete(id);
45
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
46
+ if (sourceSet) {
47
+ sourceSet.delete(id);
48
+ if (sourceSet.size === 0) {
49
+ this.sourceToAssociations.delete(assoc.sourceId);
50
+ }
51
+ }
52
+ const varSet = this.variableToAssociations.get(assoc.variableId);
53
+ if (varSet) {
54
+ varSet.delete(id);
55
+ if (varSet.size === 0) {
56
+ this.variableToAssociations.delete(assoc.variableId);
57
+ }
58
+ }
59
+ return {
60
+ removedVariableAssociations: [assoc],
61
+ removedExpressionAssociations: [],
62
+ };
63
+ }
64
+ // -----------------------------------------------------------------------
65
+ // Expression association mutations
66
+ // -----------------------------------------------------------------------
67
+ addExpressionSourceAssociation(assoc) {
68
+ if (this.expressionAssociations.has(assoc.id)) {
69
+ throw new Error(`Expression-source association with ID "${assoc.id}" already exists.`);
70
+ }
71
+ this.expressionAssociations.set(assoc.id, assoc);
72
+ let sourceSet = this.sourceToAssociations.get(assoc.sourceId);
73
+ if (!sourceSet) {
74
+ sourceSet = new Set();
75
+ this.sourceToAssociations.set(assoc.sourceId, sourceSet);
76
+ }
77
+ sourceSet.add(assoc.id);
78
+ let exprSet = this.expressionToAssociations.get(assoc.expressionId);
79
+ if (!exprSet) {
80
+ exprSet = new Set();
81
+ this.expressionToAssociations.set(assoc.expressionId, exprSet);
82
+ }
83
+ exprSet.add(assoc.id);
84
+ }
85
+ removeExpressionSourceAssociation(id) {
86
+ const assoc = this.expressionAssociations.get(id);
87
+ if (!assoc) {
88
+ throw new Error(`Expression-source association "${id}" does not exist.`);
89
+ }
90
+ this.expressionAssociations.delete(id);
91
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
92
+ if (sourceSet) {
93
+ sourceSet.delete(id);
94
+ if (sourceSet.size === 0) {
95
+ this.sourceToAssociations.delete(assoc.sourceId);
96
+ }
97
+ }
98
+ const exprSet = this.expressionToAssociations.get(assoc.expressionId);
99
+ if (exprSet) {
100
+ exprSet.delete(id);
101
+ if (exprSet.size === 0) {
102
+ this.expressionToAssociations.delete(assoc.expressionId);
103
+ }
104
+ }
105
+ return {
106
+ removedVariableAssociations: [],
107
+ removedExpressionAssociations: [assoc],
108
+ };
109
+ }
110
+ // -----------------------------------------------------------------------
111
+ // Bulk association removal
112
+ // -----------------------------------------------------------------------
113
+ removeAssociationsForVariable(variableId) {
114
+ const assocIds = this.variableToAssociations.get(variableId);
115
+ if (!assocIds || assocIds.size === 0) {
116
+ return {
117
+ removedVariableAssociations: [],
118
+ removedExpressionAssociations: [],
119
+ };
120
+ }
121
+ const removedVariableAssociations = [];
122
+ for (const assocId of assocIds) {
123
+ const assoc = this.variableAssociations.get(assocId);
124
+ if (!assoc)
125
+ continue;
126
+ this.variableAssociations.delete(assocId);
127
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
128
+ if (sourceSet) {
129
+ sourceSet.delete(assocId);
130
+ if (sourceSet.size === 0) {
131
+ this.sourceToAssociations.delete(assoc.sourceId);
132
+ }
133
+ }
134
+ removedVariableAssociations.push(assoc);
135
+ }
136
+ this.variableToAssociations.delete(variableId);
137
+ return {
138
+ removedVariableAssociations,
139
+ removedExpressionAssociations: [],
140
+ };
141
+ }
142
+ removeAssociationsForExpression(expressionId) {
143
+ const assocIds = this.expressionToAssociations.get(expressionId);
144
+ if (!assocIds || assocIds.size === 0) {
145
+ return {
146
+ removedVariableAssociations: [],
147
+ removedExpressionAssociations: [],
148
+ };
149
+ }
150
+ const removedExpressionAssociations = [];
151
+ for (const assocId of assocIds) {
152
+ const assoc = this.expressionAssociations.get(assocId);
153
+ if (!assoc)
154
+ continue;
155
+ this.expressionAssociations.delete(assocId);
156
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
157
+ if (sourceSet) {
158
+ sourceSet.delete(assocId);
159
+ if (sourceSet.size === 0) {
160
+ this.sourceToAssociations.delete(assoc.sourceId);
161
+ }
162
+ }
163
+ removedExpressionAssociations.push(assoc);
164
+ }
165
+ this.expressionToAssociations.delete(expressionId);
166
+ return {
167
+ removedVariableAssociations: [],
168
+ removedExpressionAssociations,
169
+ };
170
+ }
171
+ // -----------------------------------------------------------------------
172
+ // Queries
173
+ // -----------------------------------------------------------------------
174
+ getAssociationsForSource(sourceId) {
175
+ const assocIds = this.sourceToAssociations.get(sourceId);
176
+ if (!assocIds)
177
+ return { variable: [], expression: [] };
178
+ const variable = [];
179
+ const expression = [];
180
+ for (const assocId of assocIds) {
181
+ const varAssoc = this.variableAssociations.get(assocId);
182
+ if (varAssoc) {
183
+ variable.push(varAssoc);
184
+ continue;
185
+ }
186
+ const exprAssoc = this.expressionAssociations.get(assocId);
187
+ if (exprAssoc)
188
+ expression.push(exprAssoc);
189
+ }
190
+ return { variable, expression };
191
+ }
192
+ getAssociationsForVariable(variableId) {
193
+ const assocIds = this.variableToAssociations.get(variableId);
194
+ if (!assocIds)
195
+ return [];
196
+ const result = [];
197
+ for (const assocId of assocIds) {
198
+ const assoc = this.variableAssociations.get(assocId);
199
+ if (assoc)
200
+ result.push(assoc);
201
+ }
202
+ return result;
203
+ }
204
+ getAssociationsForExpression(expressionId) {
205
+ const assocIds = this.expressionToAssociations.get(expressionId);
206
+ if (!assocIds)
207
+ return [];
208
+ const result = [];
209
+ for (const assocId of assocIds) {
210
+ const assoc = this.expressionAssociations.get(assocId);
211
+ if (assoc)
212
+ result.push(assoc);
213
+ }
214
+ return result;
215
+ }
216
+ getAllVariableSourceAssociations() {
217
+ return Array.from(this.variableAssociations.values());
218
+ }
219
+ getAllExpressionSourceAssociations() {
220
+ return Array.from(this.expressionAssociations.values());
221
+ }
222
+ // -----------------------------------------------------------------------
223
+ // Snapshot & restoration
224
+ // -----------------------------------------------------------------------
225
+ snapshot() {
226
+ return {
227
+ variableSourceAssociations: Array.from(this.variableAssociations.values()).sort((a, b) => a.id.localeCompare(b.id)),
228
+ expressionSourceAssociations: Array.from(this.expressionAssociations.values()).sort((a, b) => a.id.localeCompare(b.id)),
229
+ };
230
+ }
231
+ static fromSnapshot(data) {
232
+ const sm = new SourceManager();
233
+ for (const assoc of data.variableSourceAssociations) {
234
+ sm.variableAssociations.set(assoc.id, assoc);
235
+ let sourceSet = sm.sourceToAssociations.get(assoc.sourceId);
236
+ if (!sourceSet) {
237
+ sourceSet = new Set();
238
+ sm.sourceToAssociations.set(assoc.sourceId, sourceSet);
239
+ }
240
+ sourceSet.add(assoc.id);
241
+ let varSet = sm.variableToAssociations.get(assoc.variableId);
242
+ if (!varSet) {
243
+ varSet = new Set();
244
+ sm.variableToAssociations.set(assoc.variableId, varSet);
245
+ }
246
+ varSet.add(assoc.id);
247
+ }
248
+ for (const assoc of data.expressionSourceAssociations) {
249
+ sm.expressionAssociations.set(assoc.id, assoc);
250
+ let sourceSet = sm.sourceToAssociations.get(assoc.sourceId);
251
+ if (!sourceSet) {
252
+ sourceSet = new Set();
253
+ sm.sourceToAssociations.set(assoc.sourceId, sourceSet);
254
+ }
255
+ sourceSet.add(assoc.id);
256
+ let exprSet = sm.expressionToAssociations.get(assoc.expressionId);
257
+ if (!exprSet) {
258
+ exprSet = new Set();
259
+ sm.expressionToAssociations.set(assoc.expressionId, exprSet);
260
+ }
261
+ exprSet.add(assoc.id);
262
+ }
263
+ return sm;
264
+ }
265
+ }
266
+ //# sourceMappingURL=source-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-manager.js","sourceRoot":"","sources":["../../../src/lib/core/source-manager.ts"],"names":[],"mappings":"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"}