Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ results/

/thread_monitor_report.csv

# Memory2 autorecord
# Memory autorecord
recording*.db

# Rerun recordings
Expand Down
2 changes: 1 addition & 1 deletion dimos/cli/dimos.py
Original file line number Diff line number Diff line change
Expand Up @@ -794,7 +794,7 @@ def dataprep_inspect(
map_app.command("replay")(_map_replay_main)
map_app.command("replay-marker")(_map_replay_marker_main)

from dimos.memory2.cli.app import mem_app
from dimos.memory.cli.app import mem_app

main.add_typer(mem_app, name="mem")

Expand Down
4 changes: 2 additions & 2 deletions dimos/cli/dtop.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ def __init__(self, topic_name: str = "/resource_stats", db_path: str | None = No
autoconf(check_only=True)

if db_path is not None:
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore

self._store: SqliteStore | None = SqliteStore(path=db_path)
self._store.start()
Expand Down Expand Up @@ -565,7 +565,7 @@ def main() -> None:
parser.add_argument(
"--log",
action="store_true",
help="Log stats to a memory2 SQLite database (dtop_{timestamp}.ignore.db).",
help="Log stats to a memory SQLite database (dtop_{timestamp}.ignore.db).",
)
args = parser.parse_args()

Expand Down
14 changes: 7 additions & 7 deletions dimos/control/benchmarking/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@

import math

from dimos.memory2.vis.space.elements import Point, Polyline, Text
from dimos.memory2.vis.space.space import Space
from dimos.memory.vis.space.elements import Point, Polyline, Text
from dimos.memory.vis.space.space import Space
from dimos.msgs.geometry_msgs.Point import Point as GeoPoint
from dimos.msgs.geometry_msgs.PoseStamped import PoseStamped
from dimos.msgs.geometry_msgs.Quaternion import Quaternion
Expand All @@ -41,7 +41,7 @@


def _xy_to_path(executed_xy: list[tuple[float, float]]) -> Path:
"""Wrap (x, y) tuples in a nav_msgs.Path so memory2 Polyline can render them."""
"""Wrap (x, y) tuples in a nav_msgs.Path so memory Polyline can render them."""
poses = [
PoseStamped(
position=Vector3(x, y, 0.0),
Expand Down Expand Up @@ -428,7 +428,7 @@ def default_battery() -> dict[str, Path]:


def path_to_svg(path: Path, size_px: int = 400, margin_px: int = 20) -> str:
"""Render a Path as an SVG polyline via memory2.vis.space.
"""Render a Path as an SVG polyline via memory.vis.space.

``size_px`` / ``margin_px`` are kept for API compatibility but ignored;
Space picks its own dimensions from world-space content bounds.
Expand All @@ -449,7 +449,7 @@ def trajectory_to_svg(
size_px: int = 500,
margin_px: int = 20,
) -> str:
"""Reference path (gray) + executed trajectory (blue), via memory2.vis.space."""
"""Reference path (gray) + executed trajectory (blue), via memory.vis.space."""
if not reference.poses or not executed_xy:
return Space().to_svg()

Expand All @@ -470,15 +470,15 @@ def multi_trajectory_to_svg(
margin_px: int = 30,
title: str | None = None,
) -> str:
"""Reference + multiple executed trajectories overlaid, via memory2.vis.space.
"""Reference + multiple executed trajectories overlaid, via memory.vis.space.

Each cohort gets a distinct color from ``_COHORT_COLORS`` (10 unique
entries; no collisions for the current cohort matrix). A small dot at
each cohort's start position helps disambiguate when overlapping lines
converge. The legend is emitted as ``Polyline`` stubs + ``Text`` labels
placed in world space below the plot bounds, so it sits inside the
auto-fit viewBox alongside the trajectories. Axes / grid / tick labels
are drawn by memory2's Space renderer (`show_axes=True`).
are drawn by memory's Space renderer (`show_axes=True`).
"""
if not reference.poses:
return Space().to_svg()
Expand Down
6 changes: 3 additions & 3 deletions dimos/experimental/world_belief/recall.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
import re
from typing import TYPE_CHECKING, Any, cast

from dimos.memory2.embed import EmbedImages
from dimos.memory.embed import EmbedImages
from dimos.msgs.sensor_msgs.Image import Image
from dimos.utils.logging_config import setup_logger

if TYPE_CHECKING:
from dimos.memory2.store.base import Store
from dimos.memory2.type.observation import EmbeddedObservation
from dimos.memory.store.base import Store
from dimos.memory.type.observation import EmbeddedObservation

logger = setup_logger()

Expand Down
2 changes: 1 addition & 1 deletion dimos/experimental/world_belief/scene_scan.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from dimos.utils.logging_config import setup_logger

if TYPE_CHECKING:
from dimos.memory2.store.base import Store
from dimos.memory.store.base import Store
from dimos.perception.detection.detectors.base import Detector
from dimos.perception.detection.type.detection2d.imageDetections2D import ImageDetections2D

Expand Down
2 changes: 1 addition & 1 deletion dimos/experimental/world_belief/world_belief.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ def __init__(
novelty: float,
max_views: int,
) -> None:
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore

self._store = SqliteStore(path=path)
self._namespace = _gallery_namespace(model_id)
Expand Down
6 changes: 3 additions & 3 deletions dimos/experimental/world_belief/worldbelief_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
from dimos.experimental.world_belief.worldbelief_recorder import (
WorldBeliefRecorderSpec,
)
from dimos.memory2.module import MemoryModuleConfig
from dimos.memory.module import MemoryModuleConfig
from dimos.msgs.sensor_msgs.Image import Image
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
from dimos.msgs.vision_msgs.Detection3DArray import Detection3DArray
Expand Down Expand Up @@ -239,7 +239,7 @@ def scan(self, prompt: list[str] | None = None, window: float = 60.0) -> SkillRe
from dimos.experimental.world_belief.scene_scan import (
ScanIncompleteError,
)
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore
from dimos.perception.experimental.object import (
aggregate_pointclouds,
to_detection3d_array,
Expand Down Expand Up @@ -340,7 +340,7 @@ def recall(self, text: str, k: int = 20) -> dict[str, Any] | None:
from contextlib import nullcontext

from dimos.experimental.world_belief.recall import recall as _recall
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore

text = text.strip()
if not text:
Expand Down
2 changes: 1 addition & 1 deletion dimos/experimental/world_belief/worldbelief_recorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from dimos.constants import STATE_DIR
from dimos.core.core import rpc
from dimos.core.stream import In
from dimos.memory2.module import Recorder, RecorderConfig, pose_setter_for
from dimos.memory.module import Recorder, RecorderConfig, pose_setter_for
from dimos.msgs.geometry_msgs.Transform import Transform
from dimos.msgs.sensor_msgs.CameraInfo import CameraInfo
from dimos.msgs.sensor_msgs.Image import Image
Expand Down
4 changes: 2 additions & 2 deletions dimos/hardware/sensors/lidar/fastlio2/recorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Record FAST-LIO odometry + lidar into a memory2 SQLite db.
"""Record FAST-LIO odometry + lidar into a memory SQLite db.

A ``Recorder`` that records its In ports under their own names
(``fastlio_odometry`` / ``fastlio_lidar``) — wire them to FastLio2's
Expand All @@ -25,7 +25,7 @@
from __future__ import annotations

from dimos.core.stream import In
from dimos.memory2.module import OnExisting, Recorder, RecorderConfig, pose_setter_for
from dimos.memory.module import OnExisting, Recorder, RecorderConfig, pose_setter_for
from dimos.msgs.geometry_msgs.Pose import Pose
from dimos.msgs.nav_msgs.Odometry import Odometry
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
Expand Down
4 changes: 2 additions & 2 deletions dimos/hardware/sensors/lidar/fastlio2/tools/pcap_to_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def _write_rrd(db_path: Path, odom_stream: str, lidar_stream: str, voxel: float)
import numpy as np
import rerun as rr

from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore
from dimos.msgs.nav_msgs.Odometry import Odometry
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
from dimos.visualization.rerun.init import rerun_init
Expand Down Expand Up @@ -413,7 +413,7 @@ def main(argv: list[str]) -> int:
parser.add_argument(
"--db",
default=None,
help="target memory2 SQLite db. Existing -> append/align; missing -> fetched via "
help="target memory SQLite db. Existing -> append/align; missing -> fetched via "
"get_data (LFS), else built from scratch. Omit to default to <pcap>.db.",
)
parser.add_argument(
Expand Down
4 changes: 2 additions & 2 deletions dimos/hardware/sensors/lidar/pointlio/recorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Record Point-LIO odometry + lidar into a memory2 SQLite db.
"""Record Point-LIO odometry + lidar into a memory SQLite db.

A ``Recorder`` that records its In ports under their own names
(``pointlio_odometry`` / ``pointlio_lidar``) — wire them to PointLio's
Expand All @@ -25,7 +25,7 @@
from __future__ import annotations

from dimos.core.stream import In
from dimos.memory2.module import OnExisting, Recorder, RecorderConfig, pose_setter_for
from dimos.memory.module import OnExisting, Recorder, RecorderConfig, pose_setter_for
from dimos.msgs.geometry_msgs.Pose import Pose
from dimos.msgs.nav_msgs.Odometry import Odometry
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
Expand Down
4 changes: 2 additions & 2 deletions dimos/hardware/sensors/lidar/pointlio/scripts/pcap_to_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ def _write_rrd(db_path: Path, odom_stream: str, lidar_stream: str, voxel: float)
import numpy as np
import rerun as rr

from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore
from dimos.msgs.nav_msgs.Odometry import Odometry
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
from dimos.visualization.rerun.init import rerun_init
Expand Down Expand Up @@ -504,7 +504,7 @@ def main(argv: list[str]) -> int:
parser.add_argument(
"--db",
default=None,
help="target memory2 SQLite db. Existing -> append/align; missing -> built from "
help="target memory SQLite db. Existing -> append/align; missing -> built from "
"scratch. Omit to default to <pcap>.db next to the pcap.",
)
parser.add_argument(
Expand Down
2 changes: 1 addition & 1 deletion dimos/imitation/collection/blueprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

"""Recording blueprints.

`CollectionRecorder` (a memory2 Recorder) captures the obs/action/status
`CollectionRecorder` (a memory Recorder) captures the obs/action/status
streams to a SQLite session DB during the run and flushes it durably on
shutdown. DataPrep reads that DB afterwards.
"""
Expand Down
6 changes: 3 additions & 3 deletions dimos/imitation/collection/recorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""CollectionRecorder — captures teleop collection streams to a memory2 DB.
"""CollectionRecorder — captures teleop collection streams to a memory DB.

A `Recorder` (memory2) subscribes each declared `In` port and appends every
A `Recorder` (memory) subscribes each declared `In` port and appends every
message to a SQLite store, flushing durably on stop(). Only *connected*
streams are recorded, so the same recorder works for any arm whose
coordinator publishes `coordinator_joint_state`.
Expand All @@ -27,7 +27,7 @@

from dimos.core.stream import In
from dimos.imitation.collection.episode_monitor import EpisodeStatus
from dimos.memory2.module import Recorder, RecorderConfig
from dimos.memory.module import Recorder, RecorderConfig
from dimos.msgs.sensor_msgs.Image import Image
from dimos.msgs.sensor_msgs.JointState import JointState

Expand Down
2 changes: 1 addition & 1 deletion dimos/imitation/dataprep/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
get_writer,
iter_episode_samples,
)
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore
from dimos.utils.logging_config import setup_logger

logger = setup_logger()
Expand Down
4 changes: 2 additions & 2 deletions dimos/imitation/dataprep/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from dimos.protocol.service.spec import BaseConfig

if TYPE_CHECKING:
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory2.stream import Stream
from dimos.memory.store.sqlite import SqliteStore
from dimos.memory.stream import Stream

# Each `formats/<name>/` package's writer/reader expose these, via get_writer/get_inspector.
Writer = Callable[[Iterator["Sample"], "OutputConfig"], Path]
Expand Down
16 changes: 8 additions & 8 deletions dimos/mapping/cli/map.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@

if TYPE_CHECKING:
from dimos.mapping.loop_closure.pgo import PoseGraph
from dimos.memory2.stream import Stream
from dimos.memory2.type.observation import Observation
from dimos.memory.stream import Stream
from dimos.memory.type.observation import Observation
from dimos.msgs.geometry_msgs.Transform import Transform
from dimos.msgs.sensor_msgs.Image import Image
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2

PATH_THICKNESS = 0.01
# Pin pattern (from dimos/memory2/vis/space/rerun.py): thin vertical line
# Pin pattern (from dimos/memory/vis/space/rerun.py): thin vertical line
# from each marker with the label floating at the top so multi-marker
# labels never overlap the boxes.
MARKER_STEM = 1.0
Expand Down Expand Up @@ -183,7 +183,7 @@ def _log_reconstruction(
import rerun as rr
import rerun.blueprint as rrb

from dimos.memory2.vis.color import Color
from dimos.memory.vis.color import Color
from dimos.msgs.geometry_msgs.Transform import Transform

rr.send_blueprint(rrb.Blueprint(rrb.Spatial3DView(origin="world")))
Expand Down Expand Up @@ -421,9 +421,9 @@ def main(
import rerun as rr

from dimos.mapping.loop_closure.pgo import PGO
from dimos.memory2.cli.dataset import open_store, resolve_dataset
from dimos.memory2.transform import QualityWindow, SpeedLimit
from dimos.memory2.utils.progress import progress
from dimos.memory.cli.dataset import open_store, resolve_dataset
from dimos.memory.transform import QualityWindow, SpeedLimit
from dimos.memory.utils.progress import progress
from dimos.msgs.sensor_msgs.CameraInfo import CameraInfo
from dimos.msgs.sensor_msgs.Image import Image
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
Expand All @@ -449,7 +449,7 @@ def main(
# clouds with no tf lookup are dropped. Stored per-frame poses are never
# used for registration — only as trajectory metadata (dedup/path) when
# the tf stream can't provide a position.
from dimos.memory2.tf import StreamTF
from dimos.memory.tf import StreamTF

tf_buf = StreamTF.from_store(store)
# Streams are homogeneous: read the cloud frame from the first observation.
Expand Down
10 changes: 5 additions & 5 deletions dimos/mapping/cli/pose_fill.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
# Heavy dimos imports are deferred (TYPE_CHECKING / inside functions) so that
# `dimos map --help` stays fast. See test_cli_startup.py.
if TYPE_CHECKING:
from dimos.memory2.backend import Backend
from dimos.memory2.stream import Stream
from dimos.memory2.type.observation import Observation
from dimos.memory.backend import Backend
from dimos.memory.stream import Stream
from dimos.memory.type.observation import Observation
from dimos.msgs.geometry_msgs.Transform import Transform


Expand All @@ -64,7 +64,7 @@ def pose_fill(
camera_optical`` so a base-frame odometry source yields an optical-frame
image pose.
"""
from dimos.memory2.type.observation import _to_tuple
from dimos.memory.type.observation import _to_tuple
from dimos.msgs.geometry_msgs.Quaternion import Quaternion
from dimos.msgs.geometry_msgs.Transform import Transform
from dimos.msgs.geometry_msgs.Vector3 import Vector3
Expand Down Expand Up @@ -103,7 +103,7 @@ def pose_fill_db(
rtree spatial index is rebuilt from it on insert). Returns a per-stream
count of observations written.
"""
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory.store.sqlite import SqliteStore

dest_p = Path(dest_path)
if dest_p.exists():
Expand Down
10 changes: 5 additions & 5 deletions dimos/mapping/cli/rename.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Copy a memory2 sqlite recording into a new file, renaming streams.
"""Copy a memory sqlite recording into a new file, renaming streams.

Iterates each source stream and re-appends every observation under its new
name in a fresh destination db. Slower than in-place ``ALTER TABLE`` but
Expand All @@ -31,10 +31,10 @@

import typer

from dimos.memory2.codecs.base import resolve_payload_type
from dimos.memory2.store.sqlite import SqliteStore
from dimos.memory2.stream import Stream
from dimos.memory2.type.observation import Observation
from dimos.memory.codecs.base import resolve_payload_type
from dimos.memory.store.sqlite import SqliteStore
from dimos.memory.stream import Stream
from dimos.memory.type.observation import Observation
from dimos.utils.data import resolve_named_path


Expand Down
Loading
Loading