MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / search

Function search

src/dashboard/lcm_api.rs:139–162  ·  view source on GitHub ↗

`GET /api/plugins/hermes-lcm/search`

(
    State(state): State<DashboardState>,
    JsonQuery(params): JsonQuery<SearchParams>,
)

Source from the content-addressed store, hash-verified

137
138/// `GET /api/plugins/hermes-lcm/search`
139pub(crate) async fn search(
140 State(state): State<DashboardState>,
141 JsonQuery(params): JsonQuery<SearchParams>,
142) -> LcmResult {
143 let limit = coerce_limit(params.limit, 25, 200);
144 let offset = params.offset.unwrap_or(0).max(0);
145 let since = lcm_service::parse_epoch(&params.since);
146 let until = lcm_service::parse_epoch(&params.until);
147 let payload = lcm_service::search_payload(
148 &state,
149 lcm_service::SearchPayloadArgs {
150 query: &params.q,
151 limit,
152 offset,
153 role: &params.role,
154 source: &params.source,
155 session_id: &params.session_id,
156 since,
157 until,
158 },
159 )
160 .await?;
161 Ok(ok(payload))
162}
163
164#[derive(Deserialize)]
165pub(crate) struct SessionParams {

Callers 1

useGraphSearchFunction · 0.50

Calls 4

coerce_limitFunction · 0.85
parse_epochFunction · 0.85
search_payloadFunction · 0.70
okFunction · 0.70

Tested by

no test coverage detected