This commit is contained in:
James Ketr 2025-05-01 10:16:31 -07:00
parent b8fbe145c9
commit 759d859d18
2 changed files with 19 additions and 8 deletions

View File

@ -292,14 +292,18 @@ RUN { \
echo ' echo "Generating self-signed certificate for HTTPS"'; \
echo ' openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout src/key.pem -out src/cert.pem -subj "/C=US/ST=OR/L=Portland/O=Development/CN=localhost"'; \
echo ' fi' ; \
echo ' declare once=0' ; \
echo ' while true; do'; \
echo ' if [[ ! -e /opt/backstory/block-server ]]; then'; \
echo ' echo "Launching Backstory server..."'; \
echo ' python src/server.py "${@}" || echo "Backstory server died."'; \
echo ' echo "Sleeping for 3 seconds."'; \
echo ' else'; \
echo ' echo "block-server file exists. Not launching."'; \
echo ' if [[ ${once} -eq 0 ]]; then' ; \
echo ' echo "/opt/backstory/block-server exists. Sleeping for 3 seconds."'; \
echo ' once=1' ; \
echo ' fi' ; \
echo ' fi' ; \
echo ' echo "Sleeping for 3 seconds."'; \
echo ' sleep 3'; \
echo ' done' ; \
echo 'fi'; \

View File

@ -2,17 +2,21 @@ from __future__ import annotations
import importlib
import pathlib
import inspect
import logging
from typing import TypeAlias, Dict, Tuple
from pydantic import BaseModel
from . types import registry
from . base import Agent
from .. setup_logging import setup_logging
from .. import defines
logger = setup_logging(defines.logging_level)
# Type alias for Agent or any subclass
AnyAgent: TypeAlias = Agent # BaseModel covers Agent and subclasses
package_dir = pathlib.Path(__file__).parent
package_name = __name__
__all__ = []
__all__ = [ "AnyAgent", "registry"]
class_registry: Dict[str, Tuple[str, str]] = {} # Maps class_name to (module_name, class_name)
for path in package_dir.glob("*.py"):
@ -35,9 +39,12 @@ for path in package_dir.glob("*.py"):
):
class_registry[name] = (full_module_name, name)
globals()[name] = obj
logging.info(f"Adding agent: {name} from {full_module_name}")
logger.info(f"Adding agent: {name} from {full_module_name}")
__all__.append(name)
except ImportError as e:
logging.error(f"Failed to import module {full_module_name}: {e}")
logger.error(f"Error importing {full_module_name}: {e}")
continue
except Exception as e:
logger.error(f"Error processing {full_module_name}: {e}")
continue
__all__.append("AnyAgent")