feat(hololake): establish clean v1 personal language shell

This commit is contained in:
冰朔 2026-09-03 15:35:33 +08:00
commit c4f662e541
51 changed files with 16233 additions and 1 deletions

View file

@ -0,0 +1,86 @@
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Channel {
pub channel_id: String,
pub name: String,
pub created_at: String,
pub private_git_path: String,
pub public_distribution_state: String,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SourceKind {
UserMessage,
PersonaResponse,
SystemContext,
ProtocolEvent,
AgentAction,
ToolResult,
SystemReceipt,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TimelineEvent {
pub event_id: String,
pub source_kind: SourceKind,
pub title: String,
pub content: String,
pub occurred_at: String,
pub state: String,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KnowledgeSummary {
pub path: String,
pub title: String,
pub updated_at: String,
pub sha256: String,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KnowledgeDocument {
pub path: String,
pub title: String,
pub body: String,
pub updated_at: String,
pub sha256: String,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExternalAiBridge {
pub bridge_id: String,
pub display_name: String,
pub inbox_path: String,
pub outbox_path: String,
pub state: String,
}
#[derive(Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct SystemSnapshot {
pub app_version: String,
pub channel: Option<Channel>,
pub timeline: Vec<TimelineEvent>,
pub documents: Vec<KnowledgeSummary>,
pub module_registry_version: String,
pub public_update_endpoint: String,
pub public_distribution_state: String,
pub external_ai_bridges: Vec<ExternalAiBridge>,
}
#[derive(Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MutationReceipt {
pub receipt_id: String,
pub state: String,
pub message: String,
pub git_commit: Option<String>,
pub event: TimelineEvent,
}