Updpdate
DevPlace CI / test (push) Failing after 7m3s

This commit is contained in:
2026-07-23 00:02:43 +02:00
parent 34fa56a836
commit 64c3983c9f
37 changed files with 2105 additions and 824 deletions
+15 -1
View File
@@ -22,6 +22,16 @@ logger = logging.getLogger("devii.hub")
SettingsBuilder = Callable[[str, str, str, bool], "tuple[Settings, Pricing]"]
def _user_key_resolver(owner_id: str) -> Callable[[], str]:
def resolve() -> str:
if "users" not in db.tables:
return ""
row = db["users"].find_one(uid=owner_id, deleted_at=None)
return (row or {}).get("api_key") or ""
return resolve
class DeviiHub:
def __init__(self, settings_builder: SettingsBuilder) -> None:
self._build = settings_builder
@@ -52,7 +62,10 @@ class DeviiHub:
if session is not None:
return session
settings, pricing = self._build(api_key, base_url, owner_kind, is_admin)
llm = LLMClient(settings)
key_resolver = (
_user_key_resolver(owner_id) if owner_kind == "user" else None
)
llm = LLMClient(settings, key_resolver=key_resolver)
# Persistent, owner-isolated stores for signed-in users; ephemeral in-memory for guests.
# The `docs` channel (Docii) is a self-contained documentation assistant: it gets its own
# ephemeral stores so Devii's tasks, lessons, behavior and virtual tools never leak into it
@@ -82,6 +95,7 @@ class DeviiHub:
is_admin=is_admin,
is_primary_admin=is_primary_admin,
channel=channel,
key_resolver=key_resolver,
)
if owner_kind == "user":
saved = self._stores["conversations"].load(owner_kind, owner_id, channel)