Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d3aaa90
feat: added new atomdb type flags and --remote-db-config
levisingularity Mar 9, 2026
95faf05
feat: added inmemory/remotedb as atomdb options on das-cli config com…
levisingularity Mar 9, 2026
9671180
refactor: adapt config command to new JSON structure (interactive/non…
levisingularity Mar 20, 2026
81290b3
fix config list print
levisingularity Mar 20, 2026
748ad54
feat: add schema version verification
levisingularity Mar 20, 2026
a4448dd
updating atomdb factories and db start to use new json structure.
levisingularity Mar 20, 2026
9138c08
fix attention broker factory
levisingularity Mar 20, 2026
cad4c99
fix metta/mettamork loader factory
levisingularity Mar 20, 2026
fdf6a55
remove old 'schema_mismatch' method.
levisingularity Mar 20, 2026
2ddd65b
added missing jupyter notebook config
levisingularity Mar 23, 2026
3b69851
fix factory methods and adapt them to new schema
levisingularity Mar 23, 2026
ade31da
remove enviroment variables from busnode container
levisingularity Mar 23, 2026
7b56bfd
fix--config parameter on commands and fix generic container name
levisingularity Mar 23, 2026
2e0e4b8
revert debug settings
levisingularity Mar 24, 2026
36805d9
fixed image error message not displaying on agents
levisingularity Mar 24, 2026
9e637e6
update das image version and fix tests
levisingularity Mar 24, 2026
0a0dffe
fix das-toolbox build error
levisingularity Mar 24, 2026
ada471a
fix lint
levisingularity Mar 25, 2026
6c4d7bf
fix tests
levisingularity Mar 25, 2026
99a72fc
fix tests
levisingularity Mar 26, 2026
cd50fe2
fixing integration tests
levisingularity Mar 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion das-cli/src/.black.cfg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[tool.black]
line-length = 100
target-version = ['py38']
target-version = ['py311']
skip-string-normalization = true
2 changes: 1 addition & 1 deletion das-cli/src/.isort.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[isort]
py_version = 38
py_version = 311
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
Expand Down
26 changes: 5 additions & 21 deletions das-cli/src/commands/atomdb_broker/atomdb_broker_cli.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
from injector import inject

from common import (
Command,
CommandGroup,
CommandOption,
Settings,
StdoutSeverity,
StdoutType,
)
from common import Command, CommandGroup, CommandOption, Settings, StdoutSeverity, StdoutType
from common.container_manager.busnode_container_manager import BusNodeContainerManager
from common.decorators import ensure_container_running
from common.docker.exceptions import (
DockerContainerDuplicateError,
DockerContainerNotFoundError,
DockerError,
)
from common.factory.atomdb.atomdb_backend import (
AtomdbBackend,
)
from common.factory.atomdb.atomdb_backend import AtomdbBackend
from common.prompt_types import PortRangeType

from .atomdb_broker_docs import (
Expand Down Expand Up @@ -56,7 +47,6 @@ def __init__(
atomdb_backend: AtomdbBackend,
settings: Settings,
):

self._atomdb_broker_bus_manager = atomdb_broker_bus_manager
self._atomdb_backend = atomdb_backend
self._settings = settings
Expand All @@ -66,7 +56,6 @@ def _get_container(self):
return self._atomdb_broker_bus_manager.get_container()

def _start_container(self, port_range, **kwargs):

container = self._get_container()
port = container.port

Expand Down Expand Up @@ -107,13 +96,9 @@ def _start_container(self, port_range, **kwargs):
stdout_type=StdoutType.MACHINE_READABLE,
)

except DockerError:
message = (
f"Failed to start AtomDB Broker. Please ensure that the port {port} is not already in use "
"and that the required services are running."
)

raise DockerError(message)
except DockerError as e:
error_message = f"Error occurred while trying to start Attention Broker on port {port}"
raise DockerError(f"{error_message}\nOriginal error: {e}")

@ensure_container_running(
[
Expand All @@ -137,7 +122,6 @@ class AtomDbBrokerStop(Command):

@inject
def __init__(self, atomdb_broker_bus_manager: BusNodeContainerManager, settings: Settings):

self._settings = settings
self._atomdb_broker_bus_manager = atomdb_broker_bus_manager
super().__init__()
Expand Down
6 changes: 2 additions & 4 deletions das-cli/src/commands/atomdb_broker/atomdb_broker_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
from common import Module, Settings
from common.config.store import JsonConfigStore
from common.container_manager.busnode_container_manager import BusNodeContainerManager
from common.factory.atomdb.atomdb_backend import (
AtomdbBackend,
)
from common.factory.atomdb.atomdb_backend import AtomdbBackend
from common.factory.atomdb.atomdb_factory import AtomDbContainerManagerFactory
from common.factory.busnode_manager_factory import BusNodeContainerManagerFactory
from settings.config import SECRETS_PATH
Expand All @@ -26,7 +24,7 @@ def __init__(self):
(
BusNodeContainerManager,
self._bus_node_factory.build(
use_settings="atomdb_broker", service_name="atomdb-broker"
use_settings_from="brokers.atomdb", service_name="atomdb-broker"
),
),
(
Expand Down
8 changes: 3 additions & 5 deletions das-cli/src/commands/attention_broker/attention_broker_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,9 @@ def _attention_broker(self) -> None:
),
stdout_type=StdoutType.MACHINE_READABLE,
)
except DockerError:
error_message = (
f"\nError occurred while trying to start Attention Broker on port {port}\n"
)
raise DockerError(error_message)
except DockerError as e:
error_message = f"Error occurred while trying to start Attention Broker on port {port}"
raise DockerError(f"{error_message}\nOriginal error: {e}")

def run(self):
self._settings.validate_configuration_file()
Expand Down
13 changes: 7 additions & 6 deletions das-cli/src/commands/config/config_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,20 @@ def interactive_mode(self, from_env: Optional[str]) -> None:
)
)

config_mappings = self._interactive_config_provider.get_all_configs()
self._interactive_config_provider.apply_default_values(config_mappings)
self._interactive_config_provider.recalculate_config_dynamic_values(config_mappings)
config_mappings = self._interactive_config_provider.setup_settings()
self._interactive_config_provider.apply_values_to_settings(config_mappings)
self._save()

def non_interactive_mode(self, config_key_value: tuple) -> None:
key, value = config_key_value

default_mappings = self._non_interactive_config_provider.get_all_configs()
self._non_interactive_config_provider.raise_property_invalid(key)
self._non_interactive_config_provider.apply_default_values(default_mappings)
self._settings.validate_configuration_file()

config_mappings = self._non_interactive_config_provider.setup_settings()
self._non_interactive_config_provider.apply_values_to_settings(config_mappings)
self._settings.set(key, value)
self._non_interactive_config_provider.recalculate_config_dynamic_values(default_mappings)

self._save()

def run(
Expand Down
24 changes: 9 additions & 15 deletions das-cli/src/commands/config/config_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,21 @@
SECTIONS

┌────────────────────┐
│ 1. schema_hash
│ 1. schema_version
| 2. AtomDB Backend │
│ 3. Redis │
│ 4. MongoDB │
| 5. MorkDB │
│ 6. Loader │
│ 7. Jupyter │
│ 8. DAS Peer │
│ 9. DBMS Peer │
│ 10. AttentionBroker│
│ 11. Query Agent │
│ 12. Link Agent │
│ 13. Evolution Agent│
│ 14. Context Broker │
│ 3. Loaders │
│ 4. Brokers │
│ 5. Agents │
│ 6. AttentionBroker │
│ 7. Agent params │
│ 8. Jupyter Notebook│
└────────────────────┘

OPTIONS AND VARIABLES

SCHEMA HASH CONFIGURATION (schema_hash)
SCHEMA VERSION CONFIGURATION (schema_version)

This variable stores the hash of the schema file used by DAS CLI. It is used to verify the integrity of the schema file and ensure that the correct version is being used.
This variable stores the version of the schema file used by DAS CLI. It is used to verify the integrity of the schema file and ensure that the correct version is being used.
After completion, the path to the generated configuration file will be shown. This file
governs how DAS commands interact with services such as Redis, MongoDB, OpenFaaS, etc.

Expand Down
2 changes: 1 addition & 1 deletion das-cli/src/commands/config/config_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ def _non_interactive_config_provider_factory(self) -> NonInteractiveConfigProvid
return NonInteractiveConfigProvider(self._settings)

def _interactive_config_provider_factory(self) -> InteractiveConfigProvider:
return InteractiveConfigProvider(self._settings, self._remote_context_manager)
return InteractiveConfigProvider(self._settings)
Loading
Loading