Files
JARVIS/backend/app/models/__init__.py
WIN-JHFT4D3SIVT\caoxiaozhu 8c7cf0732b Align knowledge storage with real folders and add WebDAV import surface
Knowledge files were only partitioned in the database, which made nested uploads, local folder visibility, and delete behavior diverge from the UI. This change makes folder selection drive physical storage paths, keeps original filenames, adds a minimal WebDAV mount/sync path, and reshapes the knowledge panel so local and remote sources can share the same surface.

Constraint: Existing knowledge flow already depends on local-folder-backed uploads and document indexing
Rejected: Real-time bidirectional WebDAV sync | too much conflict and lifecycle complexity for the first pass
Confidence: medium
Scope-risk: moderate
Reversibility: messy
Directive: Keep remote mounts single-direction into local knowledge folders until etag-based incremental sync and conflict rules are verified
Tested: Python py_compile on new/modified backend files; LSP diagnostics on new frontend/backend files; manual targeted code-path inspection
Not-tested: Full pytest/vitest end-to-end runs blocked by environment temp/cache permission errors; live WebDAV server interoperability
2026-04-09 17:26:37 +08:00

85 lines
2.0 KiB
Python

from app.models.base import Base
from app.models.user import User
from app.models.folder import Folder
from app.models.document import Document, DocumentChunk
from app.models.task import (
Task,
TaskAssigneeType,
TaskDispatchStatus,
TaskHistory,
TaskPriority,
TaskQuadrant,
TaskSource,
TaskStatus,
TaskSubTask,
)
from app.models.forum import ForumPost, ForumReply
from app.models.agent import Agent, AgentMessage
from app.models.conversation import Conversation, Message
from app.models.knowledge_graph import KGNode, KGEdge
from app.models.learning import LearningArtifactRecord, SessionRetrospectiveRecord
from app.models.memory import MemorySummary, UserMemory
from app.models.brain import (
BrainEvent,
BrainCandidate,
BrainMemory,
BrainTag,
brain_event_tags,
brain_memory_tags,
brain_memory_sources,
)
from app.models.todo import DailyTodo, TodoSource
from app.models.reminder import Reminder, ReminderStatus
from app.models.goal import Goal, GoalStatus
from app.models.skill import Skill
from app.models.log import Log, LogType, LogLevel
from app.models.remote_mount import RemoteMount, RemoteSyncItem
__all__ = [
"Base",
"User",
"Folder",
"Document",
"DocumentChunk",
"Task",
"TaskSubTask",
"TaskHistory",
"TaskStatus",
"TaskPriority",
"TaskSource",
"TaskQuadrant",
"TaskAssigneeType",
"TaskDispatchStatus",
"ForumPost",
"ForumReply",
"Agent",
"AgentMessage",
"Conversation",
"Message",
"KGNode",
"KGEdge",
"LearningArtifactRecord",
"SessionRetrospectiveRecord",
"MemorySummary",
"UserMemory",
"BrainEvent",
"BrainCandidate",
"BrainMemory",
"BrainTag",
"brain_event_tags",
"brain_memory_tags",
"brain_memory_sources",
"DailyTodo",
"TodoSource",
"Reminder",
"ReminderStatus",
"Goal",
"GoalStatus",
"Skill",
"Log",
"LogType",
"LogLevel",
"RemoteMount",
"RemoteSyncItem",
]