mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-15 20:15:30 +00:00
refactor: rename the application package to docsgpt
The backend import package is now docsgpt, the name it will carry on PyPI; application was far too generic to install into anyone's site-packages. git mv plus a mechanical rewrite of every import, dotted string and path reference: 734 Python files, the compose files, Dockerfile, workflows, docs, setup scripts, devcontainer, k8s manifests, vscode config, pytest and coverage config, .gitignore. Behaviour is unchanged. Kept for one release: - A top-level application package whose meta-path finder resolves application.x.y to the already-imported docsgpt.x.y object, so old imports and entry points (celery -A application.app.celery, uvicorn application.asgi:asgi_app) keep working with a FutureWarning. - Celery registers every application.* task name as an alias of its docsgpt.* task on start-up, so messages queued by the previous release still run. The redbeat key prefix moves to redbeat:docsgpt:v2: so schedule entries the previous release wrote are left unread instead of firing twice. The backend image builds from the repository root (docker build -f docsgpt/Dockerfile .) so it can ship the alias package; a root .dockerignore allow-lists docsgpt/ and application/ and keeps caches, local data, .env files, the sample index files and the Dockerfile out. Compose and the image workflows point at the new context.
This commit is contained in:
1 parent
3e7f1f91b4
commit
574f96341e
984 files changed
+9847
-9682
No files matched your search
@@ -1,4 +1,4 @@
|
||||
"""Comprehensive tests for application/agents/tools/memory.py
|
||||
"""Comprehensive tests for docsgpt/agents/tools/memory.py
|
||||
|
||||
Covers: MemoryTool initialization, path validation, all actions
|
||||
(view, create, str_replace, insert, delete, rename), directory operations,
|
||||
@@ -87,19 +87,19 @@ def patched_memory(monkeypatch):
|
||||
"""Patch the memory tool to use the in-memory fake repo."""
|
||||
_FakeMemoriesRepo.reset()
|
||||
monkeypatch.setattr(
|
||||
"application.agents.tools.memory.MemoriesRepository", _FakeMemoriesRepo
|
||||
"docsgpt.agents.tools.memory.MemoriesRepository", _FakeMemoriesRepo
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"application.agents.tools.memory.db_session", _noop_conn
|
||||
"docsgpt.agents.tools.memory.db_session", _noop_conn
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"application.agents.tools.memory.db_readonly", _noop_conn
|
||||
"docsgpt.agents.tools.memory.db_readonly", _noop_conn
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def memory_tool(patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
# Real UUID so ``_pg_enabled()`` returns True.
|
||||
return MemoryTool(
|
||||
tool_config={"tool_id": str(uuid.uuid4())},
|
||||
@@ -116,7 +116,7 @@ def memory_tool(patched_memory):
|
||||
class TestMemoryToolInit:
|
||||
|
||||
def test_init_with_config(self, patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tid = str(uuid.uuid4())
|
||||
tool = MemoryTool(tool_config={"tool_id": tid}, user_id="user1")
|
||||
@@ -124,13 +124,13 @@ class TestMemoryToolInit:
|
||||
assert tool.user_id == "user1"
|
||||
|
||||
def test_init_fallback_to_user_id(self, patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tool = MemoryTool(tool_config={}, user_id="user1")
|
||||
assert tool.tool_id == "default_user1"
|
||||
|
||||
def test_init_no_user_no_config(self, patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tool = MemoryTool()
|
||||
assert tool.tool_id is not None # UUID fallback
|
||||
@@ -181,7 +181,7 @@ class TestPathValidation:
|
||||
class TestNoUser:
|
||||
|
||||
def test_requires_user_id(self, patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tool = MemoryTool(tool_config={"tool_id": str(uuid.uuid4())}, user_id=None)
|
||||
result = tool.execute_action("view", path="/")
|
||||
@@ -585,7 +585,7 @@ class TestSentinelShortCircuit:
|
||||
|
||||
def test_default_tool_id_short_circuits(self, patched_memory):
|
||||
"""A ``default_{user_id}`` sentinel tool_id must no-op."""
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tool = MemoryTool(tool_config={}, user_id="user1")
|
||||
assert tool.tool_id == "default_user1"
|
||||
@@ -595,7 +595,7 @@ class TestSentinelShortCircuit:
|
||||
assert _FakeMemoriesRepo._store == {}
|
||||
|
||||
def test_non_uuid_tool_id_short_circuits(self, patched_memory):
|
||||
from application.agents.tools.memory import MemoryTool
|
||||
from docsgpt.agents.tools.memory import MemoryTool
|
||||
|
||||
tool = MemoryTool(tool_config={"tool_id": "not-a-uuid"}, user_id="user1")
|
||||
result = tool.execute_action("create", path="/x.txt", file_text="y")
|
||||
|
||||
Reference in new issue
Block a user