Rules read from the main model decide who it is offered as a crowd member, a friend and on its roster; any-to-any with denies by default, or none-to-none with allows. The crowd picker names what it holds back and why, and a model held back only by a person's own rule -- or by anything, with the new rules.override -- can still be added by hand. Another data group is now a deny that an explicit rule opens. Admin -> Model rules and a card in Settings, each with a matrix drawn by the enforcing function. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
215 lines
4.2 KiB
Python
215 lines
4.2 KiB
Python
"""All ORM models.
|
|
|
|
Importing this package registers every table on ``Base.metadata``, which is
|
|
what ``init_db()`` relies on to create the schema at startup. Any new model
|
|
module must be imported here or its table will silently never be created.
|
|
"""
|
|
|
|
from lembas.db.models.agent import (
|
|
AUTH_KEY,
|
|
AUTH_METHODS,
|
|
AUTH_PASSWORD,
|
|
Job,
|
|
SshProfile,
|
|
)
|
|
from lembas.db.models.attachment import (
|
|
KIND_DOCUMENT,
|
|
KIND_IMAGE,
|
|
KIND_TEXT,
|
|
Attachment,
|
|
)
|
|
from lembas.db.models.canvas import ScratchDoc
|
|
from lembas.db.models.chat import (
|
|
ALL_KINDS,
|
|
KIND_AGENT,
|
|
KIND_CHAT,
|
|
KIND_MESSAGES,
|
|
KIND_TASK,
|
|
KINDS,
|
|
ROLE_ASSISTANT,
|
|
ROLE_SYSTEM,
|
|
ROLE_TOOL,
|
|
ROLE_USER,
|
|
Chat,
|
|
CrowdMember,
|
|
Folder,
|
|
Message,
|
|
)
|
|
from lembas.db.models.connection import Connection, Model, model_groups
|
|
from lembas.db.models.data_group import DEFAULT_GROUP, DataGroup, InDataGroup
|
|
from lembas.db.models.image import ImageWorkflow
|
|
from lembas.db.models.library import (
|
|
AUTHOR_MODEL,
|
|
AUTHOR_USER,
|
|
CHUNK_DOCUMENT,
|
|
CHUNK_KINDS,
|
|
CHUNK_NOTE,
|
|
CHUNK_REPORT,
|
|
CHUNK_SKILL,
|
|
PRINCIPAL_GROUP,
|
|
PRINCIPAL_USER,
|
|
RESOURCE_BASE,
|
|
RESOURCE_NOTE,
|
|
RESOURCE_REPORT,
|
|
RESOURCE_SKILL,
|
|
SOURCE_LINK,
|
|
SOURCE_UPLOAD,
|
|
Chunk,
|
|
Document,
|
|
KnowledgeBase,
|
|
Memory,
|
|
Note,
|
|
Share,
|
|
Skill,
|
|
SkillRevision,
|
|
chat_knowledge_bases,
|
|
)
|
|
from lembas.db.models.persona import Impression, Persona, PersonaRevision
|
|
from lembas.db.models.report import (
|
|
SOURCE_CHAT,
|
|
SOURCE_MANUAL,
|
|
SOURCE_SCHEDULE,
|
|
SOURCES,
|
|
Report,
|
|
)
|
|
from lembas.db.models.schedule import (
|
|
ORIGIN_MODEL,
|
|
ORIGIN_USER,
|
|
ORIGINS,
|
|
TARGET_CHAT,
|
|
TARGET_MESSAGES,
|
|
TARGET_REPORT,
|
|
TARGETS,
|
|
Schedule,
|
|
)
|
|
from lembas.db.models.setting import Setting
|
|
from lembas.db.models.suggestion import Suggestion
|
|
from lembas.db.models.talk import ANY_MODEL, EFFECT_ALLOW, EFFECT_DENY, EFFECTS, TalkRule
|
|
from lembas.db.models.tool import (
|
|
RESPONSE_JSON,
|
|
RESPONSE_MODES,
|
|
RESPONSE_RAW,
|
|
RESPONSE_TEXT,
|
|
SECRET_BEARER,
|
|
SECRET_HEADER,
|
|
SECRET_NONE,
|
|
SECRET_PLACEMENTS,
|
|
SECRET_QUERY,
|
|
CustomTool,
|
|
McpServer,
|
|
custom_tool_groups,
|
|
mcp_server_groups,
|
|
)
|
|
from lembas.db.models.user import (
|
|
ROLE_ADMIN,
|
|
ROLE_PENDING,
|
|
Group,
|
|
PushSubscription,
|
|
Session,
|
|
Usage,
|
|
User,
|
|
user_groups,
|
|
)
|
|
|
|
__all__ = [
|
|
"AUTHOR_MODEL",
|
|
"PushSubscription",
|
|
"Usage",
|
|
"AUTH_KEY",
|
|
"AUTH_METHODS",
|
|
"AUTH_PASSWORD",
|
|
"AUTHOR_USER",
|
|
"ALL_KINDS",
|
|
"Attachment",
|
|
"KINDS",
|
|
"KIND_AGENT",
|
|
"KIND_CHAT",
|
|
"KIND_DOCUMENT",
|
|
"KIND_IMAGE",
|
|
"KIND_MESSAGES",
|
|
"KIND_TASK",
|
|
"KIND_TEXT",
|
|
"PRINCIPAL_GROUP",
|
|
"PRINCIPAL_USER",
|
|
"RESOURCE_BASE",
|
|
"RESOURCE_NOTE",
|
|
"RESOURCE_REPORT",
|
|
"RESOURCE_SKILL",
|
|
"RESPONSE_JSON",
|
|
"RESPONSE_MODES",
|
|
"RESPONSE_RAW",
|
|
"RESPONSE_TEXT",
|
|
"ROLE_ADMIN",
|
|
"ROLE_ASSISTANT",
|
|
"ROLE_PENDING",
|
|
"ROLE_SYSTEM",
|
|
"ROLE_TOOL",
|
|
"ROLE_USER",
|
|
"SECRET_BEARER",
|
|
"SECRET_HEADER",
|
|
"SECRET_NONE",
|
|
"SECRET_PLACEMENTS",
|
|
"SECRET_QUERY",
|
|
"ORIGINS",
|
|
"ORIGIN_MODEL",
|
|
"ORIGIN_USER",
|
|
"SOURCES",
|
|
"SOURCE_CHAT",
|
|
"SOURCE_LINK",
|
|
"SOURCE_MANUAL",
|
|
"SOURCE_SCHEDULE",
|
|
"SOURCE_UPLOAD",
|
|
"TARGETS",
|
|
"TARGET_CHAT",
|
|
"TARGET_MESSAGES",
|
|
"TARGET_REPORT",
|
|
"Report",
|
|
"Schedule",
|
|
"Chat",
|
|
"CrowdMember",
|
|
"Job",
|
|
"Connection",
|
|
"DEFAULT_GROUP",
|
|
"DataGroup",
|
|
"ANY_MODEL",
|
|
"EFFECT_ALLOW",
|
|
"EFFECT_DENY",
|
|
"EFFECTS",
|
|
"TalkRule",
|
|
"InDataGroup",
|
|
"CustomTool",
|
|
"CHUNK_DOCUMENT",
|
|
"CHUNK_KINDS",
|
|
"CHUNK_NOTE",
|
|
"CHUNK_REPORT",
|
|
"CHUNK_SKILL",
|
|
"Chunk",
|
|
"Document",
|
|
"Folder",
|
|
"Group",
|
|
"ImageWorkflow",
|
|
"KnowledgeBase",
|
|
"McpServer",
|
|
"Impression",
|
|
"Memory",
|
|
"Persona",
|
|
"PersonaRevision",
|
|
"Message",
|
|
"Model",
|
|
"Note",
|
|
"ScratchDoc",
|
|
"Session",
|
|
"Setting",
|
|
"Share",
|
|
"Skill",
|
|
"SshProfile",
|
|
"SkillRevision",
|
|
"Suggestion",
|
|
"User",
|
|
"chat_knowledge_bases",
|
|
"custom_tool_groups",
|
|
"mcp_server_groups",
|
|
"model_groups",
|
|
"user_groups",
|
|
]
|