fix: resolve merge conflict markers and ruff issues
This commit is contained in:
@@ -4,7 +4,6 @@ import re
|
|||||||
|
|
||||||
from framework.orchestrator import NodeSpec
|
from framework.orchestrator import NodeSpec
|
||||||
|
|
||||||
|
|
||||||
# Wraps prompt sections that should only be shown to vision-capable models.
|
# Wraps prompt sections that should only be shown to vision-capable models.
|
||||||
# Content inside `<!-- vision-only -->...<!-- /vision-only -->` is kept for
|
# Content inside `<!-- vision-only -->...<!-- /vision-only -->` is kept for
|
||||||
# vision models and stripped for text-only models. Applied once per session
|
# vision models and stripped for text-only models. Applied once per session
|
||||||
|
|||||||
@@ -680,7 +680,11 @@ class ColonyRuntime:
|
|||||||
)
|
)
|
||||||
_pre.load()
|
_pre.load()
|
||||||
_spawn_catalog = _pre.skills_catalog_prompt
|
_spawn_catalog = _pre.skills_catalog_prompt
|
||||||
_spawn_skill_dirs = list(_pre.allowlisted_dirs) if hasattr(_pre, "allowlisted_dirs") else self.skill_dirs
|
_spawn_skill_dirs = (
|
||||||
|
list(_pre.allowlisted_dirs)
|
||||||
|
if hasattr(_pre, "allowlisted_dirs")
|
||||||
|
else self.skill_dirs
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
"spawn: pre-activated hive.colony-progress-tracker "
|
"spawn: pre-activated hive.colony-progress-tracker "
|
||||||
"(catalog %d → %d chars) for worker with db_path=%s",
|
"(catalog %d → %d chars) for worker with db_path=%s",
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import uuid
|
import uuid
|
||||||
from datetime import datetime, timezone
|
from datetime import UTC, datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ _PRAGMAS = (
|
|||||||
|
|
||||||
|
|
||||||
def _now_iso() -> str:
|
def _now_iso() -> str:
|
||||||
return datetime.now(timezone.utc).isoformat(timespec="seconds")
|
return datetime.now(UTC).isoformat(timespec="seconds")
|
||||||
|
|
||||||
|
|
||||||
def _new_id() -> str:
|
def _new_id() -> str:
|
||||||
|
|||||||
@@ -312,17 +312,14 @@ def create_app(model: str | None = None) -> web.Application:
|
|||||||
app.router.add_get("/api/browser/status/stream", handle_browser_status_stream)
|
app.router.add_get("/api/browser/status/stream", handle_browser_status_stream)
|
||||||
|
|
||||||
# Register route modules
|
# Register route modules
|
||||||
|
from framework.server.routes_colony_workers import register_routes as register_colony_worker_routes
|
||||||
from framework.server.routes_config import register_routes as register_config_routes
|
from framework.server.routes_config import register_routes as register_config_routes
|
||||||
from framework.server.routes_credentials import register_routes as register_credential_routes
|
from framework.server.routes_credentials import register_routes as register_credential_routes
|
||||||
from framework.server.routes_events import register_routes as register_event_routes
|
from framework.server.routes_events import register_routes as register_event_routes
|
||||||
from framework.server.routes_execution import register_routes as register_execution_routes
|
from framework.server.routes_execution import register_routes as register_execution_routes
|
||||||
from framework.server.routes_logs import register_routes as register_log_routes
|
from framework.server.routes_logs import register_routes as register_log_routes
|
||||||
from framework.server.routes_messages import register_routes as register_message_routes
|
from framework.server.routes_messages import register_routes as register_message_routes
|
||||||
<<<<<<< HEAD
|
|
||||||
from framework.server.routes_colony_workers import register_routes as register_colony_worker_routes
|
|
||||||
=======
|
|
||||||
from framework.server.routes_prompts import register_routes as register_prompt_routes
|
from framework.server.routes_prompts import register_routes as register_prompt_routes
|
||||||
>>>>>>> origin/main
|
|
||||||
from framework.server.routes_queens import register_routes as register_queen_routes
|
from framework.server.routes_queens import register_routes as register_queen_routes
|
||||||
from framework.server.routes_sessions import register_routes as register_session_routes
|
from framework.server.routes_sessions import register_routes as register_session_routes
|
||||||
from framework.server.routes_workers import register_routes as register_worker_routes
|
from framework.server.routes_workers import register_routes as register_worker_routes
|
||||||
@@ -336,11 +333,8 @@ def create_app(model: str | None = None) -> web.Application:
|
|||||||
register_worker_routes(app)
|
register_worker_routes(app)
|
||||||
register_log_routes(app)
|
register_log_routes(app)
|
||||||
register_queen_routes(app)
|
register_queen_routes(app)
|
||||||
<<<<<<< HEAD
|
|
||||||
register_colony_worker_routes(app)
|
register_colony_worker_routes(app)
|
||||||
=======
|
|
||||||
register_prompt_routes(app)
|
register_prompt_routes(app)
|
||||||
>>>>>>> origin/main
|
|
||||||
|
|
||||||
# Static file serving — Option C production mode
|
# Static file serving — Option C production mode
|
||||||
# If frontend/dist/ exists, serve built frontend files on /
|
# If frontend/dist/ exists, serve built frontend files on /
|
||||||
|
|||||||
@@ -512,16 +512,10 @@ async def handle_pause(request: web.Request) -> web.Response:
|
|||||||
# Pause timers so the next tick doesn't restart execution
|
# Pause timers so the next tick doesn't restart execution
|
||||||
runtime.pause_timers()
|
runtime.pause_timers()
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
# Switch to reviewing — workers stopped, queen now helps the user
|
# Switch to reviewing — workers stopped, queen now helps the user
|
||||||
# interpret whatever they produced and decide next steps.
|
# interpret whatever they produced and decide next steps.
|
||||||
if session.phase_state is not None:
|
if session.phase_state is not None:
|
||||||
await session.phase_state.switch_to_reviewing(source="frontend")
|
await session.phase_state.switch_to_reviewing(source="frontend")
|
||||||
=======
|
|
||||||
# Only switch to staging once every execution has actually stopped.
|
|
||||||
if session.phase_state is not None and not cancelling:
|
|
||||||
await session.phase_state.switch_to_staging(source="frontend")
|
|
||||||
>>>>>>> origin/main
|
|
||||||
|
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{
|
{
|
||||||
@@ -754,7 +748,7 @@ async def fork_session_into_colony(
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from framework.agent_loop.agent_loop import AgentLoop, LoopConfig
|
from framework.agent_loop.agent_loop import AgentLoop, LoopConfig
|
||||||
from framework.agent_loop.types import AgentContext, AgentSpec
|
from framework.agent_loop.types import AgentContext
|
||||||
from framework.host.progress_db import ensure_progress_db, seed_tasks
|
from framework.host.progress_db import ensure_progress_db, seed_tasks
|
||||||
from framework.server.session_manager import _queen_session_dir
|
from framework.server.session_manager import _queen_session_dir
|
||||||
|
|
||||||
|
|||||||
@@ -46,13 +46,10 @@ from typing import TYPE_CHECKING, Any
|
|||||||
from framework.credentials.models import CredentialError
|
from framework.credentials.models import CredentialError
|
||||||
from framework.host.event_bus import AgentEvent, EventType
|
from framework.host.event_bus import AgentEvent, EventType
|
||||||
from framework.loader.preload_validation import credential_errors_to_json
|
from framework.loader.preload_validation import credential_errors_to_json
|
||||||
from framework.server.app import validate_agent_path
|
|
||||||
from framework.tools.flowchart_utils import (
|
from framework.tools.flowchart_utils import (
|
||||||
FLOWCHART_TYPES,
|
FLOWCHART_TYPES,
|
||||||
classify_flowchart_node,
|
classify_flowchart_node,
|
||||||
load_flowchart_file,
|
|
||||||
save_flowchart_file,
|
save_flowchart_file,
|
||||||
synthesize_draft_from_runtime,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@@ -1901,8 +1898,6 @@ def register_queen_lifecycle_tools(
|
|||||||
)
|
)
|
||||||
tools_registered += 1
|
tools_registered += 1
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
# --- stop_worker_and_review --------------------------------------------------
|
# --- stop_worker_and_review --------------------------------------------------
|
||||||
|
|
||||||
async def stop_worker_and_review() -> str:
|
async def stop_worker_and_review() -> str:
|
||||||
@@ -2862,7 +2857,6 @@ def register_queen_lifecycle_tools(
|
|||||||
)
|
)
|
||||||
registry.register("stop_worker", _stop_worker_tool, lambda inputs: stop_worker_to_staging())
|
registry.register("stop_worker", _stop_worker_tool, lambda inputs: stop_worker_to_staging())
|
||||||
tools_registered += 1
|
tools_registered += 1
|
||||||
>>>>>>> origin/main
|
|
||||||
|
|
||||||
# --- get_worker_status -----------------------------------------------------
|
# --- get_worker_status -----------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
import { useState, useEffect, useCallback, useRef } from "react";
|
import { useState, useEffect, useCallback, useRef } from "react";
|
||||||
=======
|
|
||||||
import { useState, useEffect, useRef } from "react";
|
|
||||||
>>>>>>> origin/main
|
|
||||||
import { NavLink, useLocation, useNavigate } from "react-router-dom";
|
import { NavLink, useLocation, useNavigate } from "react-router-dom";
|
||||||
import { X, MessageSquare, Crown, ChevronRight, Briefcase, Award, Pencil, Check, Loader2, Camera } from "lucide-react";
|
import { X, MessageSquare, Crown, ChevronRight, Briefcase, Award, Pencil, Check, Loader2, Camera } from "lucide-react";
|
||||||
import { useColony } from "@/context/ColonyContext";
|
import { useColony } from "@/context/ColonyContext";
|
||||||
@@ -119,7 +115,6 @@ export default function QueenProfilePanel({ queenId, colonies, onClose }: QueenP
|
|||||||
const name = profile?.name ?? summary?.name ?? "Queen";
|
const name = profile?.name ?? summary?.name ?? "Queen";
|
||||||
const title = profile?.title ?? summary?.title ?? "";
|
const title = profile?.title ?? summary?.title ?? "";
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
// ── Resizable width ──────────────────────────────────────────────────
|
// ── Resizable width ──────────────────────────────────────────────────
|
||||||
const MIN_WIDTH = 280;
|
const MIN_WIDTH = 280;
|
||||||
const MAX_WIDTH = 600;
|
const MAX_WIDTH = 600;
|
||||||
@@ -153,17 +148,6 @@ export default function QueenProfilePanel({ queenId, colonies, onClose }: QueenP
|
|||||||
document.body.style.userSelect = "none";
|
document.body.style.userSelect = "none";
|
||||||
}, [width]);
|
}, [width]);
|
||||||
|
|
||||||
return (
|
|
||||||
<aside
|
|
||||||
className="flex-shrink-0 border-l border-border/60 bg-card overflow-y-auto relative"
|
|
||||||
style={{ width }}
|
|
||||||
>
|
|
||||||
{/* Drag handle */}
|
|
||||||
<div
|
|
||||||
onMouseDown={onDragStart}
|
|
||||||
className="absolute top-0 left-0 w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors z-10"
|
|
||||||
/>
|
|
||||||
=======
|
|
||||||
const inputCls = "w-full bg-muted/30 border border-border/50 rounded-lg px-3 py-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-primary/40";
|
const inputCls = "w-full bg-muted/30 border border-border/50 rounded-lg px-3 py-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-primary/40";
|
||||||
const textareaCls = `${inputCls} resize-none`;
|
const textareaCls = `${inputCls} resize-none`;
|
||||||
|
|
||||||
@@ -198,8 +182,15 @@ export default function QueenProfilePanel({ queenId, colonies, onClose }: QueenP
|
|||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<aside className="w-[340px] flex-shrink-0 border-l border-border/60 bg-card overflow-y-auto overscroll-contain">
|
<aside
|
||||||
>>>>>>> origin/main
|
className="flex-shrink-0 border-l border-border/60 bg-card overflow-y-auto overscroll-contain relative"
|
||||||
|
style={{ width }}
|
||||||
|
>
|
||||||
|
{/* Drag handle */}
|
||||||
|
<div
|
||||||
|
onMouseDown={onDragStart}
|
||||||
|
className="absolute top-0 left-0 w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors z-10"
|
||||||
|
/>
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="flex items-center justify-between px-5 py-3.5 border-b border-border/60">
|
<div className="flex items-center justify-between px-5 py-3.5 border-b border-border/60">
|
||||||
<div className="flex items-center gap-2 text-sm font-semibold text-foreground">
|
<div className="flex items-center gap-2 text-sm font-semibold text-foreground">
|
||||||
|
|||||||
@@ -854,11 +854,8 @@ export default function QueenDM() {
|
|||||||
}}
|
}}
|
||||||
supportsImages={true}
|
supportsImages={true}
|
||||||
initialDraft={initialDraft}
|
initialDraft={initialDraft}
|
||||||
<<<<<<< HEAD
|
|
||||||
queenProfileId={queenId ?? null}
|
queenProfileId={queenId ?? null}
|
||||||
=======
|
|
||||||
queenId={queenId}
|
queenId={queenId}
|
||||||
>>>>>>> origin/main
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -11,14 +11,13 @@ import pytest
|
|||||||
|
|
||||||
from framework.host.progress_db import (
|
from framework.host.progress_db import (
|
||||||
SCHEMA_VERSION,
|
SCHEMA_VERSION,
|
||||||
|
enqueue_task,
|
||||||
ensure_all_colony_dbs,
|
ensure_all_colony_dbs,
|
||||||
ensure_progress_db,
|
ensure_progress_db,
|
||||||
enqueue_task,
|
|
||||||
reclaim_stale,
|
reclaim_stale,
|
||||||
seed_tasks,
|
seed_tasks,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# Schema / init
|
# Schema / init
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user