use schemars::JsonSchema;
use serde::Deserialize;
#[derive(Debug, Deserialize, JsonSchema)]
pub enum EdgeType {
Semantic,
Temporal,
Causal,
Entity,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SearchParams {
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
#[serde(default)]
pub namespaces: Option<Vec<String>>,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SearchExplainedParams {
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct AddFactParams {
pub content: String,
pub namespace: String,
#[serde(default)]
pub source: Option<String>,
#[serde(default)]
pub extract_entities: Option<bool>,
#[serde(default)]
pub memory_kind: Option<String>,
#[serde(default)]
pub sensitivity: Option<String>,
#[serde(default)]
pub evidence_refs: Option<Vec<String>>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct IngestDocumentParams {
pub content: String,
pub title: String,
pub namespace: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GraphPathParams {
pub from_id: String,
pub to_id: String,
#[serde(default)]
pub max_depth: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct RouteQueryParams {
pub query: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct DetectContradictionsParams {
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SearchWithRoutingParams {
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
#[serde(default)]
pub contradictions: Option<Vec<(String, String)>>,
#[serde(default)]
pub group_by_community: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SetProvenanceParams {
pub item_id: String,
pub confidence: f64,
pub support_count: u32,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct DecoderAnalyzeParams {
pub results: Vec<(String, f64)>,
#[serde(default)]
pub contradictions: Option<Vec<(String, String)>>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct DiscordSearchParams {
pub direct_result_ids: Vec<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct RunLifecycleParams {
pub item_ids: Vec<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct AddGraphEdgeParams {
pub source: String,
pub target: String,
pub edge_type: EdgeType,
#[serde(default = "default_weight")]
pub weight: f64,
#[serde(default)]
pub cosine_similarity: Option<f32>,
#[serde(default)]
pub delta_secs: Option<u64>,
#[serde(default)]
pub confidence: Option<f32>,
#[serde(default)]
pub evidence_ids: Option<Vec<String>>,
#[serde(default)]
pub relation: Option<String>,
#[serde(default)]
pub metadata: Option<String>,
}
fn default_weight() -> f64 {
1.0
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ListGraphEdgesParams {
#[serde(default)]
pub node_id: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct InvalidateGraphEdgeParams {
pub edge_id: String,
pub reason: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct FactorGraphNodeInput {
pub item_id: String,
pub initial_belief: f64,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct FactorGraphParams {
pub nodes: Vec<FactorGraphNodeInput>,
#[serde(default)]
pub semantic_weight: Option<f64>,
#[serde(default)]
pub temporal_weight: Option<f64>,
#[serde(default)]
pub causal_weight: Option<f64>,
#[serde(default)]
pub entity_weight: Option<f64>,
#[serde(default)]
pub self_influence: Option<f64>,
#[serde(default)]
pub max_iterations: Option<u32>,
#[serde(default)]
pub convergence_threshold: Option<f64>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct TopologyParams {
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct CommunityParams {
#[serde(default)]
pub resolution: Option<f64>,
#[serde(default)]
pub seed: Option<u64>,
#[serde(default)]
pub contradictions: Option<Vec<(String, String)>>,
#[serde(default)]
pub importance_scores: Option<Vec<(String, f64)>>,
#[serde(default)]
pub summarize: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GetFactParams {
pub fact_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ListFactsParams {
pub namespace: String,
#[serde(default)]
pub limit: Option<u32>,
#[serde(default)]
pub offset: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GetFactNeighborsParams {
pub item_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SupersedeFactParams {
pub old_fact_id: String,
pub content: String,
#[serde(default)]
pub namespace: Option<String>,
#[serde(default)]
pub source: Option<String>,
#[serde(default)]
pub reason: Option<String>,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize, JsonSchema)]
pub struct CreateSessionParams {
pub channel: String,
#[serde(default)]
pub metadata: Option<String>,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize, JsonSchema)]
pub struct AddMessageParams {
pub session_id: String,
pub role: String,
pub content: String,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ListSessionsParams {
#[serde(default)]
pub limit: Option<u32>,
#[serde(default)]
pub offset: Option<u32>,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GetMessagesParams {
pub session_id: String,
#[serde(default)]
pub max_tokens: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SearchConversationsParams {
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct DeleteFactParams {
pub fact_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct DeleteNamespaceParams {
pub namespace: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct UpdateFactParams {
pub fact_id: String,
pub content: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ConsolidateFactsParams {
pub keep_id: String,
pub supersede_id: String,
pub merged_content: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct RecordOutcomeParams {
pub query: String,
pub outcome: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct CreateClaimParams {
pub fact_id: String,
pub source_span: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct AddEvidenceParams {
pub claim_id: String,
pub evidence_text: String,
pub source_type: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct JudgeSupportParams {
pub claim_id: String,
pub judgment: String,
pub rationale: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct SearchAsOfParams {
pub query: String,
pub as_of_date: String,
#[serde(default)]
pub top_k: Option<usize>,
pub namespace: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct VerifyClaimParams {
pub claim: String,
pub risk_class: String,
#[serde(default)]
pub evidence_refs: Option<Vec<String>>,
#[serde(default)]
pub refutation_attempted: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GetSearchReceiptParams {
pub receipt_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ReplaySearchReceiptParams {
pub receipt_id: String,
pub query: String,
#[serde(default)]
pub top_k: Option<u32>,
#[serde(default)]
pub namespaces: Option<Vec<String>>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ReconcileParams {
pub action: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct EmbeddingsAreDirtyParams {}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ListImportsParams {
#[serde(default)]
pub namespace: Option<String>,
#[serde(default)]
pub limit: Option<u32>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ImportStatusParams {
pub envelope_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ImportEnvelopeParams {
pub envelope_json: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ParseJsonParams {
pub raw_output: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ParseJsonValueParams {
pub raw_output: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct StripThinkTagsParams {
pub text: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct RepairJsonParams {
pub json_string: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ParseStringListParams {
pub raw_output: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ParseChoiceParams {
pub raw_output: String,
pub options: Vec<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ParseNumberParams {
pub raw_output: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct ProjectionQueryParams {
pub namespace: String,
#[serde(default)]
pub domain: Option<String>,
#[serde(default)]
pub workspace_id: Option<String>,
#[serde(default)]
pub repo_id: Option<String>,
#[serde(default)]
pub text_query: Option<String>,
#[serde(default)]
pub valid_at: Option<String>,
#[serde(default)]
pub recorded_at_or_before: Option<String>,
#[serde(default)]
pub subject_entity_id: Option<String>,
#[serde(default)]
pub canonical_entity_id: Option<String>,
#[serde(default)]
pub claim_state: Option<String>,
#[serde(default)]
pub claim_id: Option<String>,
#[serde(default)]
pub claim_version_id: Option<String>,
#[serde(default)]
pub limit: Option<u32>,
}