DiscoveryQuery

data class DiscoveryQuery(val mode: RetrievalMode, val text: String? = null, val entityId: String? = null, val from: Instant? = null, val to: Instant? = null, val topK: Int = 10, val depth: Int = 1, val similarityThreshold: Double = 0.0)

A leak-free request for the discovery surface.

The request carries only primitive / String / Instant / enum fields — no store, RAG, or graph types cross the caller boundary. The context is NOT part of the request: it is baked into the router so a caller cannot read across contexts.

Path-style queries (connecting two entities) are not a retrieval mode; they are served by the dedicated path endpoint/tool which takes its two entity ids directly, so this request carries no destination-entity field.

Constructors

Link copied to clipboard
constructor(mode: RetrievalMode, text: String? = null, entityId: String? = null, from: Instant? = null, to: Instant? = null, topK: Int = 10, depth: Int = 1, similarityThreshold: Double = 0.0)

Properties

Link copied to clipboard
val depth: Int = 1

the graph traversal depth for GRAPH_WALK / HYBRID (clamped by the router)

Link copied to clipboard
val entityId: String? = null

the anchor entity for ENTITY / GRAPH_WALK / HYBRID modes

Link copied to clipboard
val from: Instant? = null

the inclusive start of the TEMPORAL window

Link copied to clipboard

which retrieval policy to apply

Link copied to clipboard

the minimum vector similarity for VECTOR / HYBRID hits, 0.0..1.0 (clamped by the router). Defaults to 0.0, which keeps every hit the index returns.

Link copied to clipboard
val text: String? = null

the query text for VECTOR / HYBRID modes

Link copied to clipboard
val to: Instant? = null

the inclusive end of the TEMPORAL window

Link copied to clipboard
val topK: Int = 10

the maximum number of results to return, applied to every mode (clamped by the router)