mirror of
https://github.com/turnstonelabs/turnstone.git
synced 2026-08-12 23:12:23 -06:00
2b58c127b1
* Add pluggable storage backend (SQLite + PostgreSQL) and deployment packaging Database abstraction: StorageBackend protocol with 21 methods, SQLAlchemy Core schema, SQLite backend (FTS5), PostgreSQL backend (tsvector/ILIKE), Alembic migrations, singleton registry. memory.py reduced to thin facade. Session.py open_db() calls replaced with generic KV methods. [database] config section with env var support. Deployment: Docker Compose production profile with PostgreSQL, Dockerfile with postgres extras and migration entrypoint, Helm chart with bitnami subcharts, Terraform AWS ECS/Fargate module with RDS + ElastiCache + ALB. 39 new storage tests (934 total). mypy strict clean. Docs and diagrams updated. * Address PR #20 review feedback (16 items) - Backends only call create_all() when Alembic migrations are disabled - Helm configmap uses correct TURNSTONE_DB_BACKEND env var; DB URL constructed via env expansion with secret reference instead of ConfigMap - Migration errors fail fast for PostgreSQL (only non-fatal for SQLite) - save_memory/delete_memory wrapped in exception handling like other facade fns - pool_size passed through from config/env to init_storage() in cli + server - Terraform: DB URL moved to Secrets Manager, auth enabled flag set, optional TLS listeners with certificate_arn, Redis transit encryption on - Docker entrypoint no longer suppresses migration output - Diagram fixes: removed StaticPool claim, removed non-existent migration ref - compose.yaml/README: clarified production profile requires DB env vars
43 lines
1.4 KiB
Python
Executable File
43 lines
1.4 KiB
Python
Executable File
"""chat.py — Backward-compatibility shim.
|
|
|
|
All functionality has been moved to submodules:
|
|
- turnstone.core.session: ChatSession, SessionUI
|
|
- turnstone.core.tools: TOOLS, AGENT_TOOLS, TASK_AGENT_TOOLS
|
|
- turnstone.core.edit: find_occurrences, pick_nearest
|
|
- turnstone.core.sandbox: validate_math_code, execute_math_sandboxed
|
|
- turnstone.core.safety: is_command_blocked, sanitize_command
|
|
- turnstone.core.web: strip_html, check_ssrf
|
|
- turnstone.core.memory: open_db, load_memories, save_message, etc.
|
|
- turnstone.ui.colors: ANSI constants and helpers
|
|
- turnstone.ui.markdown: MarkdownRenderer
|
|
- turnstone.ui.spinner: Spinner
|
|
- turnstone.cli: TerminalUI, main, detect_model
|
|
"""
|
|
|
|
# Re-export public API for backward compatibility
|
|
from turnstone.cli import detect_model, main # noqa: F401
|
|
from turnstone.core.session import ChatSession, SessionUI # noqa: F401
|
|
from turnstone.core.tools import AGENT_TOOLS, TASK_AGENT_TOOLS, TOOLS # noqa: F401
|
|
from turnstone.core.web import strip_html as _strip_html # noqa: F401
|
|
from turnstone.ui.colors import ( # noqa: F401
|
|
BLUE,
|
|
BOLD,
|
|
CYAN,
|
|
DIM,
|
|
GRAY,
|
|
GREEN,
|
|
ITALIC,
|
|
MAGENTA,
|
|
RED,
|
|
RESET,
|
|
YELLOW,
|
|
bold,
|
|
cyan,
|
|
dim,
|
|
green,
|
|
red,
|
|
yellow,
|
|
)
|
|
from turnstone.ui.markdown import MarkdownRenderer # noqa: F401
|
|
from turnstone.ui.spinner import Spinner # noqa: F401
|