ae37476ddf
test(05-02): add failing regressions for clear routing
...
- cover room-local clear rotation and upstream disconnect behavior
- assert strict routed-platform failures on incomplete room bindings
2026-04-28 01:13:54 +03:00
a75b26a1cb
test(05-01): add restart reconciliation regression coverage
...
- add startup reconciliation tests for recovery, idempotence, and startup ordering
- extend restart persistence coverage for legacy platform_chat_id backfill
2026-04-28 01:05:59 +03:00
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
e733119d1e
feat: enforce agent routing and persist restart state
...
Task 4: stale room blocking + agent_id binding
- MatrixBot._check_agent_routing: blocks normal messages when user has no
selected agent or room is bound to a different agent
- agent_routing_enabled flag on MatrixRuntime activates the check only
in real multi-agent mode (RoutedPlatformClient)
- make_handle_new_chat now writes agent_id into new room metadata when
user already has a selected agent
Task 5: durable restart state tests
- test_restart_persistence.py proves selected_agent_id, room agent_id,
platform_chat_id, and the sequence counter all survive SQLiteStore
close/reopen; also covers clean startup with no prior state
2026-04-24 14:01:49 +03:00
74cf028e8f
feat: add !agent command and durable user agent selection
...
Users can now list available agents with !agent and select one by
number. Selection persists in user metadata (selected_agent_id). If the
current room has no agent binding yet, selecting an agent binds it
immediately so the user can start messaging without !new.
Also updates the dispatcher test to reflect that real-mode platform is
now RoutedPlatformClient, not a bare RealPlatformClient.
2026-04-24 13:54:25 +03:00
a65227e490
test: align matrix dispatch chat id contract
2026-04-24 13:29:49 +03:00
9ccba161a2
fix: require matrix agent registry in real mode
2026-04-24 13:24:56 +03:00
242f4aadd3
feat: add matrix routed platform facade
2026-04-24 13:22:05 +03:00
3b0401fb7c
Require string agent registry fields
2026-04-24 13:11:02 +03:00
25aa5d9313
Make Matrix agent registry immutable
2026-04-24 13:08:25 +03:00
2fb6c10a5a
Reject null agent registry fields
2026-04-24 13:05:26 +03:00
e801225220
Tighten Matrix agent registry validation
2026-04-24 13:02:19 +03:00
b53523ad6c
Reject non-mapping agent registry entries
2026-04-24 12:57:00 +03:00
37f7ce27a2
Add Matrix agent registry loader
2026-04-24 12:54:30 +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
323a6d3144
feat: commit staged matrix attachments on next message
2026-04-20 21:39:37 +03:00
f111ed3348
feat: add matrix staging list and remove flow
2026-04-20 21:37:12 +03:00
83c9a1513b
feat: parse matrix staged attachment commands
2026-04-20 16:26:37 +03:00
0eaf124e21
feat: add matrix staged attachment state
2026-04-20 16:21:00 +03:00
73c472ecc4
feat(matrix): implement !reset via new platform_chat_id
...
Instead of calling a /reset endpoint on platform-agent, !reset now
generates a new thread_id (platform_chat_id) for the room. The old
WebSocket connection is closed and the next message creates a fresh
context automatically. No platform changes required.
2026-04-19 21:20:31 +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
07c5078934
feat(task-7): verify matrix per-room context routing
2026-04-19 17:43:18 +03:00
c11c8ecfbf
feat(task-5): scope matrix context state per room
2026-04-19 17:41:04 +03:00
8270e5821e
Assign matrix platform chat ids on creation
2026-04-19 17:31:21 +03:00
0cdee532c4
fix: ensure lazy platform chat ids before load selection
2026-04-19 17:29:36 +03:00
9cb1657d21
Add lazy platform chat IDs for Matrix rooms
2026-04-19 17:25:25 +03:00
c666d908da
fix: make matrix entry-room bootstrap idempotent
2026-04-19 17:23:07 +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
5782001d3d
fix: preserve matrix room metadata when setting platform chat id
2026-04-19 16:52:43 +03:00
f3f9b10d6b
feat: add platform chat id room metadata helpers
2026-04-19 16:50:12 +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
8efc91b02b
fix(matrix): accept repeat invites before provisioning
2026-04-08 02:18:11 +03:00
37643a9695
fix prototype backend review issues
2026-04-08 01:43:44 +03:00
94bdb44b93
feat: wire matrix runtime to real backend
2026-04-08 01:40:38 +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