430c82dba1
feat(04-01): finalize AgentApi migration
2026-04-17 16:31:48 +03:00
b52fdc4670
feat(04-02): add matrix context management commands
...
- add save/load/reset/context handlers and matrix interception flows
- persist current session and last token usage in prototype state
2026-04-17 16:12:03 +03:00
2720ee2d6e
feat(04-02): extend prototype and matrix pending state
...
- add saved session and last token tracking in prototype state
- add matrix load/reset pending store helpers
2026-04-17 16:07:35 +03:00
37643a9695
fix prototype backend review issues
2026-04-08 01:43:44 +03:00
9784ca6783
feat: add real platform compatibility layer
2026-04-08 01:38:28 +03:00
fabedb105b
Fix prototype state user isolation
2026-04-08 01:30:37 +03:00
19c85db89a
Persist canonical prototype user state
2026-04-08 01:29:02 +03:00
083be77404
fix(agent): collision-safe thread keys
2026-04-08 01:25:52 +03:00
2fad1aaa66
feat: add prototype local state store
2026-04-08 01:25:46 +03:00
de20ff638a
feat: add direct agent session transport
2026-04-08 01:00:02 +03:00
6ced154124
feat(matrix): land QA follow-ups and refresh docs
...
- harden Matrix onboarding/chat lifecycle after manual QA
- refresh README and Matrix docs to match current behavior
- add local ignores for runtime artifacts and include current planning/report docs
Closes #7
Closes #9
Closes #14
2026-04-05 19:08:58 +03:00
41660fe84a
refactor: rename platform/ → sdk/ to avoid stdlib conflict
...
platform/ shadowed Python's stdlib platform module, breaking
aiogram/aiohttp/multidict at import time. Renamed to sdk/ and
updated all imports across core/, tests/, and adapter/telegram/.
2026-03-31 21:57:23 +03:00
36730ae716
feat: implement core/ and platform/ with full test coverage
...
- platform/interface.py: PlatformClient Protocol + Pydantic models (User,
MessageResponse, UserSettings) — no explicit session management, Master
handles container lifecycle
- platform/mock.py: MockPlatformClient with simulated latency, [MOCK]
responses, is_new correctly True only on first creation
- core/protocol.py: unified dataclasses for all events and responses
(IncomingMessage/Command/Callback, OutgoingMessage/UI/Notification,
AuthFlow, ChatContext, SettingsAction, etc.)
- core/store.py: StateStore Protocol + InMemoryStore (tests) + SQLiteStore
(prod) with JSON serialization
- core/chat.py: ChatManager — chat metadata (C1/C2/C3), not container
lifecycle (that's the platform's job)
- core/auth.py: AuthManager — start_flow / confirm / is_authenticated
- core/settings.py: SettingsManager — get/apply with store cache
- core/handler.py: EventDispatcher — registry-based routing with keys
(command name, action name, attachment type, "*" catch-all)
- core/handlers/: register_all() + start/new/message/callback/settings
handlers; voice slot falls back to stub text until voice_handler added
- conftest.py: sys.path fix so local platform/ shadows stdlib platform
- docs/api-contract.md: rewritten for Lambda Lab 3.0 container model
46 tests passing, 0 warnings.
2026-03-29 21:42:02 +03:00