MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / send_message

Function send_message

crates/opencode-server/src/routes.rs:1076–1096  ·  view source on GitHub ↗
(
    State(state): State<Arc<ServerState>>,
    Path(session_id): Path<String>,
    Json(req): Json<SendMessageRequest>,
)

Source from the content-addressed store, hash-verified

1074}
1075
1076async fn send_message(
1077 State(state): State<Arc<ServerState>>,
1078 Path(session_id): Path<String>,
1079 Json(req): Json<SendMessageRequest>,
1080) -> Result<Json<MessageInfo>> {
1081 let mut sessions = state.sessions.lock().await;
1082 let session = sessions
1083 .get_mut(&session_id)
1084 .ok_or_else(|| ApiError::SessionNotFound(session_id.clone()))?;
1085 session.add_user_message(&req.content);
1086 if let Some(variant) = req.variant.as_deref() {
1087 session
1088 .metadata
1089 .insert("model_variant".to_string(), serde_json::json!(variant));
1090 }
1091 let assistant_msg = session.add_assistant_message();
1092 let info = message_to_info(&session_id, assistant_msg);
1093 drop(sessions);
1094 persist_sessions_if_enabled(&state).await;
1095 Ok(Json(info))
1096}
1097
1098async fn list_messages(
1099 State(state): State<Arc<ServerState>>,

Callers

nothing calls this directly

Calls 6

message_to_infoFunction · 0.85
get_mutMethod · 0.45
cloneMethod · 0.45
add_user_messageMethod · 0.45
add_assistant_messageMethod · 0.45

Tested by

no test coverage detected