Skip to content

Interface: TermDto

@kortexya/reasoninglayer


@kortexya/reasoninglayer / TermDto

Defined in: src/types/terms.ts:95

optional derivedBy?: string

Defined in: src/types/terms.ts:140

The rule that FIRST materialised this conclusion, absent on an asserted fact.

Joinable with the rule id from client.inference.getRules(), so a UI can show “concluded by ” beside a derived row instead of only “not yours to edit”.

⚠️ An ATTRIBUTION, not the proof set. A conclusion a second rule also proves keeps the FIRST materialiser’s id. For every recorded firing ask client.inference.backwardChain(...).

Response-only. Every write door refuses the underlying _derived_by marker, so a caller cannot assert provenance — sending it is a refusal, not a shortcut.


optional displayName?: string | null

Defined in: src/types/terms.ts:109

Computed display name (server-provided, present in GET responses).


features: Record<string, ValueDto>

Defined in: src/types/terms.ts:105

Named features with tagged values.


id: string

Defined in: src/types/terms.ts:97

Unique identifier (UUID).


optional origin?: TermOrigin

Defined in: src/types/terms.ts:122

Whether a client asserted this term or a rule derived it.

A derived term is retracted when the facts that proved it go. Editing one is writing over a conclusion the engine will recompute.


ownerId: string

Defined in: src/types/terms.ts:103

Owner user ID.


optional referencedTerms?: Record<string, ReferencedTermSummary>

Defined in: src/types/terms.ts:114

Summaries of referenced terms — maps UUID string to display info. Enriched at API layer via DomainTermStore lookups, zero extra I/O.


sortId: string

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

Sort (type) UUID that this term belongs to.


optional sortName?: string | null

Defined in: src/types/terms.ts:107

Resolved sort name (server-provided, present in GET responses).


tenantId: string

Defined in: src/types/terms.ts:101

Tenant that owns this term.