@proposit/proposit-core 0.9.1 → 0.11.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 (184) hide show
  1. package/README.md +147 -35
  2. package/dist/cli/commands/arguments.d.ts.map +1 -1
  3. package/dist/cli/commands/arguments.js +8 -16
  4. package/dist/cli/commands/arguments.js.map +1 -1
  5. package/dist/cli/commands/citations.d.ts +3 -0
  6. package/dist/cli/commands/citations.d.ts.map +1 -0
  7. package/dist/cli/commands/citations.js +89 -0
  8. package/dist/cli/commands/citations.js.map +1 -0
  9. package/dist/cli/commands/claims.d.ts.map +1 -1
  10. package/dist/cli/commands/claims.js +10 -2
  11. package/dist/cli/commands/claims.js.map +1 -1
  12. package/dist/cli/commands/parse.d.ts.map +1 -1
  13. package/dist/cli/commands/parse.js +9 -17
  14. package/dist/cli/commands/parse.js.map +1 -1
  15. package/dist/cli/commands/premises.d.ts.map +1 -1
  16. package/dist/cli/commands/premises.js +82 -5
  17. package/dist/cli/commands/premises.js.map +1 -1
  18. package/dist/cli/commands/render.d.ts.map +1 -1
  19. package/dist/cli/commands/render.js +46 -19
  20. package/dist/cli/commands/render.js.map +1 -1
  21. package/dist/cli/commands/variables.d.ts.map +1 -1
  22. package/dist/cli/commands/variables.js +1 -0
  23. package/dist/cli/commands/variables.js.map +1 -1
  24. package/dist/cli/engine.d.ts.map +1 -1
  25. package/dist/cli/engine.js +15 -9
  26. package/dist/cli/engine.js.map +1 -1
  27. package/dist/cli/import.d.ts +2 -4
  28. package/dist/cli/import.d.ts.map +1 -1
  29. package/dist/cli/import.js +78 -20
  30. package/dist/cli/import.js.map +1 -1
  31. package/dist/cli/router.js +1 -1
  32. package/dist/cli/router.js.map +1 -1
  33. package/dist/cli/storage/libraries.d.ts +4 -7
  34. package/dist/cli/storage/libraries.d.ts.map +1 -1
  35. package/dist/cli/storage/libraries.js +9 -28
  36. package/dist/cli/storage/libraries.js.map +1 -1
  37. package/dist/cli/storage/migrate-v0.10.d.ts +10 -0
  38. package/dist/cli/storage/migrate-v0.10.d.ts.map +1 -0
  39. package/dist/cli/storage/migrate-v0.10.js +213 -0
  40. package/dist/cli/storage/migrate-v0.10.js.map +1 -0
  41. package/dist/cli/storage/migrate-v0.11.d.ts +15 -0
  42. package/dist/cli/storage/migrate-v0.11.d.ts.map +1 -0
  43. package/dist/cli/storage/migrate-v0.11.js +125 -0
  44. package/dist/cli/storage/migrate-v0.11.js.map +1 -0
  45. package/dist/cli.js +2 -2
  46. package/dist/cli.js.map +1 -1
  47. package/dist/extensions/basics/argument-parser.d.ts +1 -2
  48. package/dist/extensions/basics/argument-parser.d.ts.map +1 -1
  49. package/dist/extensions/basics/argument-parser.js.map +1 -1
  50. package/dist/extensions/basics/schemata.d.ts +12 -1
  51. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  52. package/dist/extensions/ieee/{source.d.ts → citation-claim.d.ts} +5 -3
  53. package/dist/extensions/ieee/citation-claim.d.ts.map +1 -0
  54. package/dist/extensions/ieee/{source.js → citation-claim.js} +5 -4
  55. package/dist/extensions/ieee/citation-claim.js.map +1 -0
  56. package/dist/extensions/ieee/index.d.ts +1 -1
  57. package/dist/extensions/ieee/index.d.ts.map +1 -1
  58. package/dist/extensions/ieee/index.js +1 -1
  59. package/dist/extensions/ieee/index.js.map +1 -1
  60. package/dist/lib/consts.d.ts.map +1 -1
  61. package/dist/lib/consts.js +15 -14
  62. package/dist/lib/consts.js.map +1 -1
  63. package/dist/lib/core/argument-engine.d.ts +47 -9
  64. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  65. package/dist/lib/core/argument-engine.js +209 -20
  66. package/dist/lib/core/argument-engine.js.map +1 -1
  67. package/dist/lib/core/argument-library.d.ts +13 -15
  68. package/dist/lib/core/argument-library.d.ts.map +1 -1
  69. package/dist/lib/core/argument-library.js +23 -9
  70. package/dist/lib/core/argument-library.js.map +1 -1
  71. package/dist/lib/core/claim-citation-library.d.ts +44 -0
  72. package/dist/lib/core/claim-citation-library.d.ts.map +1 -0
  73. package/dist/lib/core/claim-citation-library.js +336 -0
  74. package/dist/lib/core/claim-citation-library.js.map +1 -0
  75. package/dist/lib/core/claim-library.d.ts +33 -1
  76. package/dist/lib/core/claim-library.d.ts.map +1 -1
  77. package/dist/lib/core/claim-library.js +71 -3
  78. package/dist/lib/core/claim-library.js.map +1 -1
  79. package/dist/lib/core/fork-library.d.ts +19 -10
  80. package/dist/lib/core/fork-library.d.ts.map +1 -1
  81. package/dist/lib/core/fork-library.js +16 -13
  82. package/dist/lib/core/fork-library.js.map +1 -1
  83. package/dist/lib/core/fork.d.ts +6 -7
  84. package/dist/lib/core/fork.d.ts.map +1 -1
  85. package/dist/lib/core/fork.js +8 -3
  86. package/dist/lib/core/fork.js.map +1 -1
  87. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +132 -7
  88. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  89. package/dist/lib/core/interfaces/index.d.ts +1 -1
  90. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  91. package/dist/lib/core/interfaces/library.interfaces.d.ts +76 -157
  92. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  93. package/dist/lib/core/managed-derivation-premise-engine.d.ts +155 -0
  94. package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +1 -0
  95. package/dist/lib/core/managed-derivation-premise-engine.js +517 -0
  96. package/dist/lib/core/managed-derivation-premise-engine.js.map +1 -0
  97. package/dist/lib/core/premise-engine.d.ts +6 -5
  98. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  99. package/dist/lib/core/premise-engine.js +5 -3
  100. package/dist/lib/core/premise-engine.js.map +1 -1
  101. package/dist/lib/core/proposit-core.d.ts +30 -32
  102. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  103. package/dist/lib/core/proposit-core.js +82 -89
  104. package/dist/lib/core/proposit-core.js.map +1 -1
  105. package/dist/lib/index.d.ts +5 -3
  106. package/dist/lib/index.d.ts.map +1 -1
  107. package/dist/lib/index.js +4 -3
  108. package/dist/lib/index.js.map +1 -1
  109. package/dist/lib/parsing/argument-parser.d.ts +9 -12
  110. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  111. package/dist/lib/parsing/argument-parser.js +27 -45
  112. package/dist/lib/parsing/argument-parser.js.map +1 -1
  113. package/dist/lib/parsing/index.d.ts +2 -2
  114. package/dist/lib/parsing/index.d.ts.map +1 -1
  115. package/dist/lib/parsing/index.js +1 -1
  116. package/dist/lib/parsing/index.js.map +1 -1
  117. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
  118. package/dist/lib/parsing/prompt-builder.js +31 -24
  119. package/dist/lib/parsing/prompt-builder.js.map +1 -1
  120. package/dist/lib/parsing/schemata.d.ts +7 -19
  121. package/dist/lib/parsing/schemata.d.ts.map +1 -1
  122. package/dist/lib/parsing/schemata.js +7 -14
  123. package/dist/lib/parsing/schemata.js.map +1 -1
  124. package/dist/lib/parsing/types.d.ts +1 -2
  125. package/dist/lib/parsing/types.d.ts.map +1 -1
  126. package/dist/lib/schemata/claim-citation.d.ts +11 -0
  127. package/dist/lib/schemata/claim-citation.d.ts.map +1 -0
  128. package/dist/lib/schemata/claim-citation.js +25 -0
  129. package/dist/lib/schemata/claim-citation.js.map +1 -0
  130. package/dist/lib/schemata/claim.d.ts +1 -0
  131. package/dist/lib/schemata/claim.d.ts.map +1 -1
  132. package/dist/lib/schemata/claim.js +3 -0
  133. package/dist/lib/schemata/claim.js.map +1 -1
  134. package/dist/lib/schemata/fork.d.ts +0 -11
  135. package/dist/lib/schemata/fork.d.ts.map +1 -1
  136. package/dist/lib/schemata/fork.js +0 -10
  137. package/dist/lib/schemata/fork.js.map +1 -1
  138. package/dist/lib/schemata/import.d.ts +39 -2
  139. package/dist/lib/schemata/import.d.ts.map +1 -1
  140. package/dist/lib/schemata/import.js +22 -1
  141. package/dist/lib/schemata/import.js.map +1 -1
  142. package/dist/lib/schemata/index.d.ts +1 -1
  143. package/dist/lib/schemata/index.d.ts.map +1 -1
  144. package/dist/lib/schemata/index.js +1 -1
  145. package/dist/lib/schemata/index.js.map +1 -1
  146. package/dist/lib/schemata/propositional.d.ts +32 -1
  147. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  148. package/dist/lib/schemata/propositional.js +17 -2
  149. package/dist/lib/schemata/propositional.js.map +1 -1
  150. package/dist/lib/types/checksum.d.ts +3 -5
  151. package/dist/lib/types/checksum.d.ts.map +1 -1
  152. package/dist/lib/types/evaluation.d.ts +1 -1
  153. package/dist/lib/types/evaluation.d.ts.map +1 -1
  154. package/dist/lib/types/validation.d.ts +19 -7
  155. package/dist/lib/types/validation.d.ts.map +1 -1
  156. package/dist/lib/types/validation.js +21 -8
  157. package/dist/lib/types/validation.js.map +1 -1
  158. package/dist/lib/utils/derivation-validation.d.ts +24 -0
  159. package/dist/lib/utils/derivation-validation.d.ts.map +1 -0
  160. package/dist/lib/utils/derivation-validation.js +107 -0
  161. package/dist/lib/utils/derivation-validation.js.map +1 -0
  162. package/dist/lib/utils/lookup.d.ts +7 -15
  163. package/dist/lib/utils/lookup.d.ts.map +1 -1
  164. package/dist/lib/utils/lookup.js +9 -18
  165. package/dist/lib/utils/lookup.js.map +1 -1
  166. package/package.json +1 -1
  167. package/dist/cli/commands/sources.d.ts +0 -3
  168. package/dist/cli/commands/sources.d.ts.map +0 -1
  169. package/dist/cli/commands/sources.js +0 -103
  170. package/dist/cli/commands/sources.js.map +0 -1
  171. package/dist/extensions/ieee/source.d.ts.map +0 -1
  172. package/dist/extensions/ieee/source.js.map +0 -1
  173. package/dist/lib/core/claim-source-library.d.ts +0 -32
  174. package/dist/lib/core/claim-source-library.d.ts.map +0 -1
  175. package/dist/lib/core/claim-source-library.js +0 -193
  176. package/dist/lib/core/claim-source-library.js.map +0 -1
  177. package/dist/lib/core/source-library.d.ts +0 -23
  178. package/dist/lib/core/source-library.d.ts.map +0 -1
  179. package/dist/lib/core/source-library.js +0 -21
  180. package/dist/lib/core/source-library.js.map +0 -1
  181. package/dist/lib/schemata/source.d.ts +0 -18
  182. package/dist/lib/schemata/source.d.ts.map +0 -1
  183. package/dist/lib/schemata/source.js +0 -35
  184. package/dist/lib/schemata/source.js.map +0 -1
@@ -0,0 +1,107 @@
1
+ import { isClaimBound } from "../schemata/propositional.js";
2
+ import { DERIVATION_STRUCTURE_INVALID } from "../types/validation.js";
3
+ /**
4
+ * Validate that a derivation premise's expression tree conforms to the
5
+ * structural rules in the v0.11.0 spec:
6
+ *
7
+ * - Root must be either a single variable expression for the derived
8
+ * claim's variable (naked form), or an `implies`/`iff` operator with
9
+ * arity 2.
10
+ * - When the root is `implies`/`iff`:
11
+ * - position 0 (antecedent slot) is any valid expression tree.
12
+ * - position 1 (consequent slot) is exactly the variable expression
13
+ * for the derived claim's variable. No operator subtree, no other
14
+ * variable, no formula wrapper.
15
+ *
16
+ * Returns a `TInvariantValidationResult` with one violation per detected
17
+ * rule break, all using `DERIVATION_STRUCTURE_INVALID` (the message
18
+ * differentiates them).
19
+ *
20
+ * This is a pure function — it takes a premise, its expressions, and the
21
+ * argument's variables. It has no engine dependencies and no side effects.
22
+ */
23
+ export function validateDerivationStructure(premise, expressions, variables) {
24
+ const violations = [];
25
+ // 1. Locate the claim-bound variable for derivedClaimId.
26
+ const consequentVariable = variables.find((v) => isClaimBound(v) && v.claimId === premise.derivedClaimId);
27
+ if (consequentVariable === undefined) {
28
+ violations.push({
29
+ entityType: "premise",
30
+ entityId: premise.id,
31
+ code: DERIVATION_STRUCTURE_INVALID,
32
+ message: `No claim-bound variable for derivedClaimId ${premise.derivedClaimId} in this argument`,
33
+ });
34
+ return { ok: false, violations };
35
+ }
36
+ // 2. Find the root expression (parentId === null) for this premise.
37
+ const rootExpressions = expressions.filter((e) => e.premiseId === premise.id && e.parentId === null);
38
+ if (rootExpressions.length === 0) {
39
+ violations.push({
40
+ entityType: "premise",
41
+ entityId: premise.id,
42
+ code: DERIVATION_STRUCTURE_INVALID,
43
+ message: "Derivation premise has no root expression",
44
+ });
45
+ return { ok: false, violations };
46
+ }
47
+ if (rootExpressions.length > 1) {
48
+ violations.push({
49
+ entityType: "premise",
50
+ entityId: premise.id,
51
+ code: DERIVATION_STRUCTURE_INVALID,
52
+ message: "Derivation premise has multiple root expressions",
53
+ });
54
+ return { ok: false, violations };
55
+ }
56
+ const root = rootExpressions[0];
57
+ // 3. Validate root shape.
58
+ // Naked form: root is a variable expression for the derived claim's variable.
59
+ if (root.type === "variable") {
60
+ if (root.variableId !== consequentVariable.id) {
61
+ violations.push({
62
+ entityType: "premise",
63
+ entityId: premise.id,
64
+ code: DERIVATION_STRUCTURE_INVALID,
65
+ message: `Naked-form root variable ${root.variableId} does not reference derivedClaimId's variable ${consequentVariable.id}`,
66
+ });
67
+ }
68
+ return { ok: violations.length === 0, violations };
69
+ }
70
+ // Implication/biconditional form: root is implies or iff with arity 2.
71
+ if (root.type === "operator" &&
72
+ (root.operator === "implies" || root.operator === "iff")) {
73
+ const children = expressions
74
+ .filter((e) => e.parentId === root.id)
75
+ .sort((a, b) => a.position - b.position);
76
+ if (children.length !== 2) {
77
+ violations.push({
78
+ entityType: "premise",
79
+ entityId: premise.id,
80
+ code: DERIVATION_STRUCTURE_INVALID,
81
+ message: `Derivation root ${root.operator} must have arity 2 (got ${children.length})`,
82
+ });
83
+ return { ok: false, violations };
84
+ }
85
+ const consequent = children[1];
86
+ if (consequent.type !== "variable" ||
87
+ consequent.variableId !== consequentVariable.id) {
88
+ violations.push({
89
+ entityType: "premise",
90
+ entityId: premise.id,
91
+ code: DERIVATION_STRUCTURE_INVALID,
92
+ message: "Consequent slot (position 1) must be the variable expression for derivedClaimId's variable",
93
+ });
94
+ }
95
+ return { ok: violations.length === 0, violations };
96
+ }
97
+ // Any other root type (formula, or non-implies/iff operator) is invalid.
98
+ const rootDesc = root.type === "operator" ? root.operator : root.type;
99
+ violations.push({
100
+ entityType: "premise",
101
+ entityId: premise.id,
102
+ code: DERIVATION_STRUCTURE_INVALID,
103
+ message: `Derivation premise root must be a variable expression or implies/iff operator (got ${rootDesc})`,
104
+ });
105
+ return { ok: false, violations };
106
+ }
107
+ //# sourceMappingURL=derivation-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivation-validation.js","sourceRoot":"","sources":["../../../src/lib/utils/derivation-validation.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
- import type { TClaimLookup, TSourceLookup, TClaimSourceLookup } from "../core/interfaces/library.interfaces.js";
1
+ import type { TClaimLookup, TClaimCitationLookup } from "../core/interfaces/library.interfaces.js";
2
2
  /**
3
3
  * Creates a keyed lookup from an array of items. Items are indexed by a
4
4
  * composite string key (typically `"id:version"`), and the returned object
5
5
  * exposes a `get(id, version)` method that reconstructs the same key
6
6
  * internally.
7
7
  *
8
- * Use this to build the `TClaimLookup` or `TSourceLookup` required by
9
- * `ArgumentEngine`'s constructor from flat arrays (e.g. database query
10
- * results).
8
+ * Use this to build the `TClaimLookup` required by `ArgumentEngine`'s
9
+ * constructor from flat arrays (e.g. database query results).
11
10
  *
12
11
  * @param items - The array of items to index.
13
12
  * @param getKey - A function that produces the composite key for each item.
@@ -20,8 +19,7 @@ import type { TClaimLookup, TSourceLookup, TClaimSourceLookup } from "../core/in
20
19
  * @example
21
20
  * ```ts
22
21
  * const claimLookup = createLookup(claims, (c) => `${c.id}:${c.version}`)
23
- * const sourceLookup = createLookup(sources, (s) => `${s.id}:${s.version}`)
24
- * const engine = new ArgumentEngine(arg, claimLookup, sourceLookup, ...)
22
+ * const engine = new ArgumentEngine(arg, claimLookup, ...)
25
23
  * ```
26
24
  */
27
25
  export declare function createLookup<T>(items: T[], getKey: (item: T) => string): {
@@ -34,14 +32,8 @@ export declare function createLookup<T>(items: T[], getKey: (item: T) => string)
34
32
  */
35
33
  export declare const EMPTY_CLAIM_LOOKUP: TClaimLookup;
36
34
  /**
37
- * A no-op source lookup that always returns `undefined`. Use this when the
38
- * consumer does not use sources.
35
+ * A no-op claim-citation lookup that always returns `undefined` or empty
36
+ * arrays. Use this when the consumer does not use claim citations.
39
37
  */
40
- export declare const EMPTY_SOURCE_LOOKUP: TSourceLookup;
41
- /**
42
- * A no-op claim-source association lookup that always returns `undefined`
43
- * or empty arrays. Use this when the consumer does not use claim-source
44
- * associations.
45
- */
46
- export declare const EMPTY_CLAIM_SOURCE_LOOKUP: TClaimSourceLookup;
38
+ export declare const EMPTY_CLAIM_CITATION_LOOKUP: TClaimCitationLookup;
47
39
  //# sourceMappingURL=lookup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,kBAAkB,EACrB,MAAM,0CAA0C,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC1B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAUrD;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAEhC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAEjC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAIvC,CAAA"}
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,oBAAoB,EACvB,MAAM,0CAA0C,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC1B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAUrD;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAGhC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,oBAIzC,CAAA"}
@@ -4,9 +4,8 @@
4
4
  * exposes a `get(id, version)` method that reconstructs the same key
5
5
  * internally.
6
6
  *
7
- * Use this to build the `TClaimLookup` or `TSourceLookup` required by
8
- * `ArgumentEngine`'s constructor from flat arrays (e.g. database query
9
- * results).
7
+ * Use this to build the `TClaimLookup` required by `ArgumentEngine`'s
8
+ * constructor from flat arrays (e.g. database query results).
10
9
  *
11
10
  * @param items - The array of items to index.
12
11
  * @param getKey - A function that produces the composite key for each item.
@@ -19,8 +18,7 @@
19
18
  * @example
20
19
  * ```ts
21
20
  * const claimLookup = createLookup(claims, (c) => `${c.id}:${c.version}`)
22
- * const sourceLookup = createLookup(sources, (s) => `${s.id}:${s.version}`)
23
- * const engine = new ArgumentEngine(arg, claimLookup, sourceLookup, ...)
21
+ * const engine = new ArgumentEngine(arg, claimLookup, ...)
24
22
  * ```
25
23
  */
26
24
  export function createLookup(items, getKey) {
@@ -41,22 +39,15 @@ export function createLookup(items, getKey) {
41
39
  */
42
40
  export const EMPTY_CLAIM_LOOKUP = {
43
41
  get: () => undefined,
42
+ getCurrent: () => undefined,
44
43
  };
45
44
  /**
46
- * A no-op source lookup that always returns `undefined`. Use this when the
47
- * consumer does not use sources.
45
+ * A no-op claim-citation lookup that always returns `undefined` or empty
46
+ * arrays. Use this when the consumer does not use claim citations.
48
47
  */
49
- export const EMPTY_SOURCE_LOOKUP = {
50
- get: () => undefined,
51
- };
52
- /**
53
- * A no-op claim-source association lookup that always returns `undefined`
54
- * or empty arrays. Use this when the consumer does not use claim-source
55
- * associations.
56
- */
57
- export const EMPTY_CLAIM_SOURCE_LOOKUP = {
58
- getForClaim: () => [],
59
- getForSource: () => [],
48
+ export const EMPTY_CLAIM_CITATION_LOOKUP = {
49
+ getCitationsForCitingClaim: () => [],
50
+ getCitationsForSourceClaim: () => [],
60
51
  get: () => undefined,
61
52
  };
62
53
  //# sourceMappingURL=lookup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/lib/utils/lookup.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,YAAY,CACxB,KAAU,EACV,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO;QACH,GAAG,CAAC,EAAU,EAAE,OAAe;YAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;QACtC,CAAC;KACJ,CAAA;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC5C,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAC9C,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IACzD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;IACtB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;CACvB,CAAA"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/lib/utils/lookup.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CACxB,KAAU,EACV,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO;QACH,GAAG,CAAC,EAAU,EAAE,OAAe;YAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;QACtC,CAAC;KACJ,CAAA;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC5C,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;IACpB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;CAC9B,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAyB;IAC7D,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;IACpC,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;IACpC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;CACvB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proposit/proposit-core",
3
- "version": "0.9.1",
3
+ "version": "0.11.0",
4
4
  "description": "Core engine for building and manipulating propositional logic arguments.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function registerSourceCommands(program: Command): void;
3
- //# sourceMappingURL=sources.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG7D"}
@@ -1,103 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import { Command } from "commander";
3
- import { hydratePropositCore, persistCore } from "../engine.js";
4
- import { errorExit, printJson, printLine } from "../output.js";
5
- export function registerSourceCommands(program) {
6
- const sources = program
7
- .command("sources")
8
- .description("Manage global source library");
9
- sources
10
- .command("list")
11
- .description("List all sources")
12
- .option("--json", "Output as JSON")
13
- .action(async (opts) => {
14
- const core = await hydratePropositCore();
15
- const all = core.sources.getAll();
16
- if (opts.json) {
17
- printJson(all);
18
- }
19
- else {
20
- for (const source of all) {
21
- const extras = source;
22
- const text = typeof extras.text === "string"
23
- ? ` | ${extras.text}`
24
- : "";
25
- printLine(`${source.id}@${source.version}${text}`);
26
- }
27
- }
28
- });
29
- sources
30
- .command("show <source_id>")
31
- .description("Show all versions of a source")
32
- .option("--json", "Output as JSON")
33
- .action(async (sourceId, opts) => {
34
- const core = await hydratePropositCore();
35
- const versions = core.sources.getVersions(sourceId);
36
- if (versions.length === 0) {
37
- errorExit(`Source "${sourceId}" not found.`);
38
- }
39
- if (opts.json) {
40
- printJson(versions);
41
- }
42
- else {
43
- for (const v of versions) {
44
- const extras = v;
45
- const frozen = v.frozen ? " [frozen]" : "";
46
- const text = typeof extras.text === "string"
47
- ? ` | ${extras.text}`
48
- : "";
49
- printLine(`v${v.version}${frozen}${text}`);
50
- }
51
- }
52
- });
53
- sources
54
- .command("add")
55
- .description("Create a new source")
56
- .requiredOption("--text <text>", "Source text")
57
- .action(async (opts) => {
58
- const core = await hydratePropositCore();
59
- const source = core.sources.create({
60
- id: randomUUID(),
61
- text: opts.text,
62
- });
63
- await persistCore(core);
64
- printLine(source.id);
65
- });
66
- sources
67
- .command("link-claim <source_id> <claim_id>")
68
- .description("Link a source to a claim via a new association")
69
- .action(async (sourceId, claimId) => {
70
- const core = await hydratePropositCore();
71
- const source = core.sources.getCurrent(sourceId);
72
- if (!source) {
73
- errorExit(`Source "${sourceId}" not found.`);
74
- }
75
- const claim = core.claims.getCurrent(claimId);
76
- if (!claim) {
77
- errorExit(`Claim "${claimId}" not found.`);
78
- }
79
- const assoc = core.claimSources.add({
80
- id: randomUUID(),
81
- claimId: claim.id,
82
- claimVersion: claim.version,
83
- sourceId: source.id,
84
- sourceVersion: source.version,
85
- });
86
- await persistCore(core);
87
- printLine(assoc.id);
88
- });
89
- sources
90
- .command("unlink <association_id>")
91
- .description("Remove a claim-source association")
92
- .action(async (associationId) => {
93
- const core = await hydratePropositCore();
94
- const assoc = core.claimSources.get(associationId);
95
- if (!assoc) {
96
- errorExit(`Association "${associationId}" not found.`);
97
- }
98
- core.claimSources.remove(associationId);
99
- await persistCore(core);
100
- printLine("success");
101
- });
102
- }
103
- //# sourceMappingURL=sources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/extensions/ieee/source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAK3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM3B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/extensions/ieee/source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAe,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;IAC3C,gBAAgB;IAChB,IAAI,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,QAAQ,EAAE,mBAAmB;KAChC,CAAC;CACL,CAAC,CAAA"}
@@ -1,32 +0,0 @@
1
- import type { TCoreClaimSourceAssociation } from "../schemata/source.js";
2
- import type { TCoreChecksumConfig } from "../types/checksum.js";
3
- import type { TClaimLookup, TSourceLookup, TClaimSourceLibraryManagement, TClaimSourceLibrarySnapshot } from "./interfaces/library.interfaces.js";
4
- import type { TInvariantValidationResult } from "../types/validation.js";
5
- export declare class ClaimSourceLibrary<TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation> implements TClaimSourceLibraryManagement<TAssoc> {
6
- private associations;
7
- private claimToAssociations;
8
- private sourceToAssociations;
9
- private claimLookup;
10
- private sourceLookup;
11
- private checksumConfig?;
12
- constructor(claimLookup: TClaimLookup, sourceLookup: TSourceLookup, options?: {
13
- checksumConfig?: TCoreChecksumConfig;
14
- });
15
- private restoreFromSnapshot;
16
- private withValidation;
17
- add(assoc: Omit<TAssoc, "checksum">): TAssoc;
18
- remove(id: string): TAssoc;
19
- getForClaim(claimId: string): TAssoc[];
20
- getForSource(sourceId: string): TAssoc[];
21
- get(id: string): TAssoc | undefined;
22
- getAll(): TAssoc[];
23
- filter(predicate: (a: TAssoc) => boolean): TAssoc[];
24
- snapshot(): TClaimSourceLibrarySnapshot<TAssoc>;
25
- /** Restores a claim-source library from a snapshot, re-indexing all associations. */
26
- static fromSnapshot<TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation>(snapshot: TClaimSourceLibrarySnapshot<TAssoc>, claimLookup: TClaimLookup, sourceLookup: TSourceLookup, options?: {
27
- checksumConfig?: TCoreChecksumConfig;
28
- }): ClaimSourceLibrary<TAssoc>;
29
- validate(): TInvariantValidationResult;
30
- private computeChecksum;
31
- }
32
- //# sourceMappingURL=claim-source-library.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claim-source-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/claim-source-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,6BAA6B,EAC7B,2BAA2B,EAC9B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACR,0BAA0B,EAE7B,MAAM,wBAAwB,CAAA;AAQ/B,qBAAa,kBAAkB,CAC3B,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,CAC1E,YAAW,6BAA6B,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAGxC,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAUtD,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,cAAc;IAkBf,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM;IAmD5C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAuB1B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAQtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAQxC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInC,MAAM,IAAI,MAAM,EAAE;IAIlB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE;IAInD,QAAQ,IAAI,2BAA2B,CAAC,MAAM,CAAC;IAItD,qFAAqF;WACvE,YAAY,CACtB,MAAM,SAAS,2BAA2B,GACtC,2BAA2B,EAE/B,QAAQ,EAAE,2BAA2B,CAAC,MAAM,CAAC,EAC7C,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE,GACnD,kBAAkB,CAAC,MAAM,CAAC;IA0BtB,QAAQ,IAAI,0BAA0B;IA+B7C,OAAO,CAAC,eAAe;CAS1B"}
@@ -1,193 +0,0 @@
1
- import { Value } from "typebox/value";
2
- import { CoreClaimSourceAssociationSchema } from "../schemata/source.js";
3
- import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
4
- import { entityChecksum } from "./checksum.js";
5
- import { ASSOC_SCHEMA_INVALID, ASSOC_CLAIM_REF_NOT_FOUND, ASSOC_SOURCE_REF_NOT_FOUND, } from "../types/validation.js";
6
- import { InvariantViolationError } from "./invariant-violation-error.js";
7
- export class ClaimSourceLibrary {
8
- associations;
9
- claimToAssociations;
10
- sourceToAssociations;
11
- claimLookup;
12
- sourceLookup;
13
- checksumConfig;
14
- constructor(claimLookup, sourceLookup, options) {
15
- this.associations = new Map();
16
- this.claimToAssociations = new Map();
17
- this.sourceToAssociations = new Map();
18
- this.claimLookup = claimLookup;
19
- this.sourceLookup = sourceLookup;
20
- this.checksumConfig = options?.checksumConfig;
21
- }
22
- restoreFromSnapshot(snap) {
23
- this.associations = new Map();
24
- this.claimToAssociations = new Map();
25
- this.sourceToAssociations = new Map();
26
- for (const assoc of snap.claimSourceAssociations) {
27
- this.associations.set(assoc.id, assoc);
28
- }
29
- for (const [id, assoc] of this.associations) {
30
- const claimKey = assoc.claimId;
31
- if (!this.claimToAssociations.has(claimKey)) {
32
- this.claimToAssociations.set(claimKey, new Set());
33
- }
34
- this.claimToAssociations.get(claimKey).add(id);
35
- const sourceKey = assoc.sourceId;
36
- if (!this.sourceToAssociations.has(sourceKey)) {
37
- this.sourceToAssociations.set(sourceKey, new Set());
38
- }
39
- this.sourceToAssociations.get(sourceKey).add(id);
40
- }
41
- }
42
- withValidation(fn) {
43
- const snap = this.snapshot();
44
- try {
45
- const result = fn();
46
- const validation = this.validate();
47
- if (!validation.ok) {
48
- this.restoreFromSnapshot(snap);
49
- throw new InvariantViolationError(validation.violations);
50
- }
51
- return result;
52
- }
53
- catch (e) {
54
- if (!(e instanceof InvariantViolationError)) {
55
- this.restoreFromSnapshot(snap);
56
- }
57
- throw e;
58
- }
59
- }
60
- add(assoc) {
61
- return this.withValidation(() => {
62
- if (this.associations.has(assoc.id)) {
63
- throw new Error(`ClaimSourceAssociation with ID "${assoc.id}" already exists.`);
64
- }
65
- const claim = this.claimLookup.get(assoc.claimId, assoc.claimVersion);
66
- if (!claim) {
67
- throw new Error(`Claim "${assoc.claimId}" version ${assoc.claimVersion} not found in claim lookup.`);
68
- }
69
- const source = this.sourceLookup.get(assoc.sourceId, assoc.sourceVersion);
70
- if (!source) {
71
- throw new Error(`Source "${assoc.sourceId}" version ${assoc.sourceVersion} not found in source lookup.`);
72
- }
73
- const full = { ...assoc, checksum: "" };
74
- full.checksum = this.computeChecksum(full);
75
- this.associations.set(full.id, full);
76
- let claimSet = this.claimToAssociations.get(full.claimId);
77
- if (!claimSet) {
78
- claimSet = new Set();
79
- this.claimToAssociations.set(full.claimId, claimSet);
80
- }
81
- claimSet.add(full.id);
82
- let sourceSet = this.sourceToAssociations.get(full.sourceId);
83
- if (!sourceSet) {
84
- sourceSet = new Set();
85
- this.sourceToAssociations.set(full.sourceId, sourceSet);
86
- }
87
- sourceSet.add(full.id);
88
- return full;
89
- });
90
- }
91
- remove(id) {
92
- return this.withValidation(() => {
93
- const assoc = this.associations.get(id);
94
- if (!assoc) {
95
- throw new Error(`ClaimSourceAssociation "${id}" not found.`);
96
- }
97
- this.associations.delete(id);
98
- const claimSet = this.claimToAssociations.get(assoc.claimId);
99
- if (claimSet) {
100
- claimSet.delete(id);
101
- }
102
- const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
103
- if (sourceSet) {
104
- sourceSet.delete(id);
105
- }
106
- return assoc;
107
- });
108
- }
109
- getForClaim(claimId) {
110
- const ids = this.claimToAssociations.get(claimId);
111
- if (!ids)
112
- return [];
113
- return Array.from(ids)
114
- .map((id) => this.associations.get(id))
115
- .filter(Boolean);
116
- }
117
- getForSource(sourceId) {
118
- const ids = this.sourceToAssociations.get(sourceId);
119
- if (!ids)
120
- return [];
121
- return Array.from(ids)
122
- .map((id) => this.associations.get(id))
123
- .filter(Boolean);
124
- }
125
- get(id) {
126
- return this.associations.get(id);
127
- }
128
- getAll() {
129
- return Array.from(this.associations.values());
130
- }
131
- filter(predicate) {
132
- return this.getAll().filter(predicate);
133
- }
134
- snapshot() {
135
- return { claimSourceAssociations: this.getAll() };
136
- }
137
- /** Restores a claim-source library from a snapshot, re-indexing all associations. */
138
- static fromSnapshot(snapshot, claimLookup, sourceLookup, options) {
139
- const lib = new ClaimSourceLibrary(claimLookup, sourceLookup, options);
140
- for (const assoc of snapshot.claimSourceAssociations) {
141
- lib.associations.set(assoc.id, assoc);
142
- let claimSet = lib.claimToAssociations.get(assoc.claimId);
143
- if (!claimSet) {
144
- claimSet = new Set();
145
- lib.claimToAssociations.set(assoc.claimId, claimSet);
146
- }
147
- claimSet.add(assoc.id);
148
- let sourceSet = lib.sourceToAssociations.get(assoc.sourceId);
149
- if (!sourceSet) {
150
- sourceSet = new Set();
151
- lib.sourceToAssociations.set(assoc.sourceId, sourceSet);
152
- }
153
- sourceSet.add(assoc.id);
154
- }
155
- return lib;
156
- }
157
- validate() {
158
- const violations = [];
159
- for (const [id, assoc] of this.associations) {
160
- if (!Value.Check(CoreClaimSourceAssociationSchema, assoc)) {
161
- violations.push({
162
- code: ASSOC_SCHEMA_INVALID,
163
- message: `Association "${id}" does not conform to schema`,
164
- entityType: "association",
165
- entityId: id,
166
- });
167
- }
168
- if (!this.claimLookup.get(assoc.claimId, assoc.claimVersion)) {
169
- violations.push({
170
- code: ASSOC_CLAIM_REF_NOT_FOUND,
171
- message: `Association "${id}" references non-existent claim "${assoc.claimId}" version ${assoc.claimVersion}`,
172
- entityType: "association",
173
- entityId: id,
174
- });
175
- }
176
- if (!this.sourceLookup.get(assoc.sourceId, assoc.sourceVersion)) {
177
- violations.push({
178
- code: ASSOC_SOURCE_REF_NOT_FOUND,
179
- message: `Association "${id}" references non-existent source "${assoc.sourceId}" version ${assoc.sourceVersion}`,
180
- entityType: "association",
181
- entityId: id,
182
- });
183
- }
184
- }
185
- return { ok: violations.length === 0, violations };
186
- }
187
- computeChecksum(assoc) {
188
- const fields = this.checksumConfig?.claimSourceAssociationFields ??
189
- DEFAULT_CHECKSUM_CONFIG.claimSourceAssociationFields;
190
- return entityChecksum(assoc, fields);
191
- }
192
- }
193
- //# sourceMappingURL=claim-source-library.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claim-source-library.js","sourceRoot":"","sources":["../../../src/lib/core/claim-source-library.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { TCoreSource } from "../schemata/source.js";
2
- import type { TCoreChecksumConfig } from "../types/checksum.js";
3
- import type { TSourceLibraryManagement, TSourceLibrarySnapshot } from "./interfaces/library.interfaces.js";
4
- import { VersionedLibrary } from "./versioned-library.js";
5
- export declare class SourceLibrary<TSource extends TCoreSource = TCoreSource> extends VersionedLibrary<TSource> implements TSourceLibraryManagement<TSource> {
6
- protected readonly entityLabel = "Source";
7
- protected readonly entityType: "source";
8
- protected readonly schema: import("typebox").TObject<{
9
- id: import("typebox").TString;
10
- version: import("typebox").TNumber;
11
- frozen: import("typebox").TBoolean;
12
- checksum: import("typebox").TString;
13
- }>;
14
- protected readonly checksumFieldsKey: "sourceFields";
15
- protected readonly schemaInvalidCode = "SOURCE_SCHEMA_INVALID";
16
- protected readonly frozenSuccessorCode = "SOURCE_FROZEN_NO_SUCCESSOR";
17
- snapshot(): TSourceLibrarySnapshot<TSource>;
18
- /** Restores a source library from a previously captured snapshot. */
19
- static fromSnapshot<TSource extends TCoreSource = TCoreSource>(snapshot: TSourceLibrarySnapshot<TSource>, options?: {
20
- checksumConfig?: TCoreChecksumConfig;
21
- }): SourceLibrary<TSource>;
22
- }
23
- //# sourceMappingURL=source-library.d.ts.map
@@ -1 +0,0 @@
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;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EACR,wBAAwB,EACxB,sBAAsB,EACzB,MAAM,oCAAoC,CAAA;AAK3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,qBAAa,aAAa,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,CAChE,SAAQ,gBAAgB,CAAC,OAAO,CAChC,YAAW,wBAAwB,CAAC,OAAO,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,WAAW,YAAW;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,QAAQ,CAAS;IACjD,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;OAAmB;IAC5C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAG,cAAc,CAAS;IAC9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,2BAAwB;IAC5D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,gCAA6B;IAE5D,QAAQ,IAAI,sBAAsB,CAAC,OAAO,CAAC;IAIlD,qEAAqE;WACvD,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;CAK5B"}