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 ' 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 ' 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 ' fi' ; \
echo ' declare once=0' ; \
echo ' while true; do'; \ echo ' while true; do'; \
echo ' if [[ ! -e /opt/backstory/block-server ]]; then'; \ echo ' if [[ ! -e /opt/backstory/block-server ]]; then'; \
echo ' echo "Launching Backstory server..."'; \ echo ' echo "Launching Backstory server..."'; \
echo ' python src/server.py "${@}" || echo "Backstory server died."'; \ echo ' python src/server.py "${@}" || echo "Backstory server died."'; \
echo ' else'; \
echo ' echo "block-server file exists. Not launching."'; \
echo ' fi' ; \
echo ' echo "Sleeping for 3 seconds."'; \ echo ' echo "Sleeping for 3 seconds."'; \
echo ' else'; \
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 ' sleep 3'; \ echo ' sleep 3'; \
echo ' done' ; \ echo ' done' ; \
echo 'fi'; \ echo 'fi'; \

View File

@ -2,17 +2,21 @@ from __future__ import annotations
import importlib import importlib
import pathlib import pathlib
import inspect import inspect
import logging
from typing import TypeAlias, Dict, Tuple from typing import TypeAlias, Dict, Tuple
from pydantic import BaseModel from . types import registry
from . base import Agent 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 # Type alias for Agent or any subclass
AnyAgent: TypeAlias = Agent # BaseModel covers Agent and subclasses AnyAgent: TypeAlias = Agent # BaseModel covers Agent and subclasses
package_dir = pathlib.Path(__file__).parent package_dir = pathlib.Path(__file__).parent
package_name = __name__ package_name = __name__
__all__ = [] __all__ = [ "AnyAgent", "registry"]
class_registry: Dict[str, Tuple[str, str]] = {} # Maps class_name to (module_name, class_name) class_registry: Dict[str, Tuple[str, str]] = {} # Maps class_name to (module_name, class_name)
for path in package_dir.glob("*.py"): 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) class_registry[name] = (full_module_name, name)
globals()[name] = obj 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) __all__.append(name)
except ImportError as e: 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")