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

60 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "${ROOT_DIR}"
# Load root env if present (API keys, etc.)
if [ -f "../../.env" ]; then
set -a
# shellcheck disable=SC1091
source "../../.env"
set +a
fi
export ENV="${ENV:-dev}"
export PORT="${PORT:-8002}"
export OLLAMA_URL="${OLLAMA_URL:-http://localhost:11434}"
# On NODA2 native runtime we prefer local memory-service.
# Set SOFIIA_FORCE_LOCAL_MEMORY=false to keep external URL from env.
if [ "${SOFIIA_FORCE_LOCAL_MEMORY:-true}" = "true" ]; then
export MEMORY_SERVICE_URL="http://localhost:8000"
else
export MEMORY_SERVICE_URL="${MEMORY_SERVICE_URL:-http://localhost:8000}"
fi
export ROUTER_URL="${ROUTER_URL:-http://144.76.224.179:9102}"
export GATEWAY_URL="${GATEWAY_URL:-http://144.76.224.179:9300}"
export SOFIIA_PREFERRED_CHAT_MODEL="${SOFIIA_PREFERRED_CHAT_MODEL:-ollama:qwen3:14b}"
export SOFIIA_OLLAMA_TIMEOUT_SEC="${SOFIIA_OLLAMA_TIMEOUT_SEC:-120}"
export SOFIIA_OLLAMA_VOICE_TIMEOUT_SEC="${SOFIIA_OLLAMA_VOICE_TIMEOUT_SEC:-45}"
export SOFIIA_OLLAMA_KEEP_ALIVE="${SOFIIA_OLLAMA_KEEP_ALIVE:-30m}"
export SOFIIA_OLLAMA_NUM_CTX="${SOFIIA_OLLAMA_NUM_CTX:-8192}"
export SOFIIA_OLLAMA_NUM_THREAD="${SOFIIA_OLLAMA_NUM_THREAD:-8}"
export SOFIIA_OLLAMA_NUM_GPU="${SOFIIA_OLLAMA_NUM_GPU:--1}"
export SOFIIA_OLLAMA_NUM_PREDICT_TEXT="${SOFIIA_OLLAMA_NUM_PREDICT_TEXT:-768}"
export SOFIIA_DATA_DIR="${SOFIIA_DATA_DIR:-$HOME/.sofiia/console-data}"
mkdir -p "${SOFIIA_DATA_DIR}"
export AISTALK_ENABLED="${AISTALK_ENABLED:-true}"
export AISTALK_URL="${AISTALK_URL:-http://127.0.0.1:9415}"
export AISTALK_API_KEY="${AISTALK_API_KEY:-}"
if [ -d "venv" ]; then
# shellcheck disable=SC1091
source venv/bin/activate
elif [ -d "../../venv" ]; then
# shellcheck disable=SC1091
source ../../venv/bin/activate
fi
echo "[sofiia-daemon] starting on 127.0.0.1:${PORT}"
echo "[sofiia-daemon] data: ${SOFIIA_DATA_DIR}"
echo "[sofiia-daemon] ollama: ${OLLAMA_URL}"
echo "[sofiia-daemon] model: ${SOFIIA_PREFERRED_CHAT_MODEL}"
echo "[sofiia-daemon] tune: ctx=${SOFIIA_OLLAMA_NUM_CTX} threads=${SOFIIA_OLLAMA_NUM_THREAD} gpu=${SOFIIA_OLLAMA_NUM_GPU} keep_alive=${SOFIIA_OLLAMA_KEEP_ALIVE}"
echo "[sofiia-daemon] aistalk: enabled=${AISTALK_ENABLED} url=${AISTALK_URL}"
exec python3 -m uvicorn app.main:app --host 127.0.0.1 --port "${PORT}"