@polintpro/proposit-core 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/cli/commands/sources.d.ts +3 -0
- package/dist/cli/commands/sources.d.ts.map +1 -0
- package/dist/cli/commands/sources.js +118 -0
- package/dist/cli/commands/sources.js.map +1 -0
- package/dist/cli/commands/variables.d.ts.map +1 -1
- package/dist/cli/commands/variables.js +3 -0
- package/dist/cli/commands/variables.js.map +1 -1
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +6 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +35 -2
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +7 -1
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/schemata.d.ts +8 -0
- package/dist/cli/schemata.d.ts.map +1 -1
- package/dist/cli/schemata.js +10 -0
- package/dist/cli/schemata.js.map +1 -1
- package/dist/cli/storage/sources.d.ts +11 -0
- package/dist/cli/storage/sources.d.ts.map +1 -0
- package/dist/cli/storage/sources.js +105 -0
- package/dist/cli/storage/sources.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/extensions/ieee/index.d.ts +3 -0
- package/dist/extensions/ieee/index.d.ts.map +1 -0
- package/dist/extensions/ieee/index.js +3 -0
- package/dist/extensions/ieee/index.js.map +1 -0
- package/dist/extensions/ieee/references.d.ts +620 -0
- package/dist/extensions/ieee/references.d.ts.map +1 -0
- package/dist/extensions/ieee/references.js +450 -0
- package/dist/extensions/ieee/references.js.map +1 -0
- package/dist/extensions/ieee/source.d.ts +286 -0
- package/dist/extensions/ieee/source.d.ts.map +1 -0
- package/dist/extensions/ieee/source.js +12 -0
- package/dist/extensions/ieee/source.js.map +1 -0
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +31 -1
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +25 -117
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +239 -123
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/assertion-library.d.ts +27 -0
- package/dist/lib/core/assertion-library.d.ts.map +1 -0
- package/dist/lib/core/assertion-library.js +129 -0
- package/dist/lib/core/assertion-library.js.map +1 -0
- package/dist/lib/core/change-collector.d.ts +7 -5
- package/dist/lib/core/change-collector.d.ts.map +1 -1
- package/dist/lib/core/change-collector.js +18 -5
- package/dist/lib/core/change-collector.js.map +1 -1
- package/dist/lib/core/diff.d.ts +6 -2
- package/dist/lib/core/diff.d.ts.map +1 -1
- package/dist/lib/core/diff.js +80 -1
- package/dist/lib/core/diff.js.map +1 -1
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +338 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/index.d.ts +6 -0
- package/dist/lib/core/interfaces/index.d.ts.map +1 -0
- package/dist/lib/core/interfaces/index.js +2 -0
- package/dist/lib/core/interfaces/index.js.map +1 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts +19 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/library.interfaces.js +2 -0
- package/dist/lib/core/interfaces/library.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +318 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
- package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
- package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts +63 -0
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
- package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
- package/dist/lib/core/premise-engine.d.ts +10 -144
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +82 -143
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/source-library.d.ts +27 -0
- package/dist/lib/core/source-library.d.ts.map +1 -0
- package/dist/lib/core/source-library.js +129 -0
- package/dist/lib/core/source-library.js.map +1 -0
- package/dist/lib/core/source-manager.d.ts +38 -0
- package/dist/lib/core/source-manager.d.ts.map +1 -0
- package/dist/lib/core/source-manager.js +266 -0
- package/dist/lib/core/source-manager.js.map +1 -0
- package/dist/lib/index.d.ts +6 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/assertion.d.ts +9 -0
- package/dist/lib/schemata/assertion.d.ts.map +1 -0
- package/dist/lib/schemata/assertion.js +18 -0
- package/dist/lib/schemata/assertion.js.map +1 -0
- package/dist/lib/schemata/index.d.ts +2 -0
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +2 -0
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +2 -0
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +5 -1
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/schemata/source.d.ts +30 -0
- package/dist/lib/schemata/source.d.ts.map +1 -0
- package/dist/lib/schemata/source.js +45 -0
- package/dist/lib/schemata/source.js.map +1 -0
- package/dist/lib/types/checksum.d.ts +8 -0
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/diff.d.ts +5 -1
- package/dist/lib/types/diff.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/mutation.d.ts +3 -0
- package/dist/lib/types/mutation.d.ts.map +1 -1
- package/dist/lib/types/reactive.d.ts +3 -1
- package/dist/lib/types/reactive.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum } from "../../schemata/index.js";
|
|
2
|
+
import type { TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../../types/evaluation.js";
|
|
3
|
+
import type { TCoreMutationResult } from "../../types/mutation.js";
|
|
4
|
+
import type { TReactiveSnapshot } from "../../types/reactive.js";
|
|
5
|
+
import type { PremiseEngine } from "../premise-engine.js";
|
|
6
|
+
import type { TArgumentEngineSnapshot } from "../argument-engine.js";
|
|
7
|
+
/**
|
|
8
|
+
* Premise creation, removal, and lookup.
|
|
9
|
+
*/
|
|
10
|
+
export interface TPremiseCrud<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new premise with an auto-generated UUID and registers it
|
|
13
|
+
* with this engine.
|
|
14
|
+
*
|
|
15
|
+
* @param extras - Optional extra metadata to attach to the premise.
|
|
16
|
+
* @returns The newly created PremiseEngine instance and changeset.
|
|
17
|
+
*/
|
|
18
|
+
createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a premise with a caller-supplied ID and registers it with
|
|
21
|
+
* this engine.
|
|
22
|
+
*
|
|
23
|
+
* @param id - The ID to assign to the new premise.
|
|
24
|
+
* @param extras - Optional extra metadata to attach to the premise.
|
|
25
|
+
* @returns The newly created PremiseEngine instance and changeset.
|
|
26
|
+
* @throws If a premise with the given ID already exists.
|
|
27
|
+
*/
|
|
28
|
+
createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
29
|
+
/**
|
|
30
|
+
* Removes a premise and clears any role assignments that reference it.
|
|
31
|
+
*
|
|
32
|
+
* @param premiseId - The ID of the premise to remove.
|
|
33
|
+
* @returns The removed premise data, or `undefined` if not found.
|
|
34
|
+
*/
|
|
35
|
+
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the premise with the given ID, or `undefined` if not found.
|
|
38
|
+
*
|
|
39
|
+
* @param premiseId - The ID of the premise to retrieve.
|
|
40
|
+
* @returns The PremiseEngine instance, or `undefined`.
|
|
41
|
+
*/
|
|
42
|
+
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Returns `true` if a premise with the given ID exists.
|
|
45
|
+
*
|
|
46
|
+
* @param premiseId - The ID to check.
|
|
47
|
+
* @returns Whether the premise exists.
|
|
48
|
+
*/
|
|
49
|
+
hasPremise(premiseId: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Returns all premise IDs in lexicographic order.
|
|
52
|
+
*
|
|
53
|
+
* @returns An array of premise ID strings.
|
|
54
|
+
*/
|
|
55
|
+
listPremiseIds(): string[];
|
|
56
|
+
/**
|
|
57
|
+
* Returns all premises in lexicographic ID order.
|
|
58
|
+
*
|
|
59
|
+
* @returns An array of PremiseEngine instances.
|
|
60
|
+
*/
|
|
61
|
+
listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
62
|
+
/**
|
|
63
|
+
* Returns the PremiseEngine containing the given expression, or
|
|
64
|
+
* `undefined`.
|
|
65
|
+
*
|
|
66
|
+
* @param expressionId - The expression ID to search for.
|
|
67
|
+
* @returns The owning PremiseEngine, or `undefined`.
|
|
68
|
+
*/
|
|
69
|
+
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Variable CRUD and lookup across the argument.
|
|
73
|
+
*/
|
|
74
|
+
export interface TVariableManagement<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
75
|
+
/**
|
|
76
|
+
* Registers a propositional variable for use across all premises.
|
|
77
|
+
*
|
|
78
|
+
* @param variable - The variable entity to register.
|
|
79
|
+
* @returns The registered variable (with checksum) and changeset.
|
|
80
|
+
* @throws If `variable.symbol` is already in use.
|
|
81
|
+
* @throws If `variable.id` already exists.
|
|
82
|
+
* @throws If the variable does not belong to this argument.
|
|
83
|
+
*/
|
|
84
|
+
addVariable(variable: TOptionalChecksum<TVar>): TCoreMutationResult<TVar, TExpr, TVar, TPremise, TArg>;
|
|
85
|
+
/**
|
|
86
|
+
* Updates fields on an existing variable. Since all premises share the
|
|
87
|
+
* same VariableManager, the update is immediately visible everywhere.
|
|
88
|
+
*
|
|
89
|
+
* @param variableId - The ID of the variable to update.
|
|
90
|
+
* @param updates - Fields to update (`symbol`, `assertionId`, `assertionVersion`).
|
|
91
|
+
* `assertionId` and `assertionVersion` must be provided together.
|
|
92
|
+
* @returns The updated variable, or `undefined` if not found.
|
|
93
|
+
* @throws If the new symbol is already in use by a different variable.
|
|
94
|
+
* @throws If the new assertion reference does not exist in the assertion library.
|
|
95
|
+
*/
|
|
96
|
+
updateVariable(variableId: string, updates: {
|
|
97
|
+
symbol?: string;
|
|
98
|
+
assertionId?: string;
|
|
99
|
+
assertionVersion?: number;
|
|
100
|
+
}): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
101
|
+
/**
|
|
102
|
+
* Removes a variable and cascade-deletes all expressions referencing it
|
|
103
|
+
* across every premise (including subtrees and operator collapse).
|
|
104
|
+
*
|
|
105
|
+
* @param variableId - The ID of the variable to remove.
|
|
106
|
+
* @returns The removed variable, or `undefined` if not found.
|
|
107
|
+
*/
|
|
108
|
+
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
109
|
+
/**
|
|
110
|
+
* Returns the variable with the given ID, or `undefined` if not found.
|
|
111
|
+
*
|
|
112
|
+
* @param variableId - The variable ID to look up.
|
|
113
|
+
* @returns The variable entity, or `undefined`.
|
|
114
|
+
*/
|
|
115
|
+
getVariable(variableId: string): TVar | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Returns `true` if a variable with the given ID exists.
|
|
118
|
+
*
|
|
119
|
+
* @param variableId - The variable ID to check.
|
|
120
|
+
* @returns Whether the variable exists.
|
|
121
|
+
*/
|
|
122
|
+
hasVariable(variableId: string): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Returns the variable with the given symbol, or `undefined` if not
|
|
125
|
+
* found.
|
|
126
|
+
*
|
|
127
|
+
* @param symbol - The symbol string to look up.
|
|
128
|
+
* @returns The variable entity, or `undefined`.
|
|
129
|
+
*/
|
|
130
|
+
getVariableBySymbol(symbol: string): TVar | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* Returns all registered variables sorted by ID.
|
|
133
|
+
*
|
|
134
|
+
* @returns An array of variable entities.
|
|
135
|
+
*/
|
|
136
|
+
getVariables(): TVar[];
|
|
137
|
+
/**
|
|
138
|
+
* Builds a Map keyed by a caller-supplied function over all variables.
|
|
139
|
+
* Useful for indexing by extension fields (e.g. statementId). The
|
|
140
|
+
* caller should cache the result — this is O(n) per call.
|
|
141
|
+
*
|
|
142
|
+
* @param keyFn - A function that extracts the map key from a variable.
|
|
143
|
+
* @returns A Map from the extracted key to the variable.
|
|
144
|
+
*/
|
|
145
|
+
buildVariableIndex<K>(keyFn: (v: TVar) => K): Map<K, TVar>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Cross-premise expression lookups and analysis.
|
|
149
|
+
*/
|
|
150
|
+
export interface TArgumentExpressionQueries<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> {
|
|
151
|
+
/**
|
|
152
|
+
* Returns an expression by ID from any premise, or `undefined` if not
|
|
153
|
+
* found.
|
|
154
|
+
*
|
|
155
|
+
* @param expressionId - The expression ID to look up.
|
|
156
|
+
* @returns The expression entity, or `undefined`.
|
|
157
|
+
*/
|
|
158
|
+
getExpression(expressionId: string): TExpr | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Returns `true` if an expression with the given ID exists in any
|
|
161
|
+
* premise.
|
|
162
|
+
*
|
|
163
|
+
* @param expressionId - The expression ID to check.
|
|
164
|
+
* @returns Whether the expression exists.
|
|
165
|
+
*/
|
|
166
|
+
hasExpression(expressionId: string): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Returns the premise ID that contains the given expression, or
|
|
169
|
+
* `undefined`.
|
|
170
|
+
*
|
|
171
|
+
* @param expressionId - The expression ID to look up.
|
|
172
|
+
* @returns The owning premise ID, or `undefined`.
|
|
173
|
+
*/
|
|
174
|
+
getExpressionPremiseId(expressionId: string): string | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* Returns all expressions across all premises, sorted by ID.
|
|
177
|
+
*
|
|
178
|
+
* @returns An array of expression entities.
|
|
179
|
+
*/
|
|
180
|
+
getAllExpressions(): TExpr[];
|
|
181
|
+
/**
|
|
182
|
+
* Returns all expressions that reference the given variable ID, across
|
|
183
|
+
* all premises.
|
|
184
|
+
*
|
|
185
|
+
* @param variableId - The variable ID to search for.
|
|
186
|
+
* @returns An array of referencing expression entities.
|
|
187
|
+
*/
|
|
188
|
+
getExpressionsByVariableId(variableId: string): TExpr[];
|
|
189
|
+
/**
|
|
190
|
+
* Returns the root expression from each premise that has one.
|
|
191
|
+
*
|
|
192
|
+
* @returns An array of root expression entities.
|
|
193
|
+
*/
|
|
194
|
+
listRootExpressions(): TExpr[];
|
|
195
|
+
/**
|
|
196
|
+
* Collects all variables referenced by expressions across all premises,
|
|
197
|
+
* indexed both by variable ID and by symbol.
|
|
198
|
+
*
|
|
199
|
+
* @returns An object with `variableIds`, `byId`, and `bySymbol` indexes.
|
|
200
|
+
*/
|
|
201
|
+
collectReferencedVariables(): {
|
|
202
|
+
variableIds: string[];
|
|
203
|
+
byId: Record<string, {
|
|
204
|
+
symbol: string;
|
|
205
|
+
premiseIds: string[];
|
|
206
|
+
}>;
|
|
207
|
+
bySymbol: Record<string, {
|
|
208
|
+
variableIds: string[];
|
|
209
|
+
premiseIds: string[];
|
|
210
|
+
}>;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Conclusion and supporting premise role management.
|
|
215
|
+
*/
|
|
216
|
+
export interface TArgumentRoleState<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
217
|
+
/**
|
|
218
|
+
* Returns the conclusion premise, or `undefined` if none is set.
|
|
219
|
+
*
|
|
220
|
+
* @returns The conclusion PremiseEngine, or `undefined`.
|
|
221
|
+
*/
|
|
222
|
+
getConclusionPremise(): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
223
|
+
/**
|
|
224
|
+
* Returns all supporting premises (derived: inference premises that are
|
|
225
|
+
* not the conclusion) in lexicographic ID order.
|
|
226
|
+
*
|
|
227
|
+
* @returns An array of supporting PremiseEngine instances.
|
|
228
|
+
*/
|
|
229
|
+
listSupportingPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
230
|
+
/**
|
|
231
|
+
* Designates a premise as the argument's conclusion.
|
|
232
|
+
*
|
|
233
|
+
* @param premiseId - The ID of the premise to designate.
|
|
234
|
+
* @returns The updated role state and changeset.
|
|
235
|
+
* @throws If the premise does not exist.
|
|
236
|
+
*/
|
|
237
|
+
setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
238
|
+
/**
|
|
239
|
+
* Clears the conclusion designation.
|
|
240
|
+
*
|
|
241
|
+
* @returns The updated role state and changeset.
|
|
242
|
+
*/
|
|
243
|
+
clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
244
|
+
/**
|
|
245
|
+
* Returns the current role assignments (conclusion premise ID only;
|
|
246
|
+
* supporting is derived).
|
|
247
|
+
*
|
|
248
|
+
* @returns The current argument role state.
|
|
249
|
+
*/
|
|
250
|
+
getRoleState(): TCoreArgumentRoleState;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Argument-level evaluation: single-assignment evaluation, evaluability
|
|
254
|
+
* validation, and exhaustive validity checking.
|
|
255
|
+
*/
|
|
256
|
+
export interface TArgumentEvaluation {
|
|
257
|
+
/**
|
|
258
|
+
* Validates that this argument is structurally ready for evaluation: a
|
|
259
|
+
* conclusion must be set, all role references must point to existing
|
|
260
|
+
* premises, variable ID/symbol mappings must be consistent, and every
|
|
261
|
+
* premise must be individually evaluable.
|
|
262
|
+
*
|
|
263
|
+
* @returns A validation result with any issues found.
|
|
264
|
+
*/
|
|
265
|
+
validateEvaluability(): TCoreValidationResult;
|
|
266
|
+
/**
|
|
267
|
+
* Evaluates the argument under a three-valued expression assignment.
|
|
268
|
+
*
|
|
269
|
+
* Variables may be `true`, `false`, or `null` (unknown). All result
|
|
270
|
+
* flags (`isAdmissibleAssignment`, `isCounterexample`, etc.) are
|
|
271
|
+
* three-valued: `null` means indeterminate due to unknown variable
|
|
272
|
+
* values.
|
|
273
|
+
*
|
|
274
|
+
* @param assignment - The variable assignment and optional rejected
|
|
275
|
+
* expression IDs.
|
|
276
|
+
* @param options - Optional evaluation options.
|
|
277
|
+
* @returns The evaluation result, or `{ ok: false }` with validation
|
|
278
|
+
* details if the argument is not structurally evaluable.
|
|
279
|
+
*/
|
|
280
|
+
evaluate(assignment: TCoreExpressionAssignment, options?: TCoreArgumentEvaluationOptions): TCoreArgumentEvaluationResult;
|
|
281
|
+
/**
|
|
282
|
+
* Enumerates all 2^n variable assignments and checks for
|
|
283
|
+
* counterexamples.
|
|
284
|
+
*
|
|
285
|
+
* A counterexample is an admissible assignment where all supporting
|
|
286
|
+
* premises are true but the conclusion is false. The argument is valid
|
|
287
|
+
* if no counterexamples exist.
|
|
288
|
+
*
|
|
289
|
+
* @param options - Optional limits on variables/assignments checked
|
|
290
|
+
* and early termination mode.
|
|
291
|
+
* @returns The validity check result including any counterexamples.
|
|
292
|
+
*/
|
|
293
|
+
checkValidity(options?: TCoreValidityCheckOptions): TCoreValidityCheckResult;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Snapshot, rollback, and reactive subscription lifecycle.
|
|
297
|
+
* Static factory methods (fromSnapshot, fromData) are class-level only.
|
|
298
|
+
*/
|
|
299
|
+
export interface TArgumentLifecycle<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
300
|
+
/**
|
|
301
|
+
* Registers a listener that is called after every mutation.
|
|
302
|
+
*
|
|
303
|
+
* @param listener - The callback to invoke on mutation.
|
|
304
|
+
* @returns An unsubscribe function that removes the listener.
|
|
305
|
+
*/
|
|
306
|
+
subscribe(listener: () => void): () => void;
|
|
307
|
+
/**
|
|
308
|
+
* Returns the current reactive snapshot for external store consumption.
|
|
309
|
+
*
|
|
310
|
+
* @returns The reactive snapshot.
|
|
311
|
+
*/
|
|
312
|
+
getSnapshot(): TReactiveSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
313
|
+
/**
|
|
314
|
+
* Returns a serializable snapshot of the full engine state.
|
|
315
|
+
*
|
|
316
|
+
* @returns The engine snapshot.
|
|
317
|
+
*/
|
|
318
|
+
snapshot(): TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
319
|
+
/**
|
|
320
|
+
* Restores the engine to a previously captured snapshot state.
|
|
321
|
+
*
|
|
322
|
+
* @param snapshot - The snapshot to restore from.
|
|
323
|
+
*/
|
|
324
|
+
rollback(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>): void;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Argument entity access.
|
|
328
|
+
*/
|
|
329
|
+
export interface TArgumentIdentity<TArg extends TCoreArgument = TCoreArgument> {
|
|
330
|
+
/**
|
|
331
|
+
* Returns a shallow copy of the argument metadata with checksum
|
|
332
|
+
* attached.
|
|
333
|
+
*
|
|
334
|
+
* @returns The argument entity.
|
|
335
|
+
*/
|
|
336
|
+
getArgument(): TArg;
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=argument-engine.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argument-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/argument-engine.interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argument-engine.interfaces.js","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/argument-engine.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { TDisplayable, TChecksummable } from "./shared.interfaces.js";
|
|
2
|
+
export type { TPremiseCrud, TVariableManagement, TArgumentExpressionQueries, TArgumentRoleState, TArgumentEvaluation, TArgumentLifecycle, TArgumentIdentity, } from "./argument-engine.interfaces.js";
|
|
3
|
+
export type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, } from "./premise-engine.interfaces.js";
|
|
4
|
+
export type { TSourceManagement } from "./source-management.interfaces.js";
|
|
5
|
+
export type { TAssertionLookup, TSourceLookup, TAssertionLibrarySnapshot, TSourceLibrarySnapshot, } from "./library.interfaces.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE1E,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,YAAY,EACR,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,GACzB,MAAM,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TCoreAssertion } from "../../schemata/assertion.js";
|
|
2
|
+
import type { TCoreSource } from "../../schemata/source.js";
|
|
3
|
+
/** Narrow read-only interface for assertion lookups. Used by ArgumentEngine for validation. */
|
|
4
|
+
export interface TAssertionLookup<TAssertion extends TCoreAssertion = TCoreAssertion> {
|
|
5
|
+
get(id: string, version: number): TAssertion | undefined;
|
|
6
|
+
}
|
|
7
|
+
/** Narrow read-only interface for source lookups. Used by ArgumentEngine for validation. */
|
|
8
|
+
export interface TSourceLookup<TSource extends TCoreSource = TCoreSource> {
|
|
9
|
+
get(id: string, version: number): TSource | undefined;
|
|
10
|
+
}
|
|
11
|
+
/** Serializable snapshot of an AssertionLibrary. */
|
|
12
|
+
export type TAssertionLibrarySnapshot<TAssertion extends TCoreAssertion = TCoreAssertion> = {
|
|
13
|
+
assertions: TAssertion[];
|
|
14
|
+
};
|
|
15
|
+
/** Serializable snapshot of a SourceLibrary. */
|
|
16
|
+
export type TSourceLibrarySnapshot<TSource extends TCoreSource = TCoreSource> = {
|
|
17
|
+
sources: TSource[];
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=library.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB,CAC7B,UAAU,SAAS,cAAc,GAAG,cAAc;IAElD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CAC3D;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW;IACpE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACxD;AAED,oDAAoD;AACpD,MAAM,MAAM,yBAAyB,CACjC,UAAU,SAAS,cAAc,GAAG,cAAc,IAClD;IACA,UAAU,EAAE,UAAU,EAAE,CAAA;CAC3B,CAAA;AAED,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,IACxE;IACI,OAAO,EAAE,OAAO,EAAE,CAAA;CACrB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.interfaces.js","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":""}
|