@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.
- package/README.md +147 -35
- package/dist/cli/commands/arguments.d.ts.map +1 -1
- package/dist/cli/commands/arguments.js +8 -16
- package/dist/cli/commands/arguments.js.map +1 -1
- package/dist/cli/commands/citations.d.ts +3 -0
- package/dist/cli/commands/citations.d.ts.map +1 -0
- package/dist/cli/commands/citations.js +89 -0
- package/dist/cli/commands/citations.js.map +1 -0
- package/dist/cli/commands/claims.d.ts.map +1 -1
- package/dist/cli/commands/claims.js +10 -2
- package/dist/cli/commands/claims.js.map +1 -1
- package/dist/cli/commands/parse.d.ts.map +1 -1
- package/dist/cli/commands/parse.js +9 -17
- package/dist/cli/commands/parse.js.map +1 -1
- package/dist/cli/commands/premises.d.ts.map +1 -1
- package/dist/cli/commands/premises.js +82 -5
- package/dist/cli/commands/premises.js.map +1 -1
- package/dist/cli/commands/render.d.ts.map +1 -1
- package/dist/cli/commands/render.js +46 -19
- package/dist/cli/commands/render.js.map +1 -1
- package/dist/cli/commands/variables.d.ts.map +1 -1
- package/dist/cli/commands/variables.js +1 -0
- package/dist/cli/commands/variables.js.map +1 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +15 -9
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts +2 -4
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +78 -20
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/router.js +1 -1
- package/dist/cli/router.js.map +1 -1
- package/dist/cli/storage/libraries.d.ts +4 -7
- package/dist/cli/storage/libraries.d.ts.map +1 -1
- package/dist/cli/storage/libraries.js +9 -28
- package/dist/cli/storage/libraries.js.map +1 -1
- package/dist/cli/storage/migrate-v0.10.d.ts +10 -0
- package/dist/cli/storage/migrate-v0.10.d.ts.map +1 -0
- package/dist/cli/storage/migrate-v0.10.js +213 -0
- package/dist/cli/storage/migrate-v0.10.js.map +1 -0
- package/dist/cli/storage/migrate-v0.11.d.ts +15 -0
- package/dist/cli/storage/migrate-v0.11.d.ts.map +1 -0
- package/dist/cli/storage/migrate-v0.11.js +125 -0
- package/dist/cli/storage/migrate-v0.11.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/extensions/basics/argument-parser.d.ts +1 -2
- package/dist/extensions/basics/argument-parser.d.ts.map +1 -1
- package/dist/extensions/basics/argument-parser.js.map +1 -1
- package/dist/extensions/basics/schemata.d.ts +12 -1
- package/dist/extensions/basics/schemata.d.ts.map +1 -1
- package/dist/extensions/ieee/{source.d.ts → citation-claim.d.ts} +5 -3
- package/dist/extensions/ieee/citation-claim.d.ts.map +1 -0
- package/dist/extensions/ieee/{source.js → citation-claim.js} +5 -4
- package/dist/extensions/ieee/citation-claim.js.map +1 -0
- package/dist/extensions/ieee/index.d.ts +1 -1
- package/dist/extensions/ieee/index.d.ts.map +1 -1
- package/dist/extensions/ieee/index.js +1 -1
- package/dist/extensions/ieee/index.js.map +1 -1
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +15 -14
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +47 -9
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +209 -20
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/argument-library.d.ts +13 -15
- package/dist/lib/core/argument-library.d.ts.map +1 -1
- package/dist/lib/core/argument-library.js +23 -9
- package/dist/lib/core/argument-library.js.map +1 -1
- package/dist/lib/core/claim-citation-library.d.ts +44 -0
- package/dist/lib/core/claim-citation-library.d.ts.map +1 -0
- package/dist/lib/core/claim-citation-library.js +336 -0
- package/dist/lib/core/claim-citation-library.js.map +1 -0
- package/dist/lib/core/claim-library.d.ts +33 -1
- package/dist/lib/core/claim-library.d.ts.map +1 -1
- package/dist/lib/core/claim-library.js +71 -3
- package/dist/lib/core/claim-library.js.map +1 -1
- package/dist/lib/core/fork-library.d.ts +19 -10
- package/dist/lib/core/fork-library.d.ts.map +1 -1
- package/dist/lib/core/fork-library.js +16 -13
- package/dist/lib/core/fork-library.js.map +1 -1
- package/dist/lib/core/fork.d.ts +6 -7
- package/dist/lib/core/fork.d.ts.map +1 -1
- package/dist/lib/core/fork.js +8 -3
- package/dist/lib/core/fork.js.map +1 -1
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +132 -7
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
- package/dist/lib/core/interfaces/index.d.ts +1 -1
- package/dist/lib/core/interfaces/index.d.ts.map +1 -1
- package/dist/lib/core/interfaces/library.interfaces.d.ts +76 -157
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
- package/dist/lib/core/managed-derivation-premise-engine.d.ts +155 -0
- package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +1 -0
- package/dist/lib/core/managed-derivation-premise-engine.js +517 -0
- package/dist/lib/core/managed-derivation-premise-engine.js.map +1 -0
- package/dist/lib/core/premise-engine.d.ts +6 -5
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +5 -3
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/proposit-core.d.ts +30 -32
- package/dist/lib/core/proposit-core.d.ts.map +1 -1
- package/dist/lib/core/proposit-core.js +82 -89
- package/dist/lib/core/proposit-core.js.map +1 -1
- package/dist/lib/index.d.ts +5 -3
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parsing/argument-parser.d.ts +9 -12
- package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
- package/dist/lib/parsing/argument-parser.js +27 -45
- package/dist/lib/parsing/argument-parser.js.map +1 -1
- package/dist/lib/parsing/index.d.ts +2 -2
- package/dist/lib/parsing/index.d.ts.map +1 -1
- package/dist/lib/parsing/index.js +1 -1
- package/dist/lib/parsing/index.js.map +1 -1
- package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.js +31 -24
- package/dist/lib/parsing/prompt-builder.js.map +1 -1
- package/dist/lib/parsing/schemata.d.ts +7 -19
- package/dist/lib/parsing/schemata.d.ts.map +1 -1
- package/dist/lib/parsing/schemata.js +7 -14
- package/dist/lib/parsing/schemata.js.map +1 -1
- package/dist/lib/parsing/types.d.ts +1 -2
- package/dist/lib/parsing/types.d.ts.map +1 -1
- package/dist/lib/schemata/claim-citation.d.ts +11 -0
- package/dist/lib/schemata/claim-citation.d.ts.map +1 -0
- package/dist/lib/schemata/claim-citation.js +25 -0
- package/dist/lib/schemata/claim-citation.js.map +1 -0
- package/dist/lib/schemata/claim.d.ts +1 -0
- package/dist/lib/schemata/claim.d.ts.map +1 -1
- package/dist/lib/schemata/claim.js +3 -0
- package/dist/lib/schemata/claim.js.map +1 -1
- package/dist/lib/schemata/fork.d.ts +0 -11
- package/dist/lib/schemata/fork.d.ts.map +1 -1
- package/dist/lib/schemata/fork.js +0 -10
- package/dist/lib/schemata/fork.js.map +1 -1
- package/dist/lib/schemata/import.d.ts +39 -2
- package/dist/lib/schemata/import.d.ts.map +1 -1
- package/dist/lib/schemata/import.js +22 -1
- package/dist/lib/schemata/import.js.map +1 -1
- package/dist/lib/schemata/index.d.ts +1 -1
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +1 -1
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +32 -1
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +17 -2
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/types/checksum.d.ts +3 -5
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/evaluation.d.ts +1 -1
- package/dist/lib/types/evaluation.d.ts.map +1 -1
- package/dist/lib/types/validation.d.ts +19 -7
- package/dist/lib/types/validation.d.ts.map +1 -1
- package/dist/lib/types/validation.js +21 -8
- package/dist/lib/types/validation.js.map +1 -1
- package/dist/lib/utils/derivation-validation.d.ts +24 -0
- package/dist/lib/utils/derivation-validation.d.ts.map +1 -0
- package/dist/lib/utils/derivation-validation.js +107 -0
- package/dist/lib/utils/derivation-validation.js.map +1 -0
- package/dist/lib/utils/lookup.d.ts +7 -15
- package/dist/lib/utils/lookup.d.ts.map +1 -1
- package/dist/lib/utils/lookup.js +9 -18
- package/dist/lib/utils/lookup.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/sources.d.ts +0 -3
- package/dist/cli/commands/sources.d.ts.map +0 -1
- package/dist/cli/commands/sources.js +0 -103
- package/dist/cli/commands/sources.js.map +0 -1
- package/dist/extensions/ieee/source.d.ts.map +0 -1
- package/dist/extensions/ieee/source.js.map +0 -1
- package/dist/lib/core/claim-source-library.d.ts +0 -32
- package/dist/lib/core/claim-source-library.d.ts.map +0 -1
- package/dist/lib/core/claim-source-library.js +0 -193
- package/dist/lib/core/claim-source-library.js.map +0 -1
- package/dist/lib/core/source-library.d.ts +0 -23
- package/dist/lib/core/source-library.d.ts.map +0 -1
- package/dist/lib/core/source-library.js +0 -21
- package/dist/lib/core/source-library.js.map +0 -1
- package/dist/lib/schemata/source.d.ts +0 -18
- package/dist/lib/schemata/source.d.ts.map +0 -1
- package/dist/lib/schemata/source.js +0 -35
- 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,
|
|
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`
|
|
9
|
-
*
|
|
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
|
|
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
|
|
38
|
-
* consumer does not use
|
|
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
|
|
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,
|
|
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"}
|
package/dist/lib/utils/lookup.js
CHANGED
|
@@ -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`
|
|
8
|
-
*
|
|
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
|
|
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
|
|
47
|
-
* consumer does not use
|
|
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
|
|
50
|
-
|
|
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":"
|
|
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 +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"}
|