feat: Matrix connector core — rooms, messaging, sync
- rooms: create, join, leave, forget, list, resolve alias, get info/members, invite/kick/ban/unban, set name/topic. RoomInfo/MemberInfo/PowerLevels dataclasses. - messaging: send text (with HTML, reply, thread), notice, emote, image, file, sticker, edit, redact, react, typing, read receipts, fully-read markers. - sync: SyncEngine with event-type/room/global handler dispatch, incremental sync with backoff retry, SyncFilter, paginated message history. - CLI: rooms (list/create/join/leave/info/members/invite), send (text/image/file), sync (listen with filters). - 182 tests pass (60 existing + 122 new).
This commit is contained in:
@@ -1,11 +1,155 @@
|
||||
"""
|
||||
Matrix-Hermes: Matrix authentication and client integration for Hermes Agent.
|
||||
Matrix-Hermes: Matrix authentication, client, rooms, messaging, and sync integration
|
||||
for Hermes Agent.
|
||||
|
||||
Provides:
|
||||
- Authentication (login, token management, device registration)
|
||||
- Async client wrapper around mautrix
|
||||
- CLI tools for setup and token management
|
||||
- Room management (create, join, list, leave, invite, kick, ban)
|
||||
- Messaging (send text, images, files, edits, reactions)
|
||||
- Sync engine (incremental sync, event dispatch, filtering)
|
||||
- CLI tools for all operations
|
||||
"""
|
||||
|
||||
__version__ = "0.1.0"
|
||||
__all__ = ["MatrixAuth", "MatrixClient", "MatrixConfig", "__version__"]
|
||||
__version__ = "0.3.0"
|
||||
|
||||
# Auth
|
||||
from matrix_hermes.auth import (
|
||||
AuthResult,
|
||||
WhoAmIResult,
|
||||
login,
|
||||
login_from_config,
|
||||
logout,
|
||||
save_session,
|
||||
load_session,
|
||||
remove_session,
|
||||
validate_token,
|
||||
)
|
||||
|
||||
# Config
|
||||
from matrix_hermes.config import MatrixConfig
|
||||
|
||||
# Client
|
||||
from matrix_hermes.client import (
|
||||
MatrixClient,
|
||||
MatrixMessage,
|
||||
SendResult,
|
||||
quick_connect,
|
||||
)
|
||||
|
||||
# Rooms
|
||||
from matrix_hermes.rooms import (
|
||||
RoomInfo,
|
||||
CreateRoomResult,
|
||||
MemberInfo,
|
||||
PowerLevels,
|
||||
create_room,
|
||||
join_room,
|
||||
leave_room,
|
||||
forget_room,
|
||||
get_joined_rooms,
|
||||
resolve_room_alias,
|
||||
get_room_info,
|
||||
get_room_members,
|
||||
invite_user,
|
||||
kick_user,
|
||||
ban_user,
|
||||
unban_user,
|
||||
set_room_name,
|
||||
set_room_topic,
|
||||
)
|
||||
|
||||
# Messaging
|
||||
from matrix_hermes.messaging import (
|
||||
send_text,
|
||||
send_notice,
|
||||
send_emote,
|
||||
send_image,
|
||||
send_file,
|
||||
send_sticker,
|
||||
edit_message,
|
||||
redact_message,
|
||||
send_reaction,
|
||||
send_typing,
|
||||
send_read_receipt,
|
||||
set_fully_read,
|
||||
)
|
||||
|
||||
# Sync
|
||||
from matrix_hermes.sync import (
|
||||
SyncFilter,
|
||||
SyncResult,
|
||||
SyncEvent,
|
||||
SyncEngine,
|
||||
EventHandler,
|
||||
PaginatedMessages,
|
||||
create_filter,
|
||||
sync_once,
|
||||
extract_events,
|
||||
get_messages,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
# Auth
|
||||
"AuthResult",
|
||||
"WhoAmIResult",
|
||||
"login",
|
||||
"login_from_config",
|
||||
"logout",
|
||||
"save_session",
|
||||
"load_session",
|
||||
"remove_session",
|
||||
"validate_token",
|
||||
# Config
|
||||
"MatrixConfig",
|
||||
# Client
|
||||
"MatrixClient",
|
||||
"MatrixMessage",
|
||||
"SendResult",
|
||||
"quick_connect",
|
||||
# Rooms
|
||||
"RoomInfo",
|
||||
"CreateRoomResult",
|
||||
"MemberInfo",
|
||||
"PowerLevels",
|
||||
"create_room",
|
||||
"join_room",
|
||||
"leave_room",
|
||||
"forget_room",
|
||||
"get_joined_rooms",
|
||||
"resolve_room_alias",
|
||||
"get_room_info",
|
||||
"get_room_members",
|
||||
"invite_user",
|
||||
"kick_user",
|
||||
"ban_user",
|
||||
"unban_user",
|
||||
"set_room_name",
|
||||
"set_room_topic",
|
||||
# Messaging
|
||||
"send_text",
|
||||
"send_notice",
|
||||
"send_emote",
|
||||
"send_image",
|
||||
"send_file",
|
||||
"send_sticker",
|
||||
"edit_message",
|
||||
"redact_message",
|
||||
"send_reaction",
|
||||
"send_typing",
|
||||
"send_read_receipt",
|
||||
"set_fully_read",
|
||||
# Sync
|
||||
"SyncFilter",
|
||||
"SyncResult",
|
||||
"SyncEvent",
|
||||
"SyncEngine",
|
||||
"EventHandler",
|
||||
"PaginatedMessages",
|
||||
"create_filter",
|
||||
"sync_once",
|
||||
"extract_events",
|
||||
"get_messages",
|
||||
# Meta
|
||||
"__version__",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user