style: 移动

This commit is contained in:
2026-05-08 18:34:02 +08:00
parent 209ba45477
commit 2d8571dee3
29 changed files with 82 additions and 126 deletions
+2 -2
View File
@@ -18,11 +18,11 @@ from pretor.utils.ray_hook import ray_actor_hook
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from pretor.utils.access import Accessor, TokenData
from pretor.core.database.table.individual import AgentType
from pretor.core.postgres_database.table import AgentType
from fastapi import HTTPException
from typing import Optional, List, Dict
from pretor.utils.check_user.role_check import RoleChecker
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.table import UserAuthority
agent_router = APIRouter(prefix="/api/v1/agent", tags=["agent"])
+1 -1
View File
@@ -19,7 +19,7 @@ from pretor.utils.access import Accessor, TokenData
from fastapi.concurrency import run_in_threadpool
from pretor.utils.ray_hook import ray_actor_hook
from pretor.utils.check_user.role_check import RoleChecker
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.table import UserAuthority
from pretor.utils.error import UserNotExistError
auth_router = APIRouter(prefix="/api/v1/auth", tags=["auth"])
+1 -1
View File
@@ -17,7 +17,7 @@ from pydantic import BaseModel
from typing import Literal
from pretor.utils.access import TokenData, Accessor
from pretor.utils.check_user.role_check import RoleChecker
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.table import UserAuthority
from typing import Dict
from pretor.core.global_state_machine.model_provider.base_provider import Provider
from pretor.utils.ray_hook import ray_actor_hook
+1 -1
View File
@@ -18,7 +18,7 @@ from pretor.utils.ray_hook import ray_actor_hook
from fastapi import APIRouter, Depends
from pretor.utils.access import TokenData
from pretor.utils.check_user.role_check import RoleChecker
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.table import UserAuthority
resource_router = APIRouter(prefix="/api/v1/resource")
-8
View File
@@ -1,8 +0,0 @@
from sqlmodel import SQLModel, Field
class EventRecord(SQLModel, table=True):
trace_id: str = Field(
primary_key=True, description="The unique trace ID of the PretorEvent"
)
event_data_json: str = Field(description="The JSON serialized PretorEvent data")
@@ -1,6 +1,6 @@
from sqlmodel import select
from typing import List, Optional
from pretor.core.database.table.event import EventRecord
from pretor.core.postgres_database.table.event import EventRecord
from sqlalchemy.ext.asyncio import async_sessionmaker, AsyncSession
@@ -12,10 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from pretor.core.database.table.individual import WorkerIndividual
from pretor.core.postgres_database.table.individual import WorkerIndividual
from sqlmodel import select
from typing import List, Optional
from pretor.core.database.database_exception import database_exception
from pretor.core.postgres_database.database_exception import database_exception
from ulid import ULID
@@ -14,9 +14,9 @@
from typing import List
from pretor.core.database.table.provider import Provider
from pretor.core.postgres_database.table.provider import Provider
from sqlmodel import select
from pretor.core.database.database_exception import database_exception
from pretor.core.postgres_database.database_exception import database_exception
class ProviderDatabase:
@@ -12,10 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from pretor.core.database.table.system_node import SystemNodeConfig
from pretor.core.postgres_database.table.system_node import SystemNodeConfig
from sqlmodel import select
from typing import List, Optional
from pretor.core.database.database_exception import database_exception
from pretor.core.postgres_database.database_exception import database_exception
class SystemNodeDatabase:
@@ -12,11 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from pretor.core.database.table.user import User
from pretor.core.postgres_database.table.user import User
from sqlmodel import select
from pretor.utils.error import UserNotExistError, UserPasswordError
from pretor.core.database.database_exception import database_exception
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.database_exception import database_exception
from pretor.core.postgres_database.table.user import UserAuthority
from pretor.utils.access import Accessor
+5 -5
View File
@@ -20,11 +20,11 @@ from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker
from sqlmodel import SQLModel
from pretor.core.database.module.individual import IndividualDatabase
from pretor.core.database.module.event import EventDatabase
from pretor.core.database.module.user import AuthDatabase
from pretor.core.database.module.provider import ProviderDatabase
from pretor.core.database.module.system_node import SystemNodeDatabase
from .module.individual import IndividualDatabase
from .module.event import EventDatabase
from .module.user import AuthDatabase
from .module.provider import ProviderDatabase
from .module.system_node import SystemNodeDatabase
@ray.remote
@@ -12,8 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from pretor.core.database.table.user import User
from pretor.core.database.table.provider import Provider
from pretor.core.database.table.individual import WorkerIndividual
from pretor.core.postgres_database.table.user import User
from pretor.core.postgres_database.table.provider import Provider
from pretor.core.postgres_database.table.individual import WorkerIndividual
__all__ = ["User", "Provider", "WorkerIndividual"]
@@ -0,0 +1,19 @@
# Copyright 2026 zhaoxi826
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from sqlalchemy.ext.asyncio import AsyncAttrs
from sqlalchemy.orm import DeclarativeBase
class BaseDataModel(DeclarativeBase, AsyncAttrs):
pass
@@ -12,3 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from sqlmodel import SQLModel, Field
class ChatHistory(SQLModel):
__tablename__ = "chat_history"
@@ -0,0 +1,23 @@
# Copyright 2026 zhaoxi826
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from sqlmodel import SQLModel, Field
class EventRecord(SQLModel, table=True):
trace_id: str = Field(
primary_key=True, description="The unique trace ID of the PretorEvent"
)
event_data_json: str = Field(description="The JSON serialized PretorEvent data")
+1 -1
View File
@@ -18,7 +18,7 @@ from datetime import datetime, timedelta, timezone
from typing import Optional
from fastapi import HTTPException, status, Request
from pydantic import BaseModel, ValidationError
from pretor.core.database.table.user import User
from pretor.core.postgres_database.table import User
from pwdlib import PasswordHash
+1 -1
View File
@@ -14,7 +14,7 @@
from typing import Annotated
from fastapi import Depends, HTTPException
from pretor.utils.access import Accessor, TokenData
from pretor.core.database.table.user import UserAuthority
from pretor.core.postgres_database.table import UserAuthority
from pretor.utils.ray_hook import ray_actor_hook
@@ -1,82 +0,0 @@
{
"name": "programme",
"desc": "一个示范型的编程工作流",
"work_link": [
{
"step": 1,
"node": "consciousness_node",
"action": "architect",
"desc": "【人类规范】分析用户需求,构建程序整体架构,定义需要拉起的子个体名称与数量。"
},
{
"step": 2,
"node": "control_node",
"action": "spawn_actors",
"desc": "【人类规范】根据架构要求,拉起对应的开发与测试工作组,并挂载 /workspace 目录。"
},
{
"step": 3,
"node": "composite_individual",
"action": "decompose",
"desc": "【人类规范】将整体架构拆解为可独立执行的原子任务包 (Task Packets)。",
"output": "task_packets"
},
{
"step": 4,
"node": "primary_individual",
"action": "execute_code",
"desc": "【人类规范】执行编码任务,必须确保所有代码写入指定的挂载目录。",
"input": "task_packets",
"output": "source_code"
},
{
"step": 5,
"node": "composite_individual",
"action": "audit",
"desc": "【人类规范】对产出的源码进行静态逻辑检查与 PEP8 代码规范审计。",
"input": "source_code",
"output": "audit_report"
},
{
"step": 6,
"node": "control_node",
"action": "resource_recycle",
"desc": "【安全规范】暂存当前编码子个体的状态,释放非必要显存,为测试环境腾出算力。",
"input": "audit_report"
},
{
"step": 7,
"node": "consciousness_node",
"action": "design_test",
"desc": "【人类规范】基于源码设计测试用例架构,覆盖边缘场景。",
"input": "source_code",
"output": "test_spec"
},
{
"step": 8,
"node": "primary_individual",
"action": "run_test",
"desc": "【人类规范】在独立的 Docker 沙箱中运行 test,并生成结构化的实验报告。",
"input": "test_spec",
"output": "test_report"
},
{
"step": 9,
"node": "consciousness_node",
"action": "analyze_report",
"desc": "【逻辑网关】研究测试报告。如果存在 Error 或 Fail,必须触发逻辑跳转,重写代码。",
"input": "test_report",
"logic_gate": {
"if_fail": "jump_to_step_4",
"if_pass": "continue"
}
},
{
"step": 10,
"node": "supervisory_node",
"action": "terminate_workflow",
"desc": "【系统规范】核对所有产出物,关闭工作流管道,向宿主机发送 .done 信号。",
"input": ["source_code", "test_report"]
}
]
}
@@ -3,7 +3,7 @@ from unittest.mock import patch
from sqlalchemy.exc import IntegrityError, OperationalError
from pydantic import ValidationError
from pretor.utils.error import UserNotExistError
from pretor.core.database.database_exception import database_exception
from pretor.core.postgres_database import database_exception
@database_exception
+8 -8
View File
@@ -25,7 +25,7 @@ def mock_session_maker():
@pytest.mark.asyncio
async def test_add_user(mock_session_maker, mock_dependencies):
mock_user_cls, _ = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -51,7 +51,7 @@ async def test_add_user(mock_session_maker, mock_dependencies):
@pytest.mark.asyncio
async def test_change_password_success(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -80,7 +80,7 @@ async def test_change_password_success(mock_session_maker, mock_dependencies):
@pytest.mark.asyncio
async def test_change_password_user_not_exist(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -96,7 +96,7 @@ async def test_change_password_user_not_exist(mock_session_maker, mock_dependenc
@pytest.mark.asyncio
async def test_change_password_wrong_password(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -118,7 +118,7 @@ async def test_change_password_wrong_password(mock_session_maker, mock_dependenc
@pytest.mark.asyncio
async def test_delete_user_success(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -140,7 +140,7 @@ async def test_delete_user_success(mock_session_maker, mock_dependencies):
@pytest.mark.asyncio
async def test_delete_user_not_exist(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -156,7 +156,7 @@ async def test_delete_user_not_exist(mock_session_maker, mock_dependencies):
@pytest.mark.asyncio
async def test_login_user_success(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -177,7 +177,7 @@ async def test_login_user_success(mock_session_maker, mock_dependencies):
@pytest.mark.asyncio
async def test_login_user_not_exist(mock_session_maker, mock_dependencies):
mock_user_cls, mock_select = mock_dependencies
from pretor.core.database.module.user import AuthDatabase
from pretor.core.postgres_database.module import AuthDatabase
maker, session = mock_session_maker
db = AuthDatabase(maker)
@@ -1,4 +1,4 @@
from pretor.core.database.table.provider import Provider
from pretor.core.postgres_database.table import Provider
def test_provider_table():
+1 -1
View File
@@ -1,4 +1,4 @@
from pretor.core.database.table.user import User
from pretor.core.postgres_database.table import User
def test_user_table():