cafb0ec9e4
test(05-03): add failing shared-volume attachment contract tests
...
- cover room-safe Matrix inbox paths under /agents workspaces
- assert /workspace and /agents file paths normalize to relative workspace paths
2026-04-28 01:04:31 +03:00
842117900a
test: cover agent api base url suffix handling
2026-04-24 12:39:50 +03:00
7d58dd1caf
fix: use direct agent api per request
2026-04-22 15:31:28 +03:00
0c2884c2b1
refactor: use thin upstream transport adapter
2026-04-22 01:25:11 +03:00
569824ead1
refactor: shrink agent api wrapper to thin adapter
2026-04-22 00:22:20 +03:00
4524a6abc8
feat: finalize matrix platform audit and docs
2026-04-21 15:35:03 +03:00
6422c7db58
feat: support shared-workspace file flow for matrix
2026-04-21 00:26:21 +03:00
fbcf44980e
fix(sdk): correct WebSocket URL pattern for platform-agent
...
AgentApiWrapper._build_ws_url was building /v1/agent_ws/{chat_id}/
which does not exist in platform-agent. Fixed to /agent_ws/?thread_id={chat_id}
to match the actual endpoint and query-param isolation scheme.
Also simplify Matrix MVP settings handlers to MVP_UNAVAILABLE stubs
and add handle_unknown_command for unregistered !commands.
2026-04-19 21:05:02 +03:00
c11c8ecfbf
feat(task-5): scope matrix context state per room
2026-04-19 17:41:04 +03:00
17d580096b
Serialize Matrix chat sends
2026-04-19 17:18:32 +03:00
4533118b68
Fix agent API wrapper constructor compatibility
2026-04-19 17:11:49 +03:00
730ea70f78
Fix real client chat cache compatibility
2026-04-19 17:07:52 +03:00
414a8645bd
Add per-chat real client routing
2026-04-19 17:03:48 +03:00
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