diff --git a/bot_bottle/backend/docker/capability_apply.py b/bot_bottle/backend/docker/capability_apply.py index 5831882..9485ddc 100644 --- a/bot_bottle/backend/docker/capability_apply.py +++ b/bot_bottle/backend/docker/capability_apply.py @@ -36,7 +36,7 @@ from pathlib import Path from ...agent_provider import get_provider from ...log import info, warn -from .bottle_state import ( +from ...bottle_state import ( mark_preserved, per_bottle_dockerfile, transcript_snapshot_dir, diff --git a/bot_bottle/backend/docker/cleanup.py b/bot_bottle/backend/docker/cleanup.py index 57f365d..079de35 100644 --- a/bot_bottle/backend/docker/cleanup.py +++ b/bot_bottle/backend/docker/cleanup.py @@ -31,7 +31,7 @@ from ... import supervise as _supervise from ...log import info, warn from . import util as docker_mod from .bottle_cleanup_plan import DockerBottleCleanupPlan -from .bottle_state import bottle_state_dir, is_preserved +from ...bottle_state import bottle_state_dir, is_preserved from .compose import COMPOSE_PROJECT_PREFIX, list_compose_projects diff --git a/bot_bottle/backend/docker/enumerate.py b/bot_bottle/backend/docker/enumerate.py index 9348d82..af12af3 100644 --- a/bot_bottle/backend/docker/enumerate.py +++ b/bot_bottle/backend/docker/enumerate.py @@ -15,7 +15,7 @@ from __future__ import annotations import subprocess from .. import ActiveAgent -from .bottle_state import read_metadata +from ...bottle_state import read_metadata from .compose import compose_project_name, list_active_slugs diff --git a/bot_bottle/backend/docker/launch.py b/bot_bottle/backend/docker/launch.py index 2d1bf05..7171237 100644 --- a/bot_bottle/backend/docker/launch.py +++ b/bot_bottle/backend/docker/launch.py @@ -43,7 +43,7 @@ from . import network as network_mod from . import util as docker_mod from .bottle import DockerBottle from .bottle_plan import DockerBottlePlan -from .bottle_state import ( +from ...bottle_state import ( bottle_state_dir, egress_state_dir, git_gate_state_dir, diff --git a/bot_bottle/backend/docker/resolve_plan.py b/bot_bottle/backend/docker/resolve_plan.py index 1efff82..c723cfd 100644 --- a/bot_bottle/backend/docker/resolve_plan.py +++ b/bot_bottle/backend/docker/resolve_plan.py @@ -25,7 +25,7 @@ from ...workspace import workspace_plan as resolve_workspace_plan from .. import BottleSpec from . import util as docker_mod from .bottle_plan import DockerBottlePlan -from .bottle_state import ( +from ...bottle_state import ( BottleMetadata, agent_state_dir, bottle_identity, diff --git a/bot_bottle/backend/smolmachines/enumerate.py b/bot_bottle/backend/smolmachines/enumerate.py index c01e4ac..cd24ec4 100644 --- a/bot_bottle/backend/smolmachines/enumerate.py +++ b/bot_bottle/backend/smolmachines/enumerate.py @@ -23,7 +23,7 @@ import json import subprocess from .. import ActiveAgent -from ..docker.bottle_state import read_metadata +from ...bottle_state import read_metadata from . import sidecar_bundle as _bundle diff --git a/bot_bottle/backend/smolmachines/launch.py b/bot_bottle/backend/smolmachines/launch.py index 0c5a6b5..e78d4e4 100644 --- a/bot_bottle/backend/smolmachines/launch.py +++ b/bot_bottle/backend/smolmachines/launch.py @@ -41,7 +41,7 @@ from ..docker.git_gate import ( ) from ...git_gate import revoke_git_gate_provisioned_keys from ...log import warn -from ..docker.bottle_state import egress_state_dir, git_gate_state_dir +from ...bottle_state import egress_state_dir, git_gate_state_dir from . import loopback_alias as _loopback from . import sidecar_bundle as _bundle from . import smolvm as _smolvm diff --git a/bot_bottle/backend/smolmachines/resolve_plan.py b/bot_bottle/backend/smolmachines/resolve_plan.py index 58e480a..c569e30 100644 --- a/bot_bottle/backend/smolmachines/resolve_plan.py +++ b/bot_bottle/backend/smolmachines/resolve_plan.py @@ -17,7 +17,7 @@ from pathlib import Path from ...agent_provider import PROVIDER_TEMPLATES, agent_provision_plan, get_provider from ...backend import BottleSpec -from ...backend.docker.bottle_state import ( +from ...bottle_state import ( BottleMetadata, agent_state_dir, bottle_identity, diff --git a/bot_bottle/backend/docker/bottle_state.py b/bot_bottle/bottle_state.py similarity index 99% rename from bot_bottle/backend/docker/bottle_state.py rename to bot_bottle/bottle_state.py index 80c1eea..018c9f4 100644 --- a/bot_bottle/backend/docker/bottle_state.py +++ b/bot_bottle/bottle_state.py @@ -37,8 +37,8 @@ from dataclasses import dataclass from pathlib import Path from typing import cast -from ... import supervise as _supervise -from . import util as docker_mod +from . import supervise as _supervise +from .backend.docker import util as docker_mod # Directory layout: ~/.bot-bottle/state//... diff --git a/bot_bottle/cli/resume.py b/bot_bottle/cli/resume.py index 55661a3..ee77088 100644 --- a/bot_bottle/cli/resume.py +++ b/bot_bottle/cli/resume.py @@ -18,7 +18,7 @@ from __future__ import annotations import argparse from ..backend import BottleSpec -from ..backend.docker.bottle_state import read_metadata +from ..bottle_state import read_metadata from ..log import die from ..manifest import Manifest from ._common import PROG, USER_CWD diff --git a/bot_bottle/cli/start.py b/bot_bottle/cli/start.py index 6bc0fac..c5e8426 100644 --- a/bot_bottle/cli/start.py +++ b/bot_bottle/cli/start.py @@ -24,7 +24,7 @@ from ..backend import ( known_backend_names, ) from ..backend.docker.bottle_plan import DockerBottlePlan -from ..backend.docker.bottle_state import ( +from ..bottle_state import ( cleanup_state, is_preserved, mark_preserved, diff --git a/bot_bottle/cli/supervise.py b/bot_bottle/cli/supervise.py index 20849c9..fa7d5be 100644 --- a/bot_bottle/cli/supervise.py +++ b/bot_bottle/cli/supervise.py @@ -20,7 +20,7 @@ from datetime import datetime, timezone from pathlib import Path from .. import supervise as _supervise -from ..backend.docker.bottle_state import read_metadata +from ..bottle_state import read_metadata from ..backend.docker.capability_apply import ( CapabilityApplyError, apply_capability_change, diff --git a/tests/integration/test_capability_apply.py b/tests/integration/test_capability_apply.py index 067d6f7..0203743 100644 --- a/tests/integration/test_capability_apply.py +++ b/tests/integration/test_capability_apply.py @@ -31,7 +31,7 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state +from bot_bottle import bottle_state from bot_bottle.backend.docker.capability_apply import apply_capability_change from bot_bottle.backend.docker.network import ( network_create_egress, diff --git a/tests/integration/test_sandbox_escape.py b/tests/integration/test_sandbox_escape.py index caece39..b547539 100644 --- a/tests/integration/test_sandbox_escape.py +++ b/tests/integration/test_sandbox_escape.py @@ -29,7 +29,7 @@ import unittest from pathlib import Path from bot_bottle.backend import BottleSpec, get_bottle_backend -from bot_bottle.backend.docker.bottle_state import cleanup_state +from bot_bottle.bottle_state import cleanup_state from bot_bottle.manifest import Manifest from tests._docker import skip_unless_docker diff --git a/tests/unit/test_bottle_state.py b/tests/unit/test_bottle_state.py index 9714471..acda6c9 100644 --- a/tests/unit/test_bottle_state.py +++ b/tests/unit/test_bottle_state.py @@ -7,8 +7,8 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state -from bot_bottle.backend.docker.bottle_state import ( +from bot_bottle import bottle_state +from bot_bottle.bottle_state import ( BottleMetadata, read_metadata, write_metadata, @@ -260,7 +260,7 @@ class TestBottleMetadataBackend(_FakeHomeMixin, unittest.TestCase): def test_missing_backend_field_defaults_to_empty(self): # Old state dirs written before PRD 0040 have no backend key. import json - from bot_bottle.backend.docker import bottle_state as bs + from bot_bottle import bottle_state as bs path = bs.metadata_path("dev-b3") path.parent.mkdir(parents=True, exist_ok=True) path.write_text(json.dumps({ diff --git a/tests/unit/test_capability_apply.py b/tests/unit/test_capability_apply.py index 3468f68..619bd70 100644 --- a/tests/unit/test_capability_apply.py +++ b/tests/unit/test_capability_apply.py @@ -13,7 +13,8 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state, capability_apply +from bot_bottle import bottle_state +from bot_bottle.backend.docker import capability_apply from bot_bottle.backend.docker.capability_apply import ( CapabilityApplyError, apply_capability_change, diff --git a/tests/unit/test_cli_start_settle.py b/tests/unit/test_cli_start_settle.py index 42ab560..0569d06 100644 --- a/tests/unit/test_cli_start_settle.py +++ b/tests/unit/test_cli_start_settle.py @@ -9,7 +9,7 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state +from bot_bottle import bottle_state from bot_bottle.cli import start as start_mod diff --git a/tests/unit/test_docker_cleanup.py b/tests/unit/test_docker_cleanup.py index 8d4c394..3516c66 100644 --- a/tests/unit/test_docker_cleanup.py +++ b/tests/unit/test_docker_cleanup.py @@ -16,7 +16,7 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state +from bot_bottle import bottle_state from bot_bottle.backend.docker.cleanup import _list_orphan_state_dirs diff --git a/tests/unit/test_docker_enumerate_active.py b/tests/unit/test_docker_enumerate_active.py index f0eb26a..b6aca74 100644 --- a/tests/unit/test_docker_enumerate_active.py +++ b/tests/unit/test_docker_enumerate_active.py @@ -24,7 +24,8 @@ import unittest from pathlib import Path from bot_bottle import supervise -from bot_bottle.backend.docker import bottle_state, enumerate as _enumerate +from bot_bottle import bottle_state +from bot_bottle.backend.docker import enumerate as _enumerate class TestParseServicesByProject(unittest.TestCase): diff --git a/tests/unit/test_supervise_cli.py b/tests/unit/test_supervise_cli.py index d672a7f..f2ab607 100644 --- a/tests/unit/test_supervise_cli.py +++ b/tests/unit/test_supervise_cli.py @@ -289,7 +289,7 @@ class TestCapabilityBlockSmolmachinesGuard(_FakeHomeMixin, unittest.TestCase): return supervise_cli.QueuedProposal(proposal=p, queue_dir=qdir) def _write_metadata(self, slug: str, compose_project: str) -> None: - from bot_bottle.backend.docker.bottle_state import BottleMetadata, write_metadata + from bot_bottle.bottle_state import BottleMetadata, write_metadata write_metadata(BottleMetadata( identity=slug, agent_name="myagent",