OTLP tracing: - libs/observability/otlp.rs: SdkTracerProvider via HTTP/proto OTLP exporter - libs/observability/tracing_middleware.rs: Actix-web span with trace_id propagation - libs/observability/tracing_fmt.rs: JSON fmt + registry.try_init for layered init - libs/rpc: gRPC method spans via info_span - libs/agent, libs/room, libs/service, libs/api: structured tracing throughout Prometheus metrics: - libs/observability/prometheus_exporter.rs: /metrics HTTP handler + metrics crate - libs/observability/metrics_middleware.rs: HttpMetrics middleware + AtomicU64 - libs/observability/redis_metrics.rs: Redis counter poller via RedisMetrics - libs/room/metrics.rs: RoomMetrics (connections, messages, presence counters) Config env vars: APP_OTEL_ENABLED, APP_OTEL_ENDPOINT, APP_OTEL_SERVICE_NAME
38 lines
1.2 KiB
Rust
38 lines
1.2 KiB
Rust
pub mod chat;
|
|
pub mod client;
|
|
pub mod compact;
|
|
pub mod embed;
|
|
pub mod error;
|
|
pub mod perception;
|
|
pub mod react;
|
|
pub mod task;
|
|
pub mod tokent;
|
|
pub mod tool;
|
|
pub use task::TaskService;
|
|
pub use tokent::{TokenUsage, resolve_usage};
|
|
pub use perception::{PerceptionService, SkillContext, SkillEntry, ToolCallEvent};
|
|
|
|
use async_openai::Client;
|
|
use async_openai::config::OpenAIConfig;
|
|
pub use chat::{
|
|
AiContextSenderType, AiRequest, AiStreamChunk, ChatService, Mention, RoomMessageContext,
|
|
StreamCallback,
|
|
};
|
|
pub use client::{AiCallResponse, AiClientConfig, call_with_params, call_with_retry};
|
|
pub use compact::{CompactConfig, CompactLevel, CompactService, CompactSummary, MessageSummary};
|
|
pub use embed::{EmbedClient, EmbedService, QdrantClient, SearchResult};
|
|
pub use error::{AgentError, Result};
|
|
pub use react::{
|
|
Hook, HookAction, NoopHook, ReactAgent, ReactConfig, ReactStep, ToolCallAction, TracingHook,
|
|
DEFAULT_SYSTEM_PROMPT,
|
|
};
|
|
pub use tool::{
|
|
ToolCall, ToolCallResult, ToolContext, ToolDefinition, ToolError, ToolExecutor, ToolHandler, ToolParam,
|
|
ToolRegistry, ToolResult, ToolSchema,
|
|
};
|
|
|
|
#[derive(Clone)]
|
|
pub struct AgentService {
|
|
pub client: Client<OpenAIConfig>,
|
|
}
|