Jido.Memory.Query (Jido Memory v1.0.0)

View Source

Normalized query shape for memory retrieval.

v1 focuses on structured filters only. Semantic/vector search is intentionally deferred while keeping schema room for future RAG features.

Summary

Functions

Returns lowercase text filter, or nil when disabled.

Returns normalized kind keys for comparisons.

Returns true when query requires a namespace.

Builds and normalizes a query.

Builds and normalizes a query, raising on error.

Returns the query schema.

Types

order()

@type order() :: :asc | :desc

t()

@type t() :: %Jido.Memory.Query{
  classes: [atom()],
  extensions: map(),
  kinds: [any()],
  limit: integer(),
  namespace: nil | binary(),
  order: atom(),
  since: nil | integer(),
  tags_all: [binary()],
  tags_any: [binary()],
  text_contains: nil | binary(),
  until: nil | integer()
}

Functions

downcased_text_filter(query)

@spec downcased_text_filter(t()) :: String.t() | nil

Returns lowercase text filter, or nil when disabled.

kind_keys(query)

@spec kind_keys(t()) :: [String.t()]

Returns normalized kind keys for comparisons.

namespace_required?(query)

@spec namespace_required?(t()) :: boolean()

Returns true when query requires a namespace.

new(attrs)

@spec new(map() | keyword()) :: {:ok, t()} | {:error, term()}

Builds and normalizes a query.

new!(attrs)

@spec new!(map() | keyword()) :: t()

Builds and normalizes a query, raising on error.

schema()

@spec schema() :: Zoi.schema()

Returns the query schema.