Skip to content

Interface: SolveConstraintResponse

@kortexya/reasoninglayer


@kortexya/reasoninglayer / SolveConstraintResponse

Defined in: src/types/constraints.ts:72

Response from solving arithmetic constraints.

Matches Rust SolveConstraintResponse.

bindings: Record<string, number>

Defined in: src/types/constraints.ts:79

Variable values the constraints force. Empty when unsatisfiable: bindings that led to a contradiction are no solution.


optional message?: string | null

Defined in: src/types/constraints.ts:83

Human-readable message.


success: boolean

Defined in: src/types/constraints.ts:74

Whether every constraint is satisfied by bindings.


suspendedConstraintIds: number[]

Defined in: src/types/constraints.ts:99

Positions of the constraints still suspended: awaiting bindings, or admitting more than one value.


suspendedConstraints: string[]

Defined in: src/types/constraints.ts:81

Human-readable count of the suspended constraints (empty when none).


unsatisfiable: boolean

Defined in: src/types/constraints.ts:89

Whether the constraints are proven to have no common solution. A refuted problem is a verdict, not a malformed request: it answers 200 with success: false.


violatedConstraintIds: number[]

Defined in: src/types/constraints.ts:94

Positions (in the request’s constraints list) of the constraints the forced bindings refute. Non-empty exactly when unsatisfiable.