Skip to content

Interface: TemporalPlanRequest

@kortexya/reasoninglayer


@kortexya/reasoninglayer / Reasoning / TemporalPlanRequest

Interface: TemporalPlanRequest

Defined in: src/types/reasoning.ts:305

Request for temporal planning with diversity constraints.

Remarks

Selects a diverse set of terms from a sort, optionally using fuzzy scoring, proximity optimization, and field-based uniqueness constraints.

Properties

distanceMetric?

optional distanceMetric: string | null

Defined in: src/types/reasoning.ts:319

Distance metric for proximity optimization.

Determines how distance between field values is computed:

  • "categorical" (default): exact string match (0.0 = same, 1.0 = different). Suitable for cuisine types, categories, or any discrete field.
  • "geographical": haversine GPS distance. Expects groupByField values to be "latitude,longitude" strings (e.g., "37.7749,-122.4194"). Normalised by maxDistanceKm (default 100 km).
  • "temporal": time difference in minutes.

When absent or null, defaults to "categorical" for backward compatibility.


fuzzyQuery?

optional fuzzyQuery: QueryTerm | null

Defined in: src/types/reasoning.ts:324

Optional fuzzy query for automatic top-k scoring. If provided, performs fuzzy matching against all candidates and uses similarity scores.


groupByField?

optional groupByField: string | null

Defined in: src/types/reasoning.ts:326

Optional field to group by for proximity optimization (e.g., “gps_location”).


maxDistanceKm?

optional maxDistanceKm: number | null

Defined in: src/types/reasoning.ts:333

Maximum distance in kilometres for geographical distance normalisation.

Only used when distanceMetric is "geographical". Default: 100.0 (typical metropolitan area).


minDegree?

optional minDegree: number | null

Defined in: src/types/reasoning.ts:335

Minimum similarity degree for fuzzy query (default: 0.0).


noRepeatFields?

optional noRepeatFields: string[] | null

Defined in: src/types/reasoning.ts:340

Optional fields that must have unique values across selections (e.g., [“cuisine”]). When empty or not provided, allows same term to be selected multiple times.


numSelections

numSelections: number

Defined in: src/types/reasoning.ts:342

Number of terms to select (e.g., 7 for weekly plan).


proximityWeight?

optional proximityWeight: number | null

Defined in: src/types/reasoning.ts:344

Weight for proximity optimization (0.0-1.0, default: 0.0 = no proximity).


sequenceByField?

optional sequenceByField: string | null

Defined in: src/types/reasoning.ts:349

Optional field to sort results by (e.g., “prep_time” for ascending order). When provided, the selected terms will be ordered by this field’s value.


sortId

sortId: string

Defined in: src/types/reasoning.ts:351

Sort ID to select terms from (UUID).


topK?

optional topK: Record<string, number> | null

Defined in: src/types/reasoning.ts:356

Optional quality scores for top-k selection (term_id to score mapping). When provided, selects highest-quality diverse candidates.