pub struct EntityListEntry {Show 14 fields
pub id: String,
pub kind: EntityKind,
pub value: String,
pub chunk_count: i64,
pub session_count: i64,
pub project_count: i64,
pub user_count: i64,
pub topic_count: i64,
pub created_at: i64,
pub chunks: Option<Vec<EntityChunkRef>>,
pub session_ids: Option<Vec<String>>,
pub projects: Option<Vec<String>>,
pub users: Option<Vec<String>>,
pub topics: Option<Vec<String>>,
}Expand description
One row in the entity listing — the entity plus its chunk-reference count.
Fields§
§id: String§kind: EntityKind§value: String§chunk_count: i64§session_count: i64Distinct sessions whose chunks reference this entity (chunks with
session_id IS NULL are excluded). Tells “spammed in one session”
(session_count == 1) apart from “spread across many sessions”.
In session-scoped listings this collapses to 1 by construction.
project_count: i64Distinct upstream projects whose chunks reference this entity (chunks
with project IS NULL are excluded). Mirrors session_count at the
project grouping level introduced by schema v14, telling “tied to one
project” (project_count == 1) apart from “spread across many
projects” (project_count > 1) or “no project metadata”
(project_count == 0). Independent from the session scope filter: a
session_id filter does not collapse this to 1.
user_count: i64Distinct upstream users whose chunks reference this entity (chunks with
user IS NULL are excluded). Mirrors project_count at the user
grouping level introduced by schema v15, telling “tied to one user”
(user_count == 1) apart from “spread across users”
(user_count > 1) or “no user metadata” (user_count == 0).
Independent from the session scope filter: a session_id filter does
not collapse this to 1 (one session can legitimately span multiple
users — e.g. a shared agent thread).
topic_count: i64Distinct upstream topics whose chunks reference this entity (chunks
with topic IS NULL are excluded). Mirrors project_count /
user_count at the topic grouping level introduced by schema v16,
telling “tied to one topic” (topic_count == 1) apart from “spread
across topics” (topic_count > 1) or “no topic metadata”
(topic_count == 0). Independent from the session scope filter: a
session_id filter does not collapse this to 1 (one session can
legitimately span multiple topics).
created_at: i64§chunks: Option<Vec<EntityChunkRef>>Sample of chunks that reference this entity. Some(_) only when
EntityListOptions::with_chunks was set; None keeps the flat
listing’s wire shape unchanged for callers that did not opt in.
session_ids: Option<Vec<String>>Sample of distinct session_id values whose chunks reference this
entity. Some(_) only when EntityListOptions::with_sessions was set
to Some(n > 0); None keeps the default wire shape unchanged for
callers that did not opt in. Ordered ascending by session_id so the
output is deterministic across runs. Sessions with NULL ids are
excluded; under a session_id filter this collapses to at most one id.
projects: Option<Vec<String>>Sample of distinct non-NULL chunks.project values that reference this
entity. Some(_) only when EntityListOptions::with_projects was set
to Some(n > 0); None keeps the default wire shape unchanged for
callers that did not opt in. Ordered ascending by project so the
output is deterministic across runs. Chunks with project IS NULL are
excluded. Under a session_id filter the sample is scoped to that
session’s chunks but does NOT collapse to one project — a session may
legitimately span multiple projects.
users: Option<Vec<String>>Sample of distinct non-NULL chunks.user values that reference this
entity. Some(_) only when EntityListOptions::with_users was set to
Some(n > 0); None keeps the default wire shape unchanged for
callers that did not opt in. Ordered ascending by user so the output
is deterministic across runs. Chunks with user IS NULL are excluded.
Under a session_id filter the sample is scoped to that session’s
chunks but does NOT collapse to one user — a single session can
legitimately span multiple users.
topics: Option<Vec<String>>Sample of distinct non-NULL chunks.topic values that reference this
entity. Some(_) only when EntityListOptions::with_topics was set to
Some(n > 0); None keeps the default wire shape unchanged for
callers that did not opt in. Ordered ascending by topic so the output
is deterministic across runs. Chunks with topic IS NULL are excluded.
Under a session_id filter the sample is scoped to that session’s
chunks but does NOT collapse to one topic — a single session can
legitimately span multiple topics.
Trait Implementations§
Source§impl Clone for EntityListEntry
impl Clone for EntityListEntry
Source§fn clone(&self) -> EntityListEntry
fn clone(&self) -> EntityListEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EntityListEntry
impl Debug for EntityListEntry
impl Eq for EntityListEntry
Source§impl PartialEq for EntityListEntry
impl PartialEq for EntityListEntry
Source§fn eq(&self, other: &EntityListEntry) -> bool
fn eq(&self, other: &EntityListEntry) -> bool
self and other values to be equal, and is used by ==.