Skip to content

Interface: RuleTermDraftDto

@kortexya/reasoninglayer


@kortexya/reasoninglayer / Inference / RuleTermDraftDto

Interface: RuleTermDraftDto

Defined in: src/types/inference.ts:979

One side of a drafted rule (its head or one antecedent): a sort name plus a feature map.

Remarks

Serialization format: Untagged (FeatureValueDto).

Feature values are raw JSON scalars — "hello", 42, true, null — or the string form of a variable (e.g. "?X"). They are NOT tagged import(’./values.js’).ValueDto objects: there is no {"type": "String", "value": "..."} wrapper anywhere in a rule draft.

The backend converts each of these to a TermInputDto::InlineByName when the draft is submitted to addRule, so a drafted term maps directly onto TermInputDto’s inline-by-sort-name variant.

Properties

features?

optional features: Record<string, FeatureValueDto>

Defined in: src/types/inference.ts:983

Feature name → untagged scalar value, or a variable string such as "?X".


sortName

sortName: string

Defined in: src/types/inference.ts:981

The sort (type) name of this term.