mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-09-22 01:24:52 +02:00
[eric] backend: rename single-export modules to match their export (naming convention sweep)
This commit is contained in:
@@ -34,7 +34,7 @@ import tempfile
|
||||
import time
|
||||
from urllib.parse import urlparse
|
||||
|
||||
from backend.apps.agents.browser.seed_playbooks import seed_for
|
||||
from backend.apps.agents.browser.seed_for import seed_for
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ from uuid import uuid4
|
||||
from backend.apps.agents.core.models import AgentSession, Message, MessageBranch
|
||||
from backend.apps.agents.core.ws_manager import ws_manager
|
||||
from backend.apps.settings.settings import load_settings
|
||||
from backend.apps.agents.manager import browser_dispatch
|
||||
from backend.apps.agents.manager.run_browser_fast_path import run_browser_fast_path
|
||||
from backend.apps.agents.manager.session.session_store import load_session_data
|
||||
from backend.apps.agents.manager.session.apply_context_window import apply_context_window
|
||||
from backend.apps.agents.manager.prompt.tool_catalog import get_all_tool_names
|
||||
@@ -152,7 +152,7 @@ class MessagingMixin:
|
||||
logger.warning(f"[browser-fast-path] gate error, normal path: {e}")
|
||||
|
||||
if fast_verdict != "no":
|
||||
task = asyncio.create_task(browser_dispatch.run_browser_fast_path(session, session_id, prompt, selected_browser_ids, fast_brief, fast_verdict))
|
||||
task = asyncio.create_task(run_browser_fast_path(session, session_id, prompt, selected_browser_ids, fast_brief, fast_verdict))
|
||||
else:
|
||||
task = asyncio.create_task(self.run_agent_loop(session_id, prompt, images=images, context_paths=context_paths, forced_tools=forced_tools, attached_skills=attached_skills, selected_browser_ids=selected_browser_ids, selected_app_output_ids=selected_app_output_ids, selected_setting_ids=selected_setting_ids))
|
||||
self.tasks[session_id] = task
|
||||
|
||||
@@ -21,7 +21,7 @@ from backend.apps.agents.manager.prompt.prompt_context import (
|
||||
TOOLSEARCH_LOOP_THRESHOLD,
|
||||
toolsearch_loop_redirect,
|
||||
)
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -15,15 +15,15 @@ from backend.apps.settings.settings import load_settings
|
||||
from backend.apps.tools_lib.tools_lib import load_all_tools, sanitize_server_name
|
||||
from backend.apps.agents.tools.web import should_register_web_mcp
|
||||
from backend.apps.agents.manager.permissions import gate_hooks
|
||||
from backend.apps.agents.manager.streaming import tool_result_hook
|
||||
from backend.apps.agents.manager.streaming import post_tool_hook as post_tool_hook_mod
|
||||
from backend.apps.agents.manager.streaming import stop_hook as stop_hook_mod
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.permissions.effective_tools import build_effective_tool_lists
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.permissions.build_effective_tool_lists import build_effective_tool_lists
|
||||
from backend.apps.agents.manager.register_builtin_mcp_servers import register_builtin_mcp_servers
|
||||
from backend.apps.agents.manager.provider_env import configure_provider_env
|
||||
from backend.apps.agents.manager.configure_provider_env import configure_provider_env
|
||||
from backend.apps.agents.manager.session.workspace_git import ensure_cwd_git_repo
|
||||
from backend.apps.agents.manager.session.history_compaction import build_history_prefix, get_branch_messages
|
||||
from backend.apps.agents.manager.prompt.system_prompt import compose_turn_system_prompt
|
||||
from backend.apps.agents.manager.prompt.compose_turn_system_prompt import compose_turn_system_prompt
|
||||
from backend.apps.agents.manager.prompt.tool_catalog import get_all_tool_names
|
||||
from backend.apps.agents.manager.prompt.prompt_context import resolve_mode
|
||||
from backend.apps.agents.manager.run.run_options_helpers import (
|
||||
@@ -63,7 +63,7 @@ class RunOptionsMixin:
|
||||
return await gate_hooks.pre_tool_hook(hook_ctx, input_data, tool_use_id, context)
|
||||
|
||||
async def post_tool_hook(input_data, tool_use_id, context):
|
||||
return await tool_result_hook.post_tool_hook(hook_ctx, input_data, tool_use_id, context)
|
||||
return await post_tool_hook_mod.post_tool_hook(hook_ctx, input_data, tool_use_id, context)
|
||||
_, mode_sys_prompt, _ = resolve_mode(session.mode, get_all_tool_names)
|
||||
|
||||
# Reconcile active_mcps against currently-enabled tools (Phase 3).
|
||||
|
||||
@@ -13,12 +13,10 @@ from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.core.ws_manager import ws_manager
|
||||
from backend.apps.agents.core.error_classify import CAPACITY_BACKOFFS, capacity_retry_wait
|
||||
from backend.apps.agents.manager.streaming.state import ThinkingState, TurnState
|
||||
from backend.apps.agents.manager.streaming import (
|
||||
stream_event,
|
||||
assistant_message,
|
||||
result_message,
|
||||
thinking as thinking_mod,
|
||||
)
|
||||
from backend.apps.agents.manager.streaming.handle_stream_event import handle_stream_event
|
||||
from backend.apps.agents.manager.streaming.handle_assistant_message import handle_assistant_message
|
||||
from backend.apps.agents.manager.streaming.handle_result_message import handle_result_message
|
||||
from backend.apps.agents.manager.streaming import thinking as thinking_mod
|
||||
from backend.apps.settings.models import AppSettings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -116,16 +114,16 @@ class TurnRunnerMixin:
|
||||
logger.info(f"[MCP-DEBUG] SystemMessage: {raw}")
|
||||
|
||||
if isinstance(message, StreamEvent):
|
||||
await stream_event.handle_stream_event(
|
||||
await handle_stream_event(
|
||||
message, session, session_id, turn, thinking, self.live_partial
|
||||
)
|
||||
|
||||
elif isinstance(message, AssistantMessage):
|
||||
await assistant_message.handle_assistant_message(
|
||||
await handle_assistant_message(
|
||||
message, session, session_id, turn, thinking, self.live_partial, self.sessions
|
||||
)
|
||||
elif isinstance(message, ResultMessage):
|
||||
await result_message.handle_result_message(
|
||||
await handle_result_message(
|
||||
message, session, session_id, turn, thinking, self.sessions,
|
||||
resolved_model, api_type, global_settings,
|
||||
)
|
||||
|
||||
@@ -17,7 +17,7 @@ from backend.apps.agents.manager.session.session_store import (
|
||||
save_session,
|
||||
build_search_text,
|
||||
)
|
||||
from backend.apps.agents.manager.session.cloud_sync import sync_session_close
|
||||
from backend.apps.agents.manager.session.sync_session_close import sync_session_close
|
||||
from backend.apps.agents.manager.session.apply_context_window import apply_context_window
|
||||
from backend.apps.agents.manager.session import lifecycle
|
||||
from backend.apps.agents.manager.view_builder_state import (
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ from backend.apps.agents.core.models import AgentSession, Message
|
||||
from backend.apps.agents.core.ws_manager import ws_manager
|
||||
from backend.apps.agents.manager.session.apply_context_window import apply_context_window
|
||||
from backend.apps.agents.manager.session.history_compaction import truncate_large_tool_result
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.view_builder_state import view_builder_dirty_sessions
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -9,7 +9,7 @@ from typing import Dict
|
||||
|
||||
from typeguard import typechecked
|
||||
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.view_builder_state import (
|
||||
VIEW_BUILDER_RENDER_MAX_RETRIES,
|
||||
view_builder_render_retry_counts,
|
||||
|
||||
@@ -23,7 +23,7 @@ from .pricing import (
|
||||
compute_tiers,
|
||||
heuristic_tiers,
|
||||
)
|
||||
from .thinking import thinking_params_for
|
||||
from .thinking_params_for import thinking_params_for
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from backend.apps.settings.models import AppSettings
|
||||
|
||||
@@ -316,7 +316,7 @@ def review_bundle(sandbox: str, manifest: Manifest):
|
||||
"""Safety read of any app code in the staged bundle. Returns None when the
|
||||
bundle contains no apps (nothing to review)."""
|
||||
from .models import ReviewSummary
|
||||
from .review import scan_app_files
|
||||
from .scan_app_files import scan_app_files
|
||||
|
||||
findings: list[str] = []
|
||||
scanned: list[str] = []
|
||||
|
||||
@@ -3,7 +3,7 @@ order import walks. Adding a shareable type is one entry here plus its module.""
|
||||
from .entities.apps import AppExportable
|
||||
from .entities.dashboards import DashboardExportable
|
||||
from .entities.modes import ModeExportable
|
||||
from .entities.sessions import SessionExportable
|
||||
from .entities.SessionExportable import SessionExportable
|
||||
from .entities.skills import SkillExportable
|
||||
from .entities.workflows import WorkflowExportable
|
||||
from .models import EntityType
|
||||
|
||||
@@ -10,7 +10,7 @@ from claude_agent_sdk.types import TextBlock, ToolUseBlock
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.state import TurnState, ThinkingState
|
||||
from backend.apps.agents.manager.streaming import assistant_message
|
||||
from backend.apps.agents.manager.streaming import handle_assistant_message as assistant_message
|
||||
|
||||
|
||||
def p_asst(blocks, usage=None):
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
"""Drives the moved browser fast-path dispatch (manager/browser_dispatch.py) end to end
|
||||
"""Drives the moved browser fast-path dispatch (manager/run_browser_fast_path.py) end to end
|
||||
with a real AgentSession + a mocked browser sub-agent. This path was never directly
|
||||
tested before it was lifted out of agent_manager, so this pins its actual behavior."""
|
||||
|
||||
import asyncio
|
||||
|
||||
import backend.apps.agents.manager.browser_dispatch as bd
|
||||
import backend.apps.agents.manager.run_browser_fast_path as bd
|
||||
import backend.apps.agents.browser.browser_agent as browser_agent_mod
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ async def test_forget_and_list_hosts_for_ux():
|
||||
|
||||
|
||||
def test_seed_playbook_fallback_and_supersede():
|
||||
from backend.apps.agents.browser.seed_playbooks import seed_for
|
||||
from backend.apps.agents.browser.seed_for import seed_for
|
||||
# pure lookup: www-normalized, canonical key, unknown -> empty
|
||||
assert seed_for("www.amazon.com") == seed_for("amazon.com") != []
|
||||
assert seed_for("x.com")
|
||||
|
||||
@@ -5,7 +5,7 @@ builtin allow/deny resolution and the web-MCP suppression of the native WebSearc
|
||||
import pytest
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.permissions.effective_tools import build_effective_tool_lists
|
||||
from backend.apps.agents.manager.permissions.build_effective_tool_lists import build_effective_tool_lists
|
||||
|
||||
|
||||
def p_session(allowed):
|
||||
|
||||
@@ -8,7 +8,7 @@ from unittest.mock import patch, AsyncMock
|
||||
from claude_agent_sdk import PermissionResultAllow, PermissionResultDeny
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.permissions import gate_hooks
|
||||
from backend.apps.agents.manager.permissions.ApprovalDecision import ApprovalDecision
|
||||
from backend.apps.agents.manager.prompt.prompt_context import TOOLSEARCH_LOOP_THRESHOLD
|
||||
|
||||
@@ -10,7 +10,7 @@ from claude_agent_sdk import ResultMessage
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.state import TurnState, ThinkingState
|
||||
from backend.apps.agents.manager.streaming import result_message
|
||||
from backend.apps.agents.manager.streaming import handle_result_message as result_message
|
||||
from backend.apps.settings.settings import load_settings
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.streaming import stop_hook as stop_hook_mod
|
||||
from backend.apps.agents.manager import view_builder_state
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ from claude_agent_sdk.types import StreamEvent
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.state import TurnState, ThinkingState
|
||||
from backend.apps.agents.manager.streaming import stream_event
|
||||
from backend.apps.agents.manager.streaming import handle_stream_event as stream_event
|
||||
|
||||
|
||||
def p_ev(event: dict) -> StreamEvent:
|
||||
|
||||
@@ -169,7 +169,7 @@ def test_workflow_unavailable_on_this_branch():
|
||||
|
||||
|
||||
def test_session_export_carries_transcript_drops_runtime_and_secrets():
|
||||
from backend.apps.swarm.entities.sessions import SessionExportable
|
||||
from backend.apps.swarm.entities.SessionExportable import SessionExportable
|
||||
from backend.apps.swarm.redact import scrub_payload
|
||||
data = {
|
||||
"name": "A", "provider": "anthropic", "model": "sonnet", "mode": "agent",
|
||||
@@ -200,7 +200,7 @@ def test_session_export_carries_transcript_drops_runtime_and_secrets():
|
||||
|
||||
|
||||
def test_session_import_restores_transcript_without_granting_mcp(monkeypatch):
|
||||
from backend.apps.swarm.entities.sessions import SessionExportable
|
||||
from backend.apps.swarm.entities.SessionExportable import SessionExportable
|
||||
from backend.apps.swarm.exportable import RemapTable
|
||||
from backend.apps.agents.manager.session import session_store
|
||||
saved: dict = {}
|
||||
@@ -226,7 +226,7 @@ def test_session_import_restores_transcript_without_granting_mcp(monkeypatch):
|
||||
def test_session_import_old_bundle_without_transcript(monkeypatch):
|
||||
# A bundle made before transcripts were carried has no messages; it must
|
||||
# still import as a valid empty-history agent (single main branch), not crash.
|
||||
from backend.apps.swarm.entities.sessions import SessionExportable
|
||||
from backend.apps.swarm.entities.SessionExportable import SessionExportable
|
||||
from backend.apps.swarm.exportable import RemapTable
|
||||
from backend.apps.agents.manager.session import session_store
|
||||
saved: dict = {}
|
||||
@@ -241,7 +241,7 @@ def test_session_load_prefers_live_memory_over_stale_disk(tmp_path, monkeypatch)
|
||||
# The freshest transcript lives in memory; a disk-only load would ship a
|
||||
# stale one. load() must read the live session first, disk only as fallback.
|
||||
from backend.apps.agents import agent_manager as am
|
||||
from backend.apps.swarm.entities.sessions import SessionExportable
|
||||
from backend.apps.swarm.entities.SessionExportable import SessionExportable
|
||||
sdir = tmp_path / "sessions"
|
||||
sdir.mkdir()
|
||||
monkeypatch.setattr(am, "SESSIONS_DIR", str(sdir))
|
||||
|
||||
@@ -7,7 +7,7 @@ import pytest
|
||||
from unittest.mock import patch
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.prompt import system_prompt as sp
|
||||
from backend.apps.agents.manager.prompt import compose_turn_system_prompt as sp
|
||||
|
||||
|
||||
def p_compose(session: AgentSession):
|
||||
|
||||
@@ -7,8 +7,8 @@ import pytest
|
||||
from unittest.mock import patch, AsyncMock
|
||||
|
||||
from backend.apps.agents.core.models import AgentSession
|
||||
from backend.apps.agents.manager.streaming.hook_context import HookContext
|
||||
from backend.apps.agents.manager.streaming import tool_result_hook
|
||||
from backend.apps.agents.manager.streaming.HookContext import HookContext
|
||||
from backend.apps.agents.manager.streaming import post_tool_hook as tool_result_hook
|
||||
|
||||
|
||||
def p_ctx(registry: dict) -> HookContext:
|
||||
|
||||
Reference in New Issue
Block a user