feat: integrate invite API and improve notification handling

- Add invite code display and binding functionality via API
- Fix notification unread count sync on auth state change
- Improve notification mark read with server state validation
- Add auth state listener to trigger notification refresh
- Add YaoCoinConverter for coin-to-yao type conversion
- Remove YaoLegend from divination screens (UI cleanup)
- Abbreviate relation labels in yao detail view
- Add re-register notice to account delete screen
- Update 'coins' terminology to 'points' in localization
- Fix backend points consumption to only run in CHAT mode
- Add HttpxAuthNoiseFilter to suppress auth endpoint logging
- Fix notification static_schema import path
- Add test coverage for notification bloc error handling
- Update AGENTS.md page header rules and image handling
- Delete deprecated run-dev.sh script
This commit is contained in:
qzl
2026-04-13 14:52:22 +08:00
parent da947f9f08
commit 1e22f27de2
52 changed files with 1419 additions and 307 deletions
+4 -3
View File
@@ -8,6 +8,7 @@ from uuid import UUID
from pydantic import BaseModel, ConfigDict, Field
from schemas.agent.runtime_models import ErrorInfo
from schemas.domain.chat_message import AgentChatMessage
from schemas.domain.divination import DerivedDivinationData
@@ -37,7 +38,7 @@ class AgentRepositoryLike(Protocol):
*,
session_id: str,
visibility_mask: int | None = None,
) -> list[dict[str, object]]: ...
) -> list[AgentChatMessage]: ...
async def get_latest_session_id_for_user(self, *, user_id: str) -> str | None: ...
@@ -47,7 +48,7 @@ class AgentRepositoryLike(Protocol):
user_id: str,
visibility_mask: int | None = None,
session_limit: int = 50,
) -> list[dict[str, object]]: ...
) -> list[AgentChatMessage]: ...
async def persist_user_message(
self,
@@ -58,7 +59,7 @@ class AgentRepositoryLike(Protocol):
visibility_mask: int,
) -> None: ...
async def get_user_message_count(self, *, session_id: str) -> int: ...
async def get_assistant_message_count(self, *, session_id: str) -> int: ...
async def get_system_agent_config(
self, *, agent_type: str