Files
Apple 129e4ea1fc feat(platform): add new services, tools, tests and crews modules
New router intelligence modules (26 files): alert_ingest/store, audit_store,
architecture_pressure, backlog_generator/store, cost_analyzer, data_governance,
dependency_scanner, drift_analyzer, incident_* (5 files), llm_enrichment,
platform_priority_digest, provider_budget, release_check_runner, risk_* (6 files),
signature_state_store, sofiia_auto_router, tool_governance

New services:
- sofiia-console: Dockerfile, adapters/, monitor/nodes/ops/voice modules, launchd, react static
- memory-service: integration_endpoints, integrations, voice_endpoints, static UI
- aurora-service: full app suite (analysis, job_store, orchestrator, reporting, schemas, subagents)
- sofiia-supervisor: new supervisor service
- aistalk-bridge-lite: Telegram bridge lite
- calendar-service: CalDAV calendar service with reminders
- mlx-stt-service / mlx-tts-service: Apple Silicon speech services
- binance-bot-monitor: market monitor service
- node-worker: STT/TTS memory providers

New tools (9): agent_email, browser_tool, contract_tool, observability_tool,
oncall_tool, pr_reviewer_tool, repo_tool, safe_code_executor, secure_vault

New crews: agromatrix_crew (10 modules: depth_classifier, doc_facts, doc_focus,
farm_state, light_reply, llm_factory, memory_manager, proactivity, reflection_engine,
session_context, style_adapter, telemetry)

Tests: 85+ test files for all new modules
Made-with: Cursor
2026-03-03 07:14:14 -08:00

62 lines
1.6 KiB
Python

from __future__ import annotations
from typing import Any, Dict, List, Literal, Optional
from pydantic import BaseModel, Field
AuroraMode = Literal["tactical", "forensic"]
MediaType = Literal["video", "audio", "photo", "unknown"]
JobStatus = Literal["queued", "processing", "completed", "failed", "cancelled"]
class InputFileDescriptor(BaseModel):
name: str
hash: str
class ProcessingStep(BaseModel):
step: str
agent: str
model: str
time_ms: int = 0
details: Dict[str, Any] = Field(default_factory=dict)
class OutputFileDescriptor(BaseModel):
type: str
name: str
url: str
hash: str
class AuroraResult(BaseModel):
agent: str = "Aurora"
mode: AuroraMode
job_id: str
media_type: MediaType
input_file: InputFileDescriptor
processing_log: List[ProcessingStep] = Field(default_factory=list)
output_files: List[OutputFileDescriptor] = Field(default_factory=list)
digital_signature: Optional[str] = None
metadata: Dict[str, Any] = Field(default_factory=dict)
class AuroraJob(BaseModel):
job_id: str
file_name: str
mode: AuroraMode
media_type: MediaType
input_path: str
input_hash: str
status: JobStatus = "queued"
progress: int = 0
current_stage: str = "queued"
error_message: Optional[str] = None
cancel_requested: bool = False
processing_log: List[ProcessingStep] = Field(default_factory=list)
result: Optional[AuroraResult] = None
created_at: str
started_at: Optional[str] = None
completed_at: Optional[str] = None
metadata: Dict[str, Any] = Field(default_factory=dict)