Skip to main content
Glama
management.rs1.64 kB
use std::collections::HashMap; use serde::{ Deserialize, Serialize, }; use telemetry::prelude::*; use telemetry_utils::metric; use crate::{ BeforeFunction, CycloneRequestable, component_view::ComponentViewWithGeometry, }; #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] #[serde(rename_all = "camelCase")] pub struct ManagementRequest { pub execution_id: String, pub handler: String, pub code_base64: String, pub current_view: String, pub this_component: ComponentViewWithGeometry, pub components: HashMap<String, ComponentViewWithGeometry>, pub variant_socket_map: HashMap<String, usize>, pub before: Vec<BeforeFunction>, } #[derive(Copy, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] #[serde(rename_all = "camelCase")] pub enum ManagementFuncStatus { Ok, Error, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct ManagementResultSuccess { pub execution_id: String, pub health: ManagementFuncStatus, pub operations: Option<serde_json::Value>, pub message: Option<String>, pub error: Option<String>, } impl CycloneRequestable for ManagementRequest { type Response = ManagementResultSuccess; fn execution_id(&self) -> &str { &self.execution_id } fn kind(&self) -> &str { "management" } fn websocket_path(&self) -> &str { "/execute/management" } fn inc_run_metric(&self) { metric!(counter.function_run.management = 1); } fn dec_run_metric(&self) { metric!(counter.function_run.management = -1); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server