@proposit/proposit-core 0.10.0 → 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 +88 -9
- 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 +2 -1
- package/dist/cli/commands/render.js.map +1 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +3 -0
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +70 -13
- package/dist/cli/import.js.map +1 -1
- 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/extensions/basics/schemata.d.ts +11 -1
- package/dist/extensions/basics/schemata.d.ts.map +1 -1
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +6 -1
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +39 -1
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +202 -11
- package/dist/lib/core/argument-engine.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/library.interfaces.d.ts +13 -0
- 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.map +1 -1
- package/dist/lib/core/proposit-core.js +14 -0
- package/dist/lib/core/proposit-core.js.map +1 -1
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.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/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/evaluation.d.ts +1 -1
- package/dist/lib/types/evaluation.d.ts.map +1 -1
- package/dist/lib/types/validation.d.ts +10 -0
- package/dist/lib/types/validation.d.ts.map +1 -1
- package/dist/lib/types/validation.js +11 -0
- 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.map +1 -1
- package/dist/lib/utils/lookup.js +1 -0
- package/dist/lib/utils/lookup.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ export interface TCoreExpressionAssignment {
|
|
|
16
16
|
/** Severity level for validation issues. */
|
|
17
17
|
export type TCoreValidationSeverity = "error" | "warning";
|
|
18
18
|
/** Machine-readable codes for all validation issues. */
|
|
19
|
-
export type TCoreValidationCode = "ARGUMENT_NO_CONCLUSION" | "ARGUMENT_CONCLUSION_NOT_FOUND" | "ARGUMENT_VARIABLE_ID_SYMBOL_MISMATCH" | "ARGUMENT_VARIABLE_SYMBOL_AMBIGUOUS" | "PREMISE_EMPTY" | "PREMISE_ROOT_MISSING" | "PREMISE_ROOT_MISMATCH" | "EXPR_CHILD_COUNT_INVALID" | "EXPR_BINARY_POSITIONS_INVALID" | "EXPR_VARIABLE_UNDECLARED" | "ASSIGNMENT_MISSING_VARIABLE" | "ASSIGNMENT_UNKNOWN_VARIABLE" | "SOURCE_VARIABLE_ASSOCIATION_INVALID_VARIABLE" | "SOURCE_EXPRESSION_ASSOCIATION_INVALID_PREMISE" | "SOURCE_EXPRESSION_ASSOCIATION_INVALID_EXPRESSION" | "SOURCE_ORPHANED" | "EXPR_BOUND_PREMISE_EMPTY";
|
|
19
|
+
export type TCoreValidationCode = "ARGUMENT_NO_CONCLUSION" | "ARGUMENT_CONCLUSION_NOT_FOUND" | "ARGUMENT_VARIABLE_ID_SYMBOL_MISMATCH" | "ARGUMENT_VARIABLE_SYMBOL_AMBIGUOUS" | "PREMISE_EMPTY" | "PREMISE_ROOT_MISSING" | "PREMISE_ROOT_MISMATCH" | "EXPR_CHILD_COUNT_INVALID" | "EXPR_BINARY_POSITIONS_INVALID" | "EXPR_VARIABLE_UNDECLARED" | "ASSIGNMENT_MISSING_VARIABLE" | "ASSIGNMENT_UNKNOWN_VARIABLE" | "SOURCE_VARIABLE_ASSOCIATION_INVALID_VARIABLE" | "SOURCE_EXPRESSION_ASSOCIATION_INVALID_PREMISE" | "SOURCE_EXPRESSION_ASSOCIATION_INVALID_EXPRESSION" | "SOURCE_ORPHANED" | "EXPR_BOUND_PREMISE_EMPTY" | "DERIVATION_STRUCTURE_INVALID_AT_EVALUATION";
|
|
20
20
|
export interface TCoreValidationIssue {
|
|
21
21
|
/** Machine-readable issue code for callers/tests/UI logic. */
|
|
22
22
|
code: TCoreValidationCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAA;AAEhD,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;AAEzE,kGAAkG;AAClG,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,UAAU,CAAA;AAE7D,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACtC,6DAA6D;IAC7D,SAAS,EAAE,uBAAuB,CAAA;IAClC,qFAAqF;IACrF,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CAC/D;AAED,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,CAAA;AAEzD,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GACzB,wBAAwB,GACxB,+BAA+B,GAC/B,sCAAsC,GACtC,oCAAoC,GACpC,eAAe,GACf,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,+BAA+B,GAC/B,0BAA0B,GAC1B,6BAA6B,GAC7B,6BAA6B,GAC7B,8CAA8C,GAC9C,+CAA+C,GAC/C,kDAAkD,GAClD,iBAAiB,GACjB,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAA;AAEhD,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;AAEzE,kGAAkG;AAClG,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,UAAU,CAAA;AAE7D,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACtC,6DAA6D;IAC7D,SAAS,EAAE,uBAAuB,CAAA;IAClC,qFAAqF;IACrF,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CAC/D;AAED,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,CAAA;AAEzD,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GACzB,wBAAwB,GACxB,+BAA+B,GAC/B,sCAAsC,GACtC,oCAAoC,GACpC,eAAe,GACf,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,+BAA+B,GAC/B,0BAA0B,GAC1B,6BAA6B,GAC7B,6BAA6B,GAC7B,8CAA8C,GAC9C,+CAA+C,GAC/C,kDAAkD,GAClD,iBAAiB,GACjB,0BAA0B,GAC1B,4CAA4C,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACjC,8DAA8D;IAC9D,IAAI,EAAE,mBAAmB,CAAA;IACzB,iEAAiE;IACjE,QAAQ,EAAE,uBAAuB,CAAA;IACjC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IAClC,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAA;IACX,8DAA8D;IAC9D,MAAM,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACpC,2EAA2E;IAC3E,cAAc,EAAE,mBAAmB,CAAA;IACnC,2EAA2E;IAC3E,cAAc,EAAE,mBAAmB,CAAA;IACnC,uDAAuD;IACvD,gBAAgB,EAAE,mBAAmB,CAAA;IACrC,mGAAmG;IACnG,eAAe,EAAE,mBAAmB,CAAA;IACpC,6FAA6F;IAC7F,KAAK,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,MAAM,+BAA+B,GACrC;IACI,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,cAAc,EAAE,mBAAmB,CAAA;IACnC,cAAc,EAAE,mBAAmB,CAAA;IACnC,eAAe,EAAE,mBAAmB,CAAA;IACpC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,YAAY,EAAE,mBAAmB,CAAA;CACpC,GACD;IACI,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,WAAW,EAAE,uBAAuB,CAAA;IACpC,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,mBAAmB,CAAA;IAClC,cAAc,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAEP,MAAM,WAAW,4BAA4B;IACzC,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,WAAW,EAAE,WAAW,GAAG,YAAY,CAAA;IACvC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,wEAAwE;IACxE,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACrD,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACnD,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,+BAA+B,CAAA;CACxD;AAED,MAAM,WAAW,8BAA8B;IAC3C,gFAAgF;IAChF,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC1C,sFAAsF;IACtF,EAAE,EAAE,OAAO,CAAA;IACX,4FAA4F;IAC5F,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,8FAA8F;IAC9F,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,4BAA4B,CAAA;IACzC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,4BAA4B,EAAE,CAAA;IACnD,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,4BAA4B,EAAE,CAAA;IACnD,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,mBAAmB,CAAA;IAC5C,6DAA6D;IAC7D,yBAAyB,CAAC,EAAE,mBAAmB,CAAA;IAC/C,iEAAiE;IACjE,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,2GAA2G;IAC3G,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IACtC,8EAA8E;IAC9E,6BAA6B,CAAC,EAAE,mBAAmB,CAAA;IACnD;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,yBAAyB;IACtC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,qBAAqB,GAAG,YAAY,CAAA;IAC3C,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,qEAAqE;IACrE,gCAAgC,CAAC,EAAE,OAAO,CAAA;IAC1C,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,mEAAmE;IACnE,UAAU,EAAE,yBAAyB,CAAA;IACrC,2DAA2D;IAC3D,MAAM,EAAE,6BAA6B,CAAA;CACxC;AAED,MAAM,WAAW,wBAAwB;IACrC,oEAAoE;IACpE,EAAE,EAAE,OAAO,CAAA;IACX,6CAA6C;IAC7C,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,qEAAqE;IACrE,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACvC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB"}
|
|
@@ -45,5 +45,15 @@ export declare const CITATION_CITING_REF_NOT_FOUND = "CITATION_CITING_REF_NOT_FO
|
|
|
45
45
|
export declare const CITATION_SOURCE_REF_NOT_FOUND = "CITATION_SOURCE_REF_NOT_FOUND";
|
|
46
46
|
export declare const CITATION_SOURCE_NOT_CITATION_TYPE = "CITATION_SOURCE_NOT_CITATION_TYPE";
|
|
47
47
|
export declare const CITATION_CYCLE_DETECTED = "CITATION_CYCLE_DETECTED";
|
|
48
|
+
export declare const DERIVATION_TYPE_MISMATCH = "DERIVATION_TYPE_MISMATCH";
|
|
49
|
+
export declare const DERIVATION_STRUCTURE_INVALID = "DERIVATION_STRUCTURE_INVALID";
|
|
50
|
+
export declare const DERIVATION_STRUCTURE_INVALID_AT_EVALUATION = "DERIVATION_STRUCTURE_INVALID_AT_EVALUATION";
|
|
51
|
+
export declare const DERIVATION_CONSEQUENT_LOCKED = "DERIVATION_CONSEQUENT_LOCKED";
|
|
52
|
+
export declare const DERIVATION_ROOT_OPERATOR_INVALID = "DERIVATION_ROOT_OPERATOR_INVALID";
|
|
53
|
+
export declare const DERIVATION_ANTECEDENT_NON_EMPTY = "DERIVATION_ANTECEDENT_NON_EMPTY";
|
|
54
|
+
export declare const CREATE_DERIVATION_REQUIRES_DERIVED_CLAIM_ID = "CREATE_DERIVATION_REQUIRES_DERIVED_CLAIM_ID";
|
|
55
|
+
export declare const CREATE_DERIVATION_CLAIM_NOT_FOUND = "CREATE_DERIVATION_CLAIM_NOT_FOUND";
|
|
56
|
+
export declare const CLAIM_NOT_FOUND = "CLAIM_NOT_FOUND";
|
|
57
|
+
export declare const LEGACY_PREMISE_MISSING_TYPE = "LEGACY_PREMISE_MISSING_TYPE";
|
|
48
58
|
export declare const FORK_RECORD_SCHEMA_INVALID = "FORK_RECORD_SCHEMA_INVALID";
|
|
49
59
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/validation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GACnC,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CAAA;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,6BAA6B,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,EAAE,EAAE,OAAO,CAAA;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAA;CACpC,CAAA;AAGD,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AACpD,eAAO,MAAM,4BAA4B,iCAAiC,CAAA;AAC1E,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,uCAAuC,4CACP,CAAA;AAC7C,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAG9D,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,+BAA+B,oCAAoC,CAAA;AAChF,eAAO,MAAM,8BAA8B,mCAAmC,CAAA;AAC9E,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAG5D,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAG5D,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAC5E,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAC5E,eAAO,MAAM,iCAAiC,sCACP,CAAA;AACvC,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAGhE,eAAO,MAAM,0BAA0B,+BAA+B,CAAA"}
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/validation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GACnC,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CAAA;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,6BAA6B,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,EAAE,EAAE,OAAO,CAAA;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAA;CACpC,CAAA;AAGD,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AACpD,eAAO,MAAM,4BAA4B,iCAAiC,CAAA;AAC1E,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,uCAAuC,4CACP,CAAA;AAC7C,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAG9D,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,+BAA+B,oCAAoC,CAAA;AAChF,eAAO,MAAM,8BAA8B,mCAAmC,CAAA;AAC9E,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAG5D,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAG5D,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAC5E,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAC5E,eAAO,MAAM,iCAAiC,sCACP,CAAA;AACvC,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAGhE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,4BAA4B,iCAAiC,CAAA;AAC1E,eAAO,MAAM,0CAA0C,+CACP,CAAA;AAChD,eAAO,MAAM,4BAA4B,iCAAiC,CAAA;AAC1E,eAAO,MAAM,gCAAgC,qCACP,CAAA;AACtC,eAAO,MAAM,+BAA+B,oCAAoC,CAAA;AAChF,eAAO,MAAM,2CAA2C,gDACP,CAAA;AACjD,eAAO,MAAM,iCAAiC,sCACP,CAAA;AACvC,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAChD,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AAGxE,eAAO,MAAM,0BAA0B,+BAA+B,CAAA"}
|
|
@@ -40,6 +40,17 @@ export const CITATION_CITING_REF_NOT_FOUND = "CITATION_CITING_REF_NOT_FOUND";
|
|
|
40
40
|
export const CITATION_SOURCE_REF_NOT_FOUND = "CITATION_SOURCE_REF_NOT_FOUND";
|
|
41
41
|
export const CITATION_SOURCE_NOT_CITATION_TYPE = "CITATION_SOURCE_NOT_CITATION_TYPE";
|
|
42
42
|
export const CITATION_CYCLE_DETECTED = "CITATION_CYCLE_DETECTED";
|
|
43
|
+
// -- Derivation premise errors --
|
|
44
|
+
export const DERIVATION_TYPE_MISMATCH = "DERIVATION_TYPE_MISMATCH";
|
|
45
|
+
export const DERIVATION_STRUCTURE_INVALID = "DERIVATION_STRUCTURE_INVALID";
|
|
46
|
+
export const DERIVATION_STRUCTURE_INVALID_AT_EVALUATION = "DERIVATION_STRUCTURE_INVALID_AT_EVALUATION";
|
|
47
|
+
export const DERIVATION_CONSEQUENT_LOCKED = "DERIVATION_CONSEQUENT_LOCKED";
|
|
48
|
+
export const DERIVATION_ROOT_OPERATOR_INVALID = "DERIVATION_ROOT_OPERATOR_INVALID";
|
|
49
|
+
export const DERIVATION_ANTECEDENT_NON_EMPTY = "DERIVATION_ANTECEDENT_NON_EMPTY";
|
|
50
|
+
export const CREATE_DERIVATION_REQUIRES_DERIVED_CLAIM_ID = "CREATE_DERIVATION_REQUIRES_DERIVED_CLAIM_ID";
|
|
51
|
+
export const CREATE_DERIVATION_CLAIM_NOT_FOUND = "CREATE_DERIVATION_CLAIM_NOT_FOUND";
|
|
52
|
+
export const CLAIM_NOT_FOUND = "CLAIM_NOT_FOUND";
|
|
53
|
+
export const LEGACY_PREMISE_MISSING_TYPE = "LEGACY_PREMISE_MISSING_TYPE";
|
|
43
54
|
// -- ForkNamespace codes --
|
|
44
55
|
export const FORK_RECORD_SCHEMA_INVALID = "FORK_RECORD_SCHEMA_INVALID";
|
|
45
56
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/types/validation.ts"],"names":[],"mappings":"AAuBA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAA;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAChE,MAAM,CAAC,MAAM,uCAAuC,GAChD,yCAAyC,CAAA;AAC7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAE9D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAC9D,MAAM,CAAC,MAAM,+BAA+B,GAAG,iCAAiC,CAAA;AAChF,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC,CAAA;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,2BAA2B;AAC3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA;AAC5E,MAAM,CAAC,MAAM,iCAAiC,GAC1C,mCAAmC,CAAA;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE,4BAA4B;AAC5B,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/types/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TCoreDerivationPremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/propositional.js";
|
|
2
|
+
import type { TInvariantValidationResult } 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 declare function validateDerivationStructure(premise: TCoreDerivationPremise, expressions: TCorePropositionalExpression[], variables: TCorePropositionalVariable[]): TInvariantValidationResult;
|
|
24
|
+
//# sourceMappingURL=derivation-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derivation-validation.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/derivation-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAGxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,4BAA4B,EAAE,EAC3C,SAAS,EAAE,0BAA0B,EAAE,GACxC,0BAA0B,CAoG5B"}
|
|
@@ -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 +1 @@
|
|
|
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,
|
|
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
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|