Files
matrix-hermes/src/matrix_hermes/__init__.py
T
shawn 3ddf8170f8 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).
2026-05-23 12:07:10 -04:00

156 lines
2.8 KiB
Python

"""
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
- 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.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__",
]