openrua 0.0.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openrua-0.0.7/.github/workflows/ci.yml +20 -0
- openrua-0.0.7/.gitignore +15 -0
- openrua-0.0.7/.import_linter_cache/.gitignore +2 -0
- openrua-0.0.7/.import_linter_cache/4e5fb42f1cc26b7eee37b8fbc089744a3e24a6da.data.json +1 -0
- openrua-0.0.7/.import_linter_cache/CACHEDIR.TAG +3 -0
- openrua-0.0.7/.import_linter_cache/c326b2aa2abdd2e72f4b667340b88c63f769ce25.data.json +1 -0
- openrua-0.0.7/.import_linter_cache/openrua.meta.json +1 -0
- openrua-0.0.7/.import_linter_cache/robocli.meta.json +1 -0
- openrua-0.0.7/CITATION.cff +9 -0
- openrua-0.0.7/CONTRIBUTING.md +109 -0
- openrua-0.0.7/LICENSE +201 -0
- openrua-0.0.7/PKG-INFO +320 -0
- openrua-0.0.7/README.md +286 -0
- openrua-0.0.7/docs/agents.md +133 -0
- openrua-0.0.7/docs/architecture.md +108 -0
- openrua-0.0.7/docs/cli.md +546 -0
- openrua-0.0.7/docs/config.md +489 -0
- openrua-0.0.7/docs/demos.md +27 -0
- openrua-0.0.7/docs/install.md +127 -0
- openrua-0.0.7/docs/media/.gitkeep +0 -0
- openrua-0.0.7/docs/podman.md +87 -0
- openrua-0.0.7/docs/running-experiments.md +189 -0
- openrua-0.0.7/docs/simulation.md +116 -0
- openrua-0.0.7/docs/your-own-robot.md +125 -0
- openrua-0.0.7/examples/README.md +7 -0
- openrua-0.0.7/examples/first-task.md +120 -0
- openrua-0.0.7/examples/real-robot.md +37 -0
- openrua-0.0.7/openrua/__init__.py +31 -0
- openrua-0.0.7/openrua/__main__.py +7 -0
- openrua-0.0.7/openrua/agents/__init__.py +17 -0
- openrua-0.0.7/openrua/agents/__main__.py +28 -0
- openrua-0.0.7/openrua/agents/base.py +231 -0
- openrua-0.0.7/openrua/agents/credentials.py +45 -0
- openrua-0.0.7/openrua/agents/launcher.py +113 -0
- openrua-0.0.7/openrua/agents/prompts.py +26 -0
- openrua-0.0.7/openrua/agents/registry.py +194 -0
- openrua-0.0.7/openrua/cli/__init__.py +68 -0
- openrua-0.0.7/openrua/cli/commands/__init__.py +9 -0
- openrua-0.0.7/openrua/cli/commands/agent.py +36 -0
- openrua-0.0.7/openrua/cli/commands/bench.py +12 -0
- openrua-0.0.7/openrua/cli/commands/build.py +112 -0
- openrua-0.0.7/openrua/cli/commands/config.py +85 -0
- openrua-0.0.7/openrua/cli/commands/demo.py +76 -0
- openrua-0.0.7/openrua/cli/commands/doctor.py +27 -0
- openrua-0.0.7/openrua/cli/commands/down.py +24 -0
- openrua-0.0.7/openrua/cli/commands/install.py +60 -0
- openrua-0.0.7/openrua/cli/commands/list.py +151 -0
- openrua-0.0.7/openrua/cli/commands/probe.py +82 -0
- openrua-0.0.7/openrua/cli/commands/ps.py +48 -0
- openrua-0.0.7/openrua/cli/commands/run.py +51 -0
- openrua-0.0.7/openrua/cli/commands/up.py +196 -0
- openrua-0.0.7/openrua/cli/output.py +19 -0
- openrua-0.0.7/openrua/cli/state.py +38 -0
- openrua-0.0.7/openrua/config/__init__.py +18 -0
- openrua-0.0.7/openrua/config/loader.py +453 -0
- openrua-0.0.7/openrua/config/paths.py +164 -0
- openrua-0.0.7/openrua/config/schema.py +664 -0
- openrua-0.0.7/openrua/configs/agents/claude-code.yaml +50 -0
- openrua-0.0.7/openrua/configs/agents/codex.yaml +47 -0
- openrua-0.0.7/openrua/configs/benchmarks/calvin/merged_config.yaml +395 -0
- openrua-0.0.7/openrua/configs/benchmarks/calvin.yaml +38 -0
- openrua-0.0.7/openrua/configs/benchmarks/capbench.yaml +148 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero.yaml +58 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_mem/py312.patch +68 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_mem/requirements.txt +119 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_mem.yaml +62 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_plus/py312.patch +22 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_plus/requirements.txt +124 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_plus.yaml +72 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_pro/libero-pro-suites.tar.gz +0 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_pro/requirements.txt +119 -0
- openrua-0.0.7/openrua/configs/benchmarks/libero_pro.yaml +95 -0
- openrua-0.0.7/openrua/configs/benchmarks/maniskill.yaml +39 -0
- openrua-0.0.7/openrua/configs/benchmarks/mikasa/requirements.txt +101 -0
- openrua-0.0.7/openrua/configs/benchmarks/mikasa.yaml +52 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocasa/requirements.txt +78 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocasa.yaml +87 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocasa365/requirements.txt +138 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocasa365.yaml +176 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocerebra/requirements.txt +119 -0
- openrua-0.0.7/openrua/configs/benchmarks/robocerebra.yaml +64 -0
- openrua-0.0.7/openrua/configs/benchmarks/robotwin.yaml +40 -0
- openrua-0.0.7/openrua/configs/benchmarks/simpler.yaml +44 -0
- openrua-0.0.7/openrua/configs/benchmarks/vlabench.yaml +36 -0
- openrua-0.0.7/openrua/configs/config.yaml +6 -0
- openrua-0.0.7/openrua/configs/robots/aloha-agilex.yaml +41 -0
- openrua-0.0.7/openrua/configs/robots/controllers/pandaomron_joint_ctrl.json +29 -0
- openrua-0.0.7/openrua/configs/robots/panda-omron.yaml +35 -0
- openrua-0.0.7/openrua/configs/robots/panda.yaml +30 -0
- openrua-0.0.7/openrua/configs/robots/widowx.yaml +22 -0
- openrua-0.0.7/openrua/configs/simulators/calvin/log-without-git.patch +16 -0
- openrua-0.0.7/openrua/configs/simulators/calvin/requirements.txt +82 -0
- openrua-0.0.7/openrua/configs/simulators/calvin.yaml +35 -0
- openrua-0.0.7/openrua/configs/simulators/maniskill/bridge-joint-mode.patch +41 -0
- openrua-0.0.7/openrua/configs/simulators/maniskill/requirements.txt +100 -0
- openrua-0.0.7/openrua/configs/simulators/maniskill.yaml +54 -0
- openrua-0.0.7/openrua/configs/simulators/robosuite/capx-pyproject.patch +89 -0
- openrua-0.0.7/openrua/configs/simulators/robosuite/requirements.txt +143 -0
- openrua-0.0.7/openrua/configs/simulators/robosuite.yaml +50 -0
- openrua-0.0.7/openrua/configs/simulators/robotwin/eval-without-curobo.patch +68 -0
- openrua-0.0.7/openrua/configs/simulators/robotwin/requirements.txt +123 -0
- openrua-0.0.7/openrua/configs/simulators/robotwin.yaml +44 -0
- openrua-0.0.7/openrua/configs/simulators/vlabench/requirements.txt +120 -0
- openrua-0.0.7/openrua/configs/simulators/vlabench.yaml +43 -0
- openrua-0.0.7/openrua/demo/__init__.py +11 -0
- openrua-0.0.7/openrua/demo/compose.py +493 -0
- openrua-0.0.7/openrua/doctor/__init__.py +13 -0
- openrua-0.0.7/openrua/doctor/checks.py +317 -0
- openrua-0.0.7/openrua/doctor/report.py +57 -0
- openrua-0.0.7/openrua/errors.py +65 -0
- openrua-0.0.7/openrua/plugins/__init__.py +1 -0
- openrua-0.0.7/openrua/plugins/agents/__init__.py +2 -0
- openrua-0.0.7/openrua/plugins/agents/claude_code.py +454 -0
- openrua-0.0.7/openrua/plugins/agents/codex.py +340 -0
- openrua-0.0.7/openrua/proxy/__init__.py +35 -0
- openrua-0.0.7/openrua/proxy/__main__.py +45 -0
- openrua-0.0.7/openrua/proxy/build.py +65 -0
- openrua-0.0.7/openrua/proxy/down.py +32 -0
- openrua-0.0.7/openrua/proxy/proxy.Dockerfile +16 -0
- openrua-0.0.7/openrua/proxy/tinyproxy.conf +16 -0
- openrua-0.0.7/openrua/proxy/up.py +133 -0
- openrua-0.0.7/openrua/robot/__init__.py +78 -0
- openrua-0.0.7/openrua/robot/base.py +28 -0
- openrua-0.0.7/openrua/robot/real/__init__.py +10 -0
- openrua-0.0.7/openrua/robot/real/down.py +38 -0
- openrua-0.0.7/openrua/robot/real/probe.py +147 -0
- openrua-0.0.7/openrua/robot/real/up.py +69 -0
- openrua-0.0.7/openrua/robot/sim/Dockerfile.humble +18 -0
- openrua-0.0.7/openrua/robot/sim/Dockerfile.jazzy +26 -0
- openrua-0.0.7/openrua/robot/sim/__init__.py +11 -0
- openrua-0.0.7/openrua/robot/sim/bridge/__init__.py +23 -0
- openrua-0.0.7/openrua/robot/sim/bridge/catalog.py +43 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/__init__.py +74 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/calvin.py +212 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/frames.py +25 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/maniskill.py +211 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/mujoco.py +123 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/robosuite.py +209 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/robotwin.py +187 -0
- openrua-0.0.7/openrua/robot/sim/bridge/engines/vlabench.py +92 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/__init__.py +55 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/calvin.py +176 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/capbench.py +108 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/libero.py +169 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/maniskill.py +111 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/mikasa.py +144 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/robocasa.py +100 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/robocasa365.py +130 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/robocerebra.py +123 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/robosuite.py +82 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/robotwin.py +180 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/simpler.py +62 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/vlabench.py +76 -0
- openrua-0.0.7/openrua/robot/sim/bridge/environments/worker.py +70 -0
- openrua-0.0.7/openrua/robot/sim/bridge/main.py +181 -0
- openrua-0.0.7/openrua/robot/sim/bridge/plug.py +50 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/__init__.py +13 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/arms.py +18 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/clock.py +22 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/controllers.py +334 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/joints.py +26 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/launch/moveit.launch.py +100 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/launch/panda.srdf +127 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/node.py +39 -0
- openrua-0.0.7/openrua/robot/sim/bridge/ros/sensors.py +326 -0
- openrua-0.0.7/openrua/robot/sim/bridge/rpc.py +254 -0
- openrua-0.0.7/openrua/robot/sim/build.py +67 -0
- openrua-0.0.7/openrua/robot/sim/client.py +91 -0
- openrua-0.0.7/openrua/robot/sim/down.py +30 -0
- openrua-0.0.7/openrua/robot/sim/install.py +127 -0
- openrua-0.0.7/openrua/robot/sim/up.py +230 -0
- openrua-0.0.7/openrua/runner/__init__.py +20 -0
- openrua-0.0.7/openrua/runner/bringup.py +326 -0
- openrua-0.0.7/openrua/runner/lock.py +170 -0
- openrua-0.0.7/openrua/runner/main.py +200 -0
- openrua-0.0.7/openrua/runner/operators.py +213 -0
- openrua-0.0.7/openrua/runner/preflight.py +184 -0
- openrua-0.0.7/openrua/runner/record.py +419 -0
- openrua-0.0.7/openrua/runner/session.py +277 -0
- openrua-0.0.7/openrua/runner/trial.py +319 -0
- openrua-0.0.7/openrua/sandbox/__init__.py +37 -0
- openrua-0.0.7/openrua/sandbox/__main__.py +48 -0
- openrua-0.0.7/openrua/sandbox/build.py +94 -0
- openrua-0.0.7/openrua/sandbox/down.py +30 -0
- openrua-0.0.7/openrua/sandbox/sandbox.Dockerfile +77 -0
- openrua-0.0.7/openrua/sandbox/up.py +218 -0
- openrua-0.0.7/openrua/sandbox/workspace/.gitignore +2 -0
- openrua-0.0.7/openrua/sandbox/workspace/README.md +27 -0
- openrua-0.0.7/openrua/sandbox/workspace/docs/10-machine.md +80 -0
- openrua-0.0.7/openrua/sandbox/workspace/docs/20-perception.md +109 -0
- openrua-0.0.7/openrua/sandbox/workspace/docs/30-action.md +135 -0
- openrua-0.0.7/openrua/sandbox/workspace/docs/40-patterns.md +56 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/README.md +10 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/action/base_goto.py +114 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/action/fjt_send.py +57 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/action/gripper_cmd.py +47 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/action/ik_move.py +112 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/perception/cam_snap.py +46 -0
- openrua-0.0.7/openrua/sandbox/workspace/tools/perception/px2world.py +76 -0
- openrua-0.0.7/openrua/sandbox/workspace.py +216 -0
- openrua-0.0.7/openrua/testing.py +98 -0
- openrua-0.0.7/pyproject.toml +166 -0
- openrua-0.0.7/scripts/render_docs.py +187 -0
- openrua-0.0.7/tests/__init__.py +0 -0
- openrua-0.0.7/tests/agents/__init__.py +0 -0
- openrua-0.0.7/tests/agents/test_agent_boundary.py +68 -0
- openrua-0.0.7/tests/agents/test_agents.py +572 -0
- openrua-0.0.7/tests/agents/test_codex.py +160 -0
- openrua-0.0.7/tests/architecture/__init__.py +0 -0
- openrua-0.0.7/tests/architecture/test_layering.py +106 -0
- openrua-0.0.7/tests/cli/__init__.py +0 -0
- openrua-0.0.7/tests/cli/test_benchmarks_cmd.py +51 -0
- openrua-0.0.7/tests/cli/test_config_cmd.py +72 -0
- openrua-0.0.7/tests/cli/test_errors.py +31 -0
- openrua-0.0.7/tests/cli/test_ps.py +38 -0
- openrua-0.0.7/tests/cli/test_run_verb.py +93 -0
- openrua-0.0.7/tests/config/__init__.py +0 -0
- openrua-0.0.7/tests/config/test_config.py +266 -0
- openrua-0.0.7/tests/config/test_install.py +83 -0
- openrua-0.0.7/tests/config/test_paths.py +70 -0
- openrua-0.0.7/tests/config/test_run_budget.py +35 -0
- openrua-0.0.7/tests/conftest.py +31 -0
- openrua-0.0.7/tests/demo/__init__.py +0 -0
- openrua-0.0.7/tests/demo/test_demo.py +227 -0
- openrua-0.0.7/tests/doctor/__init__.py +0 -0
- openrua-0.0.7/tests/doctor/test_doctor.py +147 -0
- openrua-0.0.7/tests/proxy/__init__.py +0 -0
- openrua-0.0.7/tests/proxy/test_proxy.py +164 -0
- openrua-0.0.7/tests/robot/__init__.py +0 -0
- openrua-0.0.7/tests/robot/test_arms.py +26 -0
- openrua-0.0.7/tests/robot/test_catalog.py +38 -0
- openrua-0.0.7/tests/robot/test_channel.py +78 -0
- openrua-0.0.7/tests/robot/test_engine.py +92 -0
- openrua-0.0.7/tests/robot/test_environment.py +82 -0
- openrua-0.0.7/tests/robot/test_monitor.py +87 -0
- openrua-0.0.7/tests/robot/test_probe.py +50 -0
- openrua-0.0.7/tests/robot/test_robocasa_scenes.py +67 -0
- openrua-0.0.7/tests/robot/test_robot.py +72 -0
- openrua-0.0.7/tests/robot/test_worker.py +68 -0
- openrua-0.0.7/tests/runner/__init__.py +0 -0
- openrua-0.0.7/tests/runner/test_bringup.py +186 -0
- openrua-0.0.7/tests/runner/test_lock.py +68 -0
- openrua-0.0.7/tests/runner/test_preflight.py +153 -0
- openrua-0.0.7/tests/runner/test_record.py +182 -0
- openrua-0.0.7/tests/runner/test_resume_loop.py +282 -0
- openrua-0.0.7/tests/runner/test_run.py +142 -0
- openrua-0.0.7/tests/runner/test_summary.py +41 -0
- openrua-0.0.7/tests/runner/test_trial_real.py +60 -0
- openrua-0.0.7/tests/sandbox/__init__.py +0 -0
- openrua-0.0.7/tests/sandbox/test_run_args.py +26 -0
- openrua-0.0.7/tests/sandbox/test_sandbox.py +272 -0
- openrua-0.0.7/tests/sandbox/test_workspace_template.py +11 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
pull_request:
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
strategy:
|
|
10
|
+
matrix:
|
|
11
|
+
python: ["3.10", "3.12"]
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: ${{ matrix.python }}
|
|
17
|
+
- run: pip install -e '.[dev]'
|
|
18
|
+
- run: lint-imports
|
|
19
|
+
- run: pytest -q
|
|
20
|
+
- run: python scripts/render_docs.py --check
|
openrua-0.0.7/.gitignore
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.pyc
|
|
3
|
+
.pytest_cache/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
.venv/
|
|
8
|
+
|
|
9
|
+
# simulator substrates are built locally (docs/simulation.md), never committed
|
|
10
|
+
substrates/
|
|
11
|
+
|
|
12
|
+
# run data lives on disk, not in git
|
|
13
|
+
runs/
|
|
14
|
+
workspaces/
|
|
15
|
+
data/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"openrua.robot.sim.bridge.catalog":[["openrua.robot.sim.bridge.environments",19,"from . import environments"]],"openrua.cli.commands.install":[["openrua.robot.sim.install",16,"from openrua.robot.sim import install as installer"],["openrua.config.paths",14,"from openrua.config import paths"],["openrua.errors",15,"from openrua.errors import UsageError"],["openrua.config",13,"from openrua import config"]],"openrua.cli.state":[["openrua.config.paths",9,"from openrua.config import paths"],["openrua.errors",10,"from openrua.errors import NotFound"]],"openrua.runner.preflight":[],"openrua.demo.compose":[["openrua.errors",26,"from openrua.errors import NotFound, UnavailableError"]],"openrua.cli.commands.ps":[["openrua.cli.output",9,"from openrua.cli.output import add_json"],["openrua.runner.main",11,"from openrua.runner.main import RUNS_ROOT"],["openrua.runner.lock",10,"from openrua.runner import lock"]],"openrua.cli.commands.down":[["openrua.cli.state",6,"from openrua.cli import state"],["openrua.cli.state",7,"from openrua.cli.state import DEFAULT_NAME"],["openrua.robot",5,"from openrua import robot"],["openrua.sandbox.down",8,"from openrua.sandbox.down import down as sandbox_down"]],"openrua.runner.operators":[["openrua.runner.session",23,"from openrua.runner.session import agent_operator"],["openrua.runner.record",22,"from openrua.runner import record"]],"openrua.robot":[["openrua.robot.sim.up",25,"from openrua.robot.sim.up import up as sim_up"],["openrua.errors",20,"from openrua.errors import ConfigError"],["openrua.robot.base",21,"from openrua.robot.base import Handle # noqa: F401 re-exported"],["openrua.robot.real.up",23,"from openrua.robot.real.up import up as real_up"],["openrua.robot.real.down",22,"from openrua.robot.real.down import down as real_down"],["openrua.robot.sim.down",24,"from openrua.robot.sim.down import down as sim_down"]],"openrua.plugins":[],"openrua.errors":[],"openrua.robot.sim.bridge.environments.worker":[],"openrua.robot.sim.bridge.environments.calvin":[],"openrua.config":[["openrua.config.loader",6,"from openrua.config.loader import ( # noqa: F401"],["openrua.config.schema",11,"from openrua.config.schema import ( # noqa: F401"]],"openrua.robot.real.probe":[],"openrua.agents.prompts":[],"openrua.config.schema":[],"openrua.agents.registry":[["openrua.config.paths",23,"from openrua.config import paths"],["openrua.config",21,"from openrua import config"],["openrua.errors",24,"from openrua.errors import NotFound"],["openrua.agents.base",22,"from openrua.agents.base import Agent, Credentials"]],"openrua.sandbox.workspace":[["openrua.sandbox",20,"from openrua.sandbox import SandboxError"]],"openrua.robot.base":[],"openrua.doctor.checks":[["openrua.proxy",19,"from openrua import agents, config, proxy"],["openrua.doctor.report",21,"from openrua.doctor.report import CheckResult, Report"],["openrua.agents",19,"from openrua import agents, config, proxy"],["openrua.config",20,"from openrua.config import compose, paths"],["openrua.config.paths",20,"from openrua.config import compose, paths"],["openrua.config",19,"from openrua import agents, config, proxy"]],"openrua.runner.trial":[["openrua.config.paths",24,"from openrua.config import paths"],["openrua.runner.lock",26,"from openrua.runner import lock"],["openrua.runner.record",27,"from openrua.runner import record"],["openrua.runner.preflight",29,"from openrua.runner.preflight import run_preflight"],["openrua.proxy.up",25,"from openrua.proxy.up import ensure as ensure_proxy"],["openrua.agents",23,"from openrua import agents"],["openrua.runner.bringup",28,"from openrua.runner.bringup import bring_up, ensure_internal_network, start_episode"],["openrua.sandbox.down",31,"from openrua.sandbox.down import down as sandbox_down"],["openrua.sandbox.workspace",30,"from openrua.sandbox import workspace"]],"openrua.robot.sim.bridge.environments.capbench":[],"openrua.cli.commands.probe":[["openrua.config.schema",17,"from openrua.config.schema import sandbox_image"],["openrua.sandbox.down",16,"from openrua.sandbox.down import down as sandbox_down"],["openrua.errors",13,"from openrua.errors import UsageError"],["openrua.robot.real.probe",14,"from openrua.robot.real.probe import draft_profile, read_graph"],["openrua.runner.bringup",15,"from openrua.runner.bringup import sandbox_reachability"],["openrua.sandbox.up",18,"from openrua.sandbox.up import up as sandbox_up"],["openrua.cli.state",12,"from openrua.cli import state"]],"openrua.robot.sim.bridge.engines.robosuite":[["openrua.robot.sim.bridge.engines.mujoco",22,"from .mujoco import MuJoCo"]],"openrua.robot.sim.bridge.ros.sensors":[["openrua.robot.sim.bridge.ros.joints",32,"from .joints import build_joint_map"],["openrua.robot.sim.bridge.ros.arms",82,"from .arms import arm_specs"],["openrua.robot.sim.bridge.ros.clock",31,"from .clock import sim_time_msg"]],"openrua.robot.sim.bridge.ros.controllers":[["openrua.robot.sim.bridge.ros.arms",30,"from .arms import arm_specs"],["openrua.robot.sim.bridge.ros.joints",31,"from .joints import build_joint_map"]],"openrua.robot.real.down":[],"openrua.__main__":[["openrua.cli",5,"from openrua.cli import main"]],"openrua.robot.sim.bridge.environments.robocasa365":[],"openrua.cli.commands.bench":[["openrua.runner.main",5,"from openrua.runner import main as runner"]],"openrua.robot.sim.install":[["openrua",21,"from openrua import __version__"],["openrua.errors",22,"from openrua.errors import OpenRUAError"]],"openrua.cli.commands.run":[["openrua.cli.state",15,"from openrua.cli import state"],["openrua.errors",17,"from openrua.errors import UnavailableError"],["openrua.cli.commands.up",16,"from openrua.cli.commands import up"],["openrua.agents",14,"from openrua import agents"]],"openrua.robot.sim.bridge.environments.simpler":[["openrua.robot.sim.bridge.environments.maniskill",19,"from .maniskill import _assets_next_to_the_venv, _success, make_kwargs"]],"openrua.robot.sim.up":[["openrua.robot.sim.client",25,"from openrua.robot.sim.client import BridgeClient"]],"openrua.agents.credentials":[["openrua.agents.base",18,"from openrua.agents.base import Agent"]],"openrua.robot.sim.bridge.ros.arms":[],"openrua.proxy.__main__":[],"openrua.robot.sim.bridge.engines.frames":[],"openrua.robot.sim.bridge.environments":[["openrua.robot.sim.bridge.plug",34,"from .. import plug"]],"openrua.cli.commands.demo":[["openrua.demo",7,"from openrua import demo"]],"openrua.robot.sim.bridge.environments.robocasa":[],"openrua.robot.sim.bridge.engines.mujoco":[["openrua.robot.sim.bridge.engines.frames",24,"from .frames import GL2OPTICAL"]],"openrua.robot.sim.bridge.environments.vlabench":[],"openrua.agents.base":[],"openrua.robot.real.up":[["openrua.robot.base",9,"from openrua.robot.base import Handle"],["openrua.robot.real.down",10,"from openrua.robot.real.down import container_name, down, remember"]],"openrua.config.paths":[["openrua.errors",29,"from openrua.errors import NotFound"]],"openrua.robot.sim.bridge.engines.maniskill":[["openrua.robot.sim.bridge.engines.frames",23,"from .frames import GL2OPTICAL, quat_to_mat"]],"openrua.sandbox.__main__":[],"openrua.robot.sim.bridge.engines.vlabench":[["openrua.robot.sim.bridge.engines.mujoco",20,"from .mujoco import MuJoCo"]],"openrua.robot.sim.bridge.engines.robotwin":[["openrua.robot.sim.bridge.engines.frames",23,"from .frames import GL2OPTICAL, quat_to_mat"]],"openrua.robot.sim.down":[],"openrua.robot.real":[],"openrua.plugins.agents.claude_code":[["openrua.agents.base",29,"from openrua.agents.base import Agent"]],"openrua.demo":[["openrua.demo.compose",11,"from openrua.demo.compose import Style, render # noqa: F401"]],"openrua.runner.bringup":[["openrua.proxy.up",22,"from openrua.proxy.up import url_from_network as proxy_url_from_network"],["openrua.robot",18,"from openrua import robot"],["openrua.errors",20,"from openrua.errors import NotFound, UnavailableError"],["openrua.runner.record",23,"from openrua.runner import record"],["openrua.sandbox.down",24,"from openrua.sandbox.down import down as sandbox_down"],["openrua.proxy",21,"from openrua import proxy"],["openrua.config.paths",19,"from openrua.config import paths"],["openrua.sandbox.up",25,"from openrua.sandbox.up import up as sandbox_up"]],"openrua.robot.sim.bridge":[],"openrua.proxy.build":[["openrua.proxy",18,"from openrua.proxy import ProxyError, IMAGE, PORT"]],"openrua.robot.sim.bridge.plug":[],"openrua.robot.sim.bridge.main":[["openrua.robot.sim.bridge.environments.worker",59,"from .environments.worker import Worker"],["openrua.robot.sim.bridge.rpc",32,"from .rpc import Recording"],["openrua.robot.sim.bridge.environments",58,"from . import engines, environments"],["openrua.robot.sim.bridge.engines",58,"from . import engines, environments"],["openrua.robot.sim.bridge.ros.node",60,"from .ros.node import GraphNode"],["openrua.robot.sim.bridge.rpc",61,"from .rpc import ControlChannel, Monitor, Recording"]],"openrua.robot.sim.bridge.ros.joints":[],"openrua.cli.commands.list":[["openrua.config",14,"from openrua.config import compose, paths"],["openrua.config.paths",14,"from openrua.config import compose, paths"],["openrua.cli.output",13,"from openrua.cli.output import add_json, print_listing"],["openrua.agents",12,"from openrua import agents"]],"openrua.robot.sim.bridge.engines.calvin":[["openrua.robot.sim.bridge.engines.frames",27,"from .frames import GL2OPTICAL, quat_to_mat"]],"openrua.robot.sim.bridge.environments.robosuite":[],"openrua.robot.sim.bridge.environments.libero":[],"openrua.cli.commands.build":[["openrua.config",13,"from openrua import agents, config, proxy"],["openrua.proxy.build",15,"from openrua.proxy.build import build as build_proxy"],["openrua.sandbox.build",17,"from openrua.sandbox.build import build as build_sandbox"],["openrua.proxy",13,"from openrua import agents, config, proxy"],["openrua.robot.sim.build",16,"from openrua.robot.sim.build import build as build_robot"],["openrua.agents",13,"from openrua import agents, config, proxy"],["openrua.config.paths",14,"from openrua.config import paths"]],"openrua.proxy.down":[["openrua.proxy",15,"from openrua.proxy import NAME"]],"openrua.robot.sim.bridge.rpc":[],"openrua.runner.main":[["openrua.runner.operators",20,"from openrua.runner.operators import OPERATORS"],["openrua.sandbox.workspace",22,"from openrua.sandbox import workspace"],["openrua.runner.trial",21,"from openrua.runner.trial import run_trial"],["openrua.runner.record",18,"from openrua.runner import record"],["openrua.errors",16,"from openrua.errors import UsageError"],["openrua.config.paths",15,"from openrua.config import paths"],["openrua.agents",12,"from openrua import agents, proxy"],["openrua.config",13,"from openrua.config import (apply_suite_overrides, load_config, normalize_arms,"],["openrua.runner.bringup",19,"from openrua.runner.bringup import simulator_venv"],["openrua.runner.lock",17,"from openrua.runner import lock"],["openrua.proxy",12,"from openrua import agents, proxy"]],"openrua.robot.sim.bridge.environments.mikasa":[["openrua.robot.sim.bridge.environments.maniskill",16,"from .maniskill import _assets_next_to_the_venv, _success, make_kwargs"]],"openrua.robot.sim.bridge.environments.robotwin":[],"openrua.robot.sim.build":[],"openrua.runner":[],"openrua.cli.commands.agent":[["openrua.agents",7,"from openrua import agents"],["openrua.cli.state",8,"from openrua.cli import state"],["openrua.errors",10,"from openrua.errors import UnavailableError"],["openrua.cli.state",9,"from openrua.cli.state import DEFAULT_NAME"]],"openrua":[],"openrua.robot.sim.bridge.engines":[["openrua.robot.sim.bridge.plug",28,"from .. import plug"]],"openrua.runner.lock":[],"openrua.cli":[["openrua.config.paths",31,"from openrua.config import paths"],["openrua.errors",32,"from openrua.errors import OpenRUAError"],["openrua",29,"from openrua import __version__"],["openrua.cli.commands",30,"from openrua.cli.commands import COMMANDS"]],"openrua.testing":[["openrua.agents.registry",20,"from openrua.agents import registry"],["openrua.agents.base",21,"from openrua.agents.base import HOOK_NAMES, Agent, Credentials"]],"openrua.cli.commands":[["openrua.cli.commands.config",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.demo",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.bench",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.agent",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.doctor",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.build",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.run",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.install",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.list",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.probe",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.up",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.down",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"],["openrua.cli.commands.ps",6,"from openrua.cli.commands import (agent, bench, build, config, demo, doctor, down, install,"]],"openrua.robot.sim":[],"openrua.plugins.agents.codex":[["openrua.agents.base",24,"from openrua.agents.base import Agent"]],"openrua.runner.session":[["openrua.agents",32,"from openrua import agents"]],"openrua.plugins.agents":[],"openrua.robot.sim.bridge.ros.node":[["openrua.robot.sim.bridge.ros.sensors",18,"from .sensors import SensorPublishers"],["openrua.robot.sim.bridge.ros.controllers",17,"from .controllers import CommandPorts"]],"openrua.robot.sim.client":[["openrua.robot.base",22,"from openrua.robot.base import Handle"],["openrua.robot.sim.down",23,"from openrua.robot.sim.down import down"]],"openrua.proxy":[["openrua.errors",26,"from openrua.errors import UnavailableError"]],"openrua.doctor":[["openrua.doctor.checks",11,"from openrua.doctor import checks # noqa: F401"],["openrua.doctor.report",13,"from openrua.doctor.report import CheckResult, Report, print_report # noqa: F401"],["openrua.doctor.checks",12,"from openrua.doctor.checks import CHECKS, Context, run # noqa: F401"]],"openrua.robot.sim.bridge.environments.robocerebra":[],"openrua.proxy.up":[["openrua.proxy",25,"from openrua.proxy import ProxyError, IMAGE, NAME"]],"openrua.sandbox":[["openrua.errors",31,"from openrua.errors import UnavailableError"]],"openrua.robot.sim.bridge.ros.clock":[],"openrua.robot.sim.bridge.ros":[],"openrua.agents.__main__":[["openrua.agents.launcher",11,"from openrua.agents import launcher"]],"openrua.cli.commands.up":[["openrua.cli.state",20,"from openrua.cli.state import DEFAULT_NAME"],["openrua.config.paths",22,"from openrua.config import paths"],["openrua.sandbox.down",26,"from openrua.sandbox.down import down as sandbox_down"],["openrua.agents",18,"from openrua import agents"],["openrua.config",21,"from openrua.config import apply_suite_overrides, compose, normalize_arms"],["openrua.runner.bringup",25,"from openrua.runner.bringup import bring_up, ensure_internal_network, start_episode"],["openrua.errors",23,"from openrua.errors import UnavailableError"],["openrua.cli.state",19,"from openrua.cli import state"],["openrua.proxy.up",24,"from openrua.proxy.up import ensure as ensure_proxy"]],"openrua.sandbox.build":[["openrua.sandbox",24,"from openrua.sandbox import SandboxError"]],"openrua.agents":[["openrua.agents.credentials",12,"from openrua.agents.credentials import prepare_profile # noqa: F401"],["openrua.agents.registry",14,"from openrua.agents.registry import ( # noqa: F401"],["openrua.agents.base",11,"from openrua.agents.base import HOOK_NAMES, Agent, Credentials # noqa: F401"],["openrua.agents.prompts",13,"from openrua.agents.prompts import PROMPT, RESUME_PROMPT # noqa: F401"]],"openrua.cli.commands.doctor":[["openrua.cli.output",7,"from openrua.cli.output import add_json"],["openrua.doctor",6,"from openrua import doctor"]],"openrua.doctor.report":[],"openrua.robot.sim.bridge.environments.maniskill":[],"openrua.sandbox.down":[],"openrua.agents.launcher":[["openrua.agents",35,"from openrua import agents"]],"openrua.runner.record":[["openrua",27,"from openrua import __version__ as openrua_version"]],"openrua.cli.commands.config":[["openrua.errors",22,"from openrua.errors import UsageError"],["openrua.config",20,"from openrua import config"],["openrua.config.paths",21,"from openrua.config import paths"]],"openrua.config.loader":[["openrua.config.schema",26,"from openrua.config.schema import (Benchmark, Machine, ResolvedConfig, RobotInstance,"],["openrua.config.paths",25,"from openrua.config import paths"],["openrua.errors",28,"from openrua.errors import ConfigError, UsageError"]],"openrua.sandbox.up":[["openrua.sandbox",37,"from openrua.sandbox import SandboxError"],["openrua.sandbox.workspace",39,"from . import workspace as _workspace"]],"openrua.cli.output":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"robocli.sandbox.build":[["robocli.sandbox",24,"from robocli.sandbox import SandboxError"]],"robocli.doctor.checks":[["robocli.config.paths",21,"from robocli.config import compose, paths"],["robocli.config",21,"from robocli.config import compose, paths"],["robocli.proxy",20,"from robocli import agents, config, proxy"],["robocli.config",20,"from robocli import agents, config, proxy"],["robocli.doctor.report",22,"from robocli.doctor.report import CheckResult, Report"],["robocli.agents",20,"from robocli import agents, config, proxy"]],"robocli":[],"robocli.runner":[],"robocli.robot.sim.bridge.environments.libero":[],"robocli.robot.sim.up":[["robocli.robot.sim.client",25,"from robocli.robot.sim.client import BridgeClient"]],"robocli.testing":[["robocli.agents.base",21,"from robocli.agents.base import HOOK_NAMES, Agent, Credentials"],["robocli.agents.registry",20,"from robocli.agents import registry"]],"robocli.cli.state":[["robocli.config.paths",9,"from robocli.config import paths"],["robocli.errors",10,"from robocli.errors import NotFound"]],"robocli.proxy.down":[["robocli.proxy",15,"from robocli.proxy import NAME"]],"robocli.config.paths":[["robocli.errors",34,"from robocli.errors import NotFound"]],"robocli.runner.trial":[["robocli.runner.bringup",28,"from robocli.runner.bringup import bring_up, ensure_internal_network, start_episode"],["robocli.sandbox.workspace",30,"from robocli.sandbox import workspace"],["robocli.runner.preflight",29,"from robocli.runner.preflight import run_preflight"],["robocli.config.paths",24,"from robocli.config import paths"],["robocli.runner.record",27,"from robocli.runner import record"],["robocli.agents",23,"from robocli import agents"],["robocli.runner.lock",26,"from robocli.runner import lock"],["robocli.sandbox.down",31,"from robocli.sandbox.down import down as sandbox_down"],["robocli.proxy.up",25,"from robocli.proxy.up import ensure as ensure_proxy"]],"robocli.runner.session":[["robocli.agents",32,"from robocli import agents"]],"robocli.cli.commands.demo":[["robocli.demo",7,"from robocli import demo"]],"robocli.robot.sim.bridge.ros.joints":[],"robocli.robot.sim.bridge.environments.capbench":[],"robocli.sandbox.down":[],"robocli.robot.sim.bridge.ros.controllers":[["robocli.robot.sim.bridge.ros.arms",30,"from .arms import arm_specs, arm_targets"],["robocli.robot.sim.bridge.ros.joints",31,"from .joints import build_joint_map"]],"robocli.robot.sim.bridge.main":[["robocli.robot.sim.bridge.environments.worker",58,"from .environments.worker import Worker"],["robocli.robot.sim.bridge.rpc",31,"from .rpc import Recording"],["robocli.robot.sim.bridge.ros.node",59,"from .ros.node import GraphNode"],["robocli.robot.sim.bridge.rpc",60,"from .rpc import ControlChannel, Monitor, Recording"],["robocli.robot.sim.bridge.environments",57,"from . import environments"]],"robocli.agents":[["robocli.agents.registry",14,"from robocli.agents.registry import ( # noqa: F401"],["robocli.agents.prompts",13,"from robocli.agents.prompts import PROMPT, RESUME_PROMPT # noqa: F401"],["robocli.agents.base",11,"from robocli.agents.base import HOOK_NAMES, Agent, Credentials # noqa: F401"],["robocli.agents.credentials",12,"from robocli.agents.credentials import prepare_profile # noqa: F401"]],"robocli.proxy.up":[["robocli.proxy",25,"from robocli.proxy import ProxyError, IMAGE, NAME"]],"robocli.runner.bringup":[["robocli.proxy.up",20,"from robocli.proxy.up import url_from_network as proxy_url_from_network"],["robocli.robot",16,"from robocli import robot"],["robocli.config.paths",17,"from robocli.config import paths"],["robocli.errors",18,"from robocli.errors import NotFound"],["robocli.runner.record",21,"from robocli.runner import record"],["robocli.proxy",19,"from robocli import proxy"],["robocli.sandbox.up",23,"from robocli.sandbox.up import up as sandbox_up"],["robocli.sandbox.down",22,"from robocli.sandbox.down import down as sandbox_down"]],"robocli.config.loader":[["robocli.config.schema",22,"from robocli.config.schema import Benchmark, ResolvedConfig, RobotProfile, UserConfig"],["robocli.config.paths",21,"from robocli.config import paths"],["robocli.errors",23,"from robocli.errors import ConfigError, UsageError"]],"robocli.cli.commands.doctor":[["robocli.cli.output",6,"from robocli.cli.output import add_json"],["robocli.doctor",5,"from robocli import doctor"]],"robocli.doctor.report":[],"robocli.robot.sim.bridge.ros.node":[["robocli.robot.sim.bridge.ros.controllers",17,"from .controllers import CommandPorts"],["robocli.robot.sim.bridge.ros.sensors",18,"from .sensors import SensorPublishers"]],"robocli.doctor":[["robocli.doctor.checks",11,"from robocli.doctor import checks # noqa: F401"],["robocli.doctor.report",13,"from robocli.doctor.report import CheckResult, Report, print_report # noqa: F401"],["robocli.doctor.checks",12,"from robocli.doctor.checks import CHECKS, Context, run # noqa: F401"]],"robocli.robot.sim.client":[["robocli.robot.base",22,"from robocli.robot.base import Handle"],["robocli.robot.sim.down",23,"from robocli.robot.sim.down import down"]],"robocli.sandbox":[["robocli.errors",31,"from robocli.errors import UnavailableError"]],"robocli.robot.real.down":[],"robocli.robot.sim.bridge.environments.worker":[],"robocli.cli.commands.agent":[["robocli.agents",7,"from robocli import agents"],["robocli.cli.state",9,"from robocli.cli.state import DEFAULT_NAME"],["robocli.errors",10,"from robocli.errors import UnavailableError"],["robocli.cli.state",8,"from robocli.cli import state"]],"robocli.sandbox.up":[["robocli.sandbox.workspace",39,"from . import workspace as _workspace"],["robocli.sandbox",37,"from robocli.sandbox import SandboxError"]],"robocli.agents.prompts":[],"robocli.robot.sim.bridge.ros.sensors":[["robocli.robot.sim.bridge.ros.arms",77,"from .arms import arm_specs"],["robocli.robot.sim.bridge.ros.clock",28,"from .clock import sim_time_msg"],["robocli.robot.sim.bridge.ros.joints",29,"from .joints import build_joint_map"]],"robocli.cli.output":[],"robocli.plugins":[],"robocli.cli.commands.ps":[["robocli.runner.main",11,"from robocli.runner.main import RUNS_ROOT"],["robocli.runner.lock",10,"from robocli.runner import lock"],["robocli.cli.output",9,"from robocli.cli.output import add_json"]],"robocli.cli.commands.list":[["robocli.cli.output",10,"from robocli.cli.output import add_json, print_listing"],["robocli.agents",9,"from robocli import agents"],["robocli.config.paths",11,"from robocli.config import paths"]],"robocli.robot.sim.bridge.ros.arms":[],"robocli.robot.sim.bridge.rpc":[],"robocli.proxy.__main__":[],"robocli.robot.sim.bridge.environments":[["robocli.robot.sim.bridge.environments.capbench",26,"from .capbench import CapBenchLoader"],["robocli.robot.sim.bridge.environments.libero",27,"from .libero import LiberoLoader"],["robocli.robot.sim.bridge.environments.robocasa",28,"from .robocasa import RoboCasaLoader"]],"robocli.__main__":[["robocli.cli",5,"from robocli.cli import main"]],"robocli.agents.launcher":[["robocli.agents",35,"from robocli import agents"]],"robocli.robot":[["robocli.robot.real.down",22,"from robocli.robot.real.down import down as real_down"],["robocli.robot.base",21,"from robocli.robot.base import Handle # noqa: F401 re-exported"],["robocli.errors",20,"from robocli.errors import ConfigError"],["robocli.robot.sim.down",24,"from robocli.robot.sim.down import down as sim_down"],["robocli.robot.real.up",23,"from robocli.robot.real.up import up as real_up"],["robocli.robot.sim.up",25,"from robocli.robot.sim.up import up as sim_up"]],"robocli.robot.sim.bridge.environments.robocasa":[],"robocli.runner.record":[["robocli",27,"from robocli import __version__ as robocli_version"]],"robocli.sandbox.workspace":[["robocli.sandbox",20,"from robocli.sandbox import SandboxError"]],"robocli.agents.__main__":[["robocli.agents.launcher",11,"from robocli.agents import launcher"]],"robocli.robot.base":[],"robocli.agents.registry":[["robocli.errors",24,"from robocli.errors import NotFound"],["robocli.config",21,"from robocli import config"],["robocli.config.paths",23,"from robocli.config import paths"],["robocli.agents.base",22,"from robocli.agents.base import Agent, Credentials"]],"robocli.demo.compose":[["robocli.errors",26,"from robocli.errors import NotFound, UnavailableError"]],"robocli.cli.commands.run":[["robocli.runner.main",5,"from robocli.runner import main as runner"]],"robocli.cli.commands.down":[["robocli.cli.state",6,"from robocli.cli import state"],["robocli.sandbox.down",8,"from robocli.sandbox.down import down as sandbox_down"],["robocli.cli.state",7,"from robocli.cli.state import DEFAULT_NAME"],["robocli.robot",5,"from robocli import robot"]],"robocli.demo":[["robocli.demo.compose",11,"from robocli.demo.compose import Style, render # noqa: F401"]],"robocli.cli.commands.build":[["robocli.sandbox.build",17,"from robocli.sandbox.build import build as build_sandbox"],["robocli.robot.sim.build",16,"from robocli.robot.sim.build import build as build_robot"],["robocli.proxy.build",15,"from robocli.proxy.build import build as build_proxy"],["robocli.proxy",13,"from robocli import agents, config, proxy"],["robocli.config.paths",14,"from robocli.config import paths"],["robocli.agents",13,"from robocli import agents, config, proxy"],["robocli.config",13,"from robocli import agents, config, proxy"]],"robocli.robot.real":[],"robocli.robot.sim.bridge.ros":[],"robocli.runner.main":[["robocli.sandbox.workspace",22,"from robocli.sandbox import workspace"],["robocli.runner.lock",17,"from robocli.runner import lock"],["robocli.config.paths",15,"from robocli.config import paths"],["robocli.errors",16,"from robocli.errors import UsageError"],["robocli.runner.operators",20,"from robocli.runner.operators import OPERATORS"],["robocli.config",13,"from robocli.config import (apply_suite_overrides, load_config, normalize_arms,"],["robocli.runner.bringup",19,"from robocli.runner.bringup import simulator_venv"],["robocli.runner.record",18,"from robocli.runner import record"],["robocli.proxy",12,"from robocli import agents, proxy"],["robocli.runner.trial",21,"from robocli.runner.trial import run_trial"],["robocli.agents",12,"from robocli import agents, proxy"]],"robocli.runner.preflight":[],"robocli.robot.sim.build":[],"robocli.errors":[],"robocli.cli.commands.up":[["robocli.proxy.up",20,"from robocli.proxy.up import ensure as ensure_proxy"],["robocli.errors",19,"from robocli.errors import UnavailableError"],["robocli.config",17,"from robocli.config import apply_suite_overrides, compose, normalize_arms"],["robocli.cli.state",16,"from robocli.cli.state import DEFAULT_NAME"],["robocli.cli.state",15,"from robocli.cli import state"],["robocli.sandbox.down",22,"from robocli.sandbox.down import down as sandbox_down"],["robocli.agents",14,"from robocli import agents"],["robocli.runner.bringup",21,"from robocli.runner.bringup import bring_up, ensure_internal_network, start_episode"],["robocli.config.paths",18,"from robocli.config import paths"]],"robocli.robot.real.probe":[],"robocli.cli.commands":[["robocli.cli.commands.build",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.down",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.ps",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.probe",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.list",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.run",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.doctor",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.up",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.agent",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.demo",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"],["robocli.cli.commands.config",6,"from robocli.cli.commands import (agent, build, config, demo, doctor, down, list, probe,"]],"robocli.robot.real.up":[["robocli.robot.real.down",10,"from robocli.robot.real.down import container_name, down, remember"],["robocli.robot.base",9,"from robocli.robot.base import Handle"]],"robocli.robot.sim":[],"robocli.plugins.agents":[],"robocli.sandbox.__main__":[],"robocli.config.schema":[],"robocli.robot.sim.bridge":[],"robocli.agents.base":[],"robocli.plugins.agents.codex":[["robocli.agents.base",24,"from robocli.agents.base import Agent"]],"robocli.robot.sim.bridge.ros.clock":[],"robocli.proxy":[["robocli.errors",26,"from robocli.errors import UnavailableError"]],"robocli.runner.lock":[],"robocli.plugins.agents.claude_code":[["robocli.agents.base",29,"from robocli.agents.base import Agent"]],"robocli.cli.commands.config":[["robocli.config",7,"from robocli import config"]],"robocli.proxy.build":[["robocli.proxy",18,"from robocli.proxy import ProxyError, IMAGE, PORT"]],"robocli.cli":[["robocli.errors",30,"from robocli.errors import RoboCLIError"],["robocli.cli.commands",28,"from robocli.cli.commands import COMMANDS"],["robocli",27,"from robocli import __version__"],["robocli.config.paths",29,"from robocli.config import paths"]],"robocli.robot.sim.down":[],"robocli.cli.commands.probe":[["robocli.sandbox.up",18,"from robocli.sandbox.up import up as sandbox_up"],["robocli.cli.state",12,"from robocli.cli import state"],["robocli.errors",13,"from robocli.errors import UsageError"],["robocli.robot.real.probe",14,"from robocli.robot.real.probe import draft_profile, read_graph"],["robocli.runner.bringup",15,"from robocli.runner.bringup import sandbox_reachability"],["robocli.config.schema",17,"from robocli.config.schema import sandbox_image"],["robocli.sandbox.down",16,"from robocli.sandbox.down import down as sandbox_down"]],"robocli.config":[["robocli.config.schema",11,"from robocli.config.schema import ( # noqa: F401"],["robocli.config.loader",6,"from robocli.config.loader import ( # noqa: F401"]],"robocli.runner.operators":[["robocli.runner.session",23,"from robocli.runner.session import agent_operator"],["robocli.runner.record",22,"from robocli.runner import record"]],"robocli.agents.credentials":[["robocli.agents.base",18,"from robocli.agents.base import Agent"]]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"openrua.config": 1788967699.5695477, "openrua.robot.sim.bridge.plug": 1788974239.5554616, "openrua.robot.sim.bridge.environments.mikasa": 1788977318.6762555, "openrua.runner.session": 1788905438.5498307, "openrua.robot.sim.bridge.environments.worker": 1788727001.2803745, "openrua.robot.sim.bridge.environments.capbench": 1788969736.3346407, "openrua.config.paths": 1788974239.5464618, "openrua.robot.sim.bridge.environments": 1788974239.547462, "openrua.cli.commands.ps": 1788909084.0440445, "openrua.robot.sim.client": 1788905438.5478306, "openrua.cli.commands.doctor": 1788941758.6390378, "openrua.errors": 1788905438.5448306, "openrua.cli.commands.build": 1788967699.5705476, "openrua.cli.state": 1788905438.5408304, "openrua.cli.commands.demo": 1788980412.797823, "openrua.robot.sim.build": 1788905438.5478306, "openrua.robot.sim.bridge.environments.robotwin": 1788984794.3164234, "openrua.sandbox.build": 1788905438.5508306, "openrua.agents": 1788905438.5378304, "openrua.sandbox": 1788905438.5508306, "openrua.cli.commands": 1788958623.4433427, "openrua.robot.sim.down": 1788792454.880783, "openrua.cli.commands.down": 1788905438.5398304, "openrua.robot.real.probe": 1788941758.6420376, "openrua.cli.commands.agent": 1788905438.5398304, "openrua.cli.commands.bench": 1788909048.7427628, "openrua.robot.sim.bridge.main": 1788980391.9673042, "openrua.testing": 1788957851.7957115, "openrua.robot.sim.bridge": 1788974239.547462, "openrua.robot.sim.bridge.environments.vlabench": 1788981626.0785527, "openrua.sandbox.__main__": 1788905438.5508306, "openrua.robot.sim.bridge.ros.clock": 1788820470.275341, "openrua": 1788905438.5378304, "openrua.sandbox.down": 1788905438.5508306, "openrua.plugins.agents": 1788905438.5448306, "openrua.robot.sim.install": 1788962613.3858721, "openrua.robot.sim.up": 1788980391.9683044, "openrua.doctor": 1788905438.5438304, "openrua.runner.record": 1788980391.9693043, "openrua.runner.preflight": 1788905438.5498307, "openrua.sandbox.up": 1788905438.5518305, "openrua.robot.sim.bridge.ros.controllers": 1788978770.8965034, "openrua.robot.sim.bridge.ros.node": 1788974239.548462, "openrua.robot.sim.bridge.rpc": 1788982652.5306983, "openrua.robot.sim.bridge.catalog": 1788969654.6436005, "openrua.__main__": 1788905438.5378304, "openrua.cli.commands.install": 1788958623.4113433, "openrua.robot.sim.bridge.environments.libero": 1788968740.172672, "openrua.robot.sim.bridge.engines.maniskill": 1788984333.0009444, "openrua.agents.credentials": 1788905438.5388303, "openrua.cli.commands.config": 1788967699.5715475, "openrua.cli": 1788944056.2154927, "openrua.robot": 1788980391.9683044, "openrua.config.schema": 1788975708.5676157, "openrua.robot.sim.bridge.environments.simpler": 1788984889.8862405, "openrua.robot.sim.bridge.ros.sensors": 1788978770.8955035, "openrua.agents.base": 1788905438.5378304, "openrua.robot.sim.bridge.environments.robocerebra": 1788969654.6436005, "openrua.robot.sim.bridge.ros": 1788974239.547462, "openrua.agents.prompts": 1788725134.5715678, "openrua.sandbox.workspace": 1788905438.5518305, "openrua.doctor.report": 1788905438.5448306, "openrua.runner.bringup": 1788980391.9683044, "openrua.runner.main": 1788980391.9693043, "openrua.config.loader": 1788975708.568616, "openrua.robot.real.up": 1788905438.5468304, "openrua.robot.real": 1788725669.2626863, "openrua.cli.commands.list": 1788969736.3346407, "openrua.runner.lock": 1788909084.0450444, "openrua.robot.sim.bridge.ros.arms": 1788974239.547462, "openrua.runner": 1788909084.0450444, "openrua.plugins.agents.codex": 1788905438.5448306, "openrua.proxy.up": 1788905438.5458305, "openrua.proxy": 1788905438.5458305, "openrua.proxy.__main__": 1788905438.5458305, "openrua.robot.sim.bridge.environments.maniskill": 1788977219.6445565, "openrua.plugins": 1788725134.5715678, "openrua.robot.real.down": 1788729376.7512674, "openrua.demo.compose": 1788980391.9703043, "openrua.agents.__main__": 1788905438.5378304, "openrua.agents.launcher": 1788905438.5388303, "openrua.robot.base": 1788725669.2626863, "openrua.robot.sim.bridge.environments.robocasa365": 1788968851.989951, "openrua.cli.commands.probe": 1788905438.5408304, "openrua.robot.sim.bridge.environments.robocasa": 1788968851.989951, "openrua.robot.sim": 1788725669.2626863, "openrua.cli.commands.run": 1788941758.6400378, "openrua.plugins.agents.claude_code": 1788905438.5448306, "openrua.doctor.checks": 1788967699.5705476, "openrua.robot.sim.bridge.engines": 1788978770.8955035, "openrua.agents.registry": 1788957878.050081, "openrua.proxy.build": 1788905438.5458305, "openrua.robot.sim.bridge.environments.calvin": 1788985144.16743, "openrua.robot.sim.bridge.engines.frames": 1788984332.970945, "openrua.robot.sim.bridge.engines.robotwin": 1788984333.0009444, "openrua.runner.operators": 1788905438.5488305, "openrua.demo": 1788905438.5438304, "openrua.robot.sim.bridge.engines.mujoco": 1788984333.0019443, "openrua.robot.sim.bridge.ros.joints": 1788974239.548462, "openrua.robot.sim.bridge.engines.calvin": 1788984333.0019443, "openrua.robot.sim.bridge.engines.robosuite": 1788981546.4134097, "openrua.robot.sim.bridge.environments.robosuite": 1788969654.6436005, "openrua.cli.commands.up": 1788967699.5705476, "openrua.cli.output": 1788957851.7957115, "openrua.proxy.down": 1788905438.5458305, "openrua.robot.sim.bridge.engines.vlabench": 1788981626.0775528, "openrua.runner.trial": 1788980391.9693043}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"robocli.runner.operators": 1788819659.220531, "robocli.robot.sim.bridge.ros.joints": 1786992293.2659962, "robocli.plugins.agents.codex": 1788793601.7058163, "robocli.config.paths": 1788795524.9929934, "robocli.config.schema": 1788813897.13921, "robocli.cli.commands.build": 1788800412.197063, "robocli.proxy.build": 1788800412.197063, "robocli.sandbox.up": 1788799730.6988916, "robocli.config.loader": 1788734623.343219, "robocli.robot.sim.bridge.ros.clock": 1786990195.6805933, "robocli.runner.bringup": 1788814141.9115882, "robocli.runner.lock": 1788820071.566641, "robocli.__main__": 1788727001.2813745, "robocli.robot.sim.bridge.ros.sensors": 1788727001.2803745, "robocli.doctor": 1788726304.620388, "robocli.cli.commands.down": 1788726304.619388, "robocli.robot.real.probe": 1788799779.7646737, "robocli.cli.commands.agent": 1788726304.619388, "robocli.demo": 1788814298.8459892, "robocli.cli.commands.probe": 1788799730.6998916, "robocli.runner.trial": 1788814141.9115882, "robocli.cli.commands.up": 1788793601.7068162, "robocli.robot": 1788813879.6026134, "robocli.robot.sim.bridge.main": 1788813879.6026134, "robocli.cli.commands": 1788818233.3359709, "robocli.proxy.down": 1788800480.2803884, "robocli.runner.preflight": 1788726574.6728866, "robocli.proxy.up": 1788800412.197063, "robocli.robot.sim.bridge.ros.node": 1788724066.728387, "robocli.doctor.checks": 1788800412.198063, "robocli.agents": 1788732721.8170292, "robocli.demo.compose": 1788819659.219531, "robocli.sandbox.__main__": 1788792454.880783, "robocli.config": 1788725956.3787725, "robocli.cli.commands.list": 1788726304.619388, "robocli.plugins": 1788725134.5715678, "robocli.sandbox.down": 1788299773.9265685, "robocli.errors": 1788719725.5007482, "robocli.sandbox": 1788726818.9160068, "robocli.robot.sim.bridge.ros.arms": 1788792454.8787832, "robocli.sandbox.workspace": 1788792454.880783, "robocli.runner": 1788726765.152301, "robocli.agents.registry": 1788792454.8797832, "robocli.robot.real.up": 1788729376.7512674, "robocli.robot.sim.bridge.environments.worker": 1788727001.2803745, "robocli.cli.commands.config": 1788726304.619388, "robocli.runner.main": 1788818252.91655, "robocli.robot.sim.bridge.ros": 1786990195.6805933, "robocli.agents.__main__": 1788792454.880783, "robocli.cli.commands.doctor": 1788732796.7642937, "robocli.robot.sim": 1788725669.2626863, "robocli.cli.commands.demo": 1788819659.220531, "robocli.robot.sim.bridge.ros.controllers": 1788727001.2803745, "robocli.robot.real": 1788725669.2626863, "robocli.cli.output": 1788726304.619388, "robocli.robot.base": 1788725669.2626863, "robocli.cli.commands.run": 1788726304.619388, "robocli.testing": 1788727001.2823744, "robocli.robot.sim.up": 1788813879.6026134, "robocli.robot.sim.bridge.rpc": 1788813879.6026134, "robocli.plugins.agents.claude_code": 1788813978.362343, "robocli.robot.sim.bridge.environments.libero": 1788792454.8787832, "robocli.agents.prompts": 1788725134.5715678, "robocli.robot.sim.down": 1788792454.880783, "robocli.proxy.__main__": 1788792454.880783, "robocli.runner.session": 1788800412.1990628, "robocli.agents.credentials": 1788725134.5715678, "robocli.doctor.report": 1788726304.619388, "robocli.robot.real.down": 1788729376.7512674, "robocli.robot.sim.client": 1788725669.2626863, "robocli.runner.record": 1788818252.91655, "robocli.robot.sim.bridge.environments": 1788727421.529236, "robocli.robot.sim.bridge.environments.robocasa": 1788727001.2803745, "robocli.cli.state": 1788726304.619388, "robocli.robot.sim.build": 1788727421.529236, "robocli.agents.launcher": 1788800412.1990628, "robocli.robot.sim.bridge": 1788725669.2626863, "robocli.agents.base": 1788814003.5547645, "robocli.plugins.agents": 1788725134.5715678, "robocli": 1788796972.4968114, "robocli.sandbox.build": 1788799730.6968918, "robocli.cli": 1788814100.0575488, "robocli.proxy": 1788800412.196063, "robocli.cli.commands.ps": 1788818320.65909, "robocli.robot.sim.bridge.environments.capbench": 1788727001.2813745}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use this software, please cite it as below. The paper will be released soon."
|
|
3
|
+
type: software
|
|
4
|
+
title: OpenRUA
|
|
5
|
+
authors:
|
|
6
|
+
- name: Terminal World Labs
|
|
7
|
+
repository-code: https://github.com/terminalworld/OpenRUA
|
|
8
|
+
license: Apache-2.0
|
|
9
|
+
date-released: 2026-09-06
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
## Setting up
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
git clone https://github.com/terminalworld/OpenRUA && cd OpenRUA
|
|
7
|
+
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
|
|
8
|
+
.venv/bin/pytest -q && .venv/bin/lint-imports
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Both commands must pass before a pull request. `pytest` includes the
|
|
12
|
+
layering contract (`tests/architecture/test_layering.py`) and the agent
|
|
13
|
+
boundary (`tests/agents/test_agent_boundary.py`); `lint-imports` checks
|
|
14
|
+
the same contract from `pyproject.toml`. Tests live in one directory
|
|
15
|
+
per unit (`tests/<unit>/`).
|
|
16
|
+
|
|
17
|
+
## Adding things
|
|
18
|
+
|
|
19
|
+
- **A robot**: a type under `openrua/configs/robots/<name>.yaml` (facts true
|
|
20
|
+
of it anywhere) and, for simulation, an entry under the simulator's
|
|
21
|
+
`robots:` (docs/your-own-robot.md, docs/simulation.md). `openrua doctor
|
|
22
|
+
<name> --sim <engine>` must load it; `tests/config/test_config.py`
|
|
23
|
+
validates every bundled file.
|
|
24
|
+
- **A simulator**: a file under `openrua/configs/simulators/<engine>.yaml` and
|
|
25
|
+
the engine module its `entry_point` names (under
|
|
26
|
+
`openrua/robot/sim/bridge/engines/`, exposing `ENGINE`: how joints,
|
|
27
|
+
poses and cameras are read and actions assembled; the test suite fails
|
|
28
|
+
an engine with a name of `ENGINE_INTERFACE` missing). It embodies
|
|
29
|
+
robots and loads a native scene; it knows no benchmark.
|
|
30
|
+
- **An agent**: a manifest under `openrua/configs/agents/<name>.yaml`
|
|
31
|
+
and a module under `openrua/plugins/agents/<name>.py` named by its `entry_point`
|
|
32
|
+
(docs/agents.md). `openrua.testing.check_manifest` must pass; the
|
|
33
|
+
bundled agents run through it in `tests/agents/test_agents.py`. Nothing
|
|
34
|
+
outside those two directories may name the agent (the boundary
|
|
35
|
+
test lists the banned tokens).
|
|
36
|
+
- **A benchmark**: a config under `openrua/configs/benchmarks/<name>.yaml`
|
|
37
|
+
naming its robot and simulator, its loader (`entry_point`, a module
|
|
38
|
+
under `openrua/robot/sim/bridge/environments/` exposing `LOADER`: how
|
|
39
|
+
its scenes are built, reset and scored) and its world (`install:` with
|
|
40
|
+
pinned checkouts, a Python version and a requirements lock next to the
|
|
41
|
+
yaml, so `openrua install --bench <name>` builds it; `scenes:`).
|
|
42
|
+
`tests/config/test_install.py` checks every bundled declaration is
|
|
43
|
+
complete and its files ship.
|
|
44
|
+
- **A config key**: add it to `openrua/config/schema.py` with a default and a
|
|
45
|
+
description; unknown keys are errors everywhere, so the schema is
|
|
46
|
+
the single place a key exists.
|
|
47
|
+
|
|
48
|
+
## Command-line conventions
|
|
49
|
+
|
|
50
|
+
- The main object is a positional argument; configuration is a flag:
|
|
51
|
+
`openrua up panda --sim robosuite --ros-domain 7`, `openrua doctor ur5e --json`.
|
|
52
|
+
An optional filter, mode or setting stays a flag even when it is
|
|
53
|
+
usually given.
|
|
54
|
+
- Every argument has `help=`, and the help says where the default comes
|
|
55
|
+
from (`default: the profile's`, `default: ~/.openrua`).
|
|
56
|
+
- Every command has both `help` (one line, in `openrua --help`) and
|
|
57
|
+
`description` (a sentence or two, in `openrua <verb> --help`).
|
|
58
|
+
Registration order in `build_parser` is the `--help` order.
|
|
59
|
+
- Listings take `--json`; `doctor` prints JSON whenever stdout is not
|
|
60
|
+
a terminal.
|
|
61
|
+
- Errors are `openrua.errors` subclasses raised from library code with
|
|
62
|
+
a `hint`; only the entry point prints and exits (sysexits codes).
|
|
63
|
+
Never `SystemExit` from a library function.
|
|
64
|
+
|
|
65
|
+
## Naming
|
|
66
|
+
|
|
67
|
+
- Directories and modules take the word the ecosystem already uses for
|
|
68
|
+
the role: `configs/`, `plugins/`, `runner/`, `preflight`, `backend`,
|
|
69
|
+
`registry`, `loader`, `schema`, `manifest`, `hooks`, `operators`,
|
|
70
|
+
`session`. A name must be understood without reading the code.
|
|
71
|
+
- No project-private metaphors in names or prose (no seats, houses,
|
|
72
|
+
walls, occupants, conductors, examiners). The agent is the agent, the
|
|
73
|
+
sandbox is the sandbox, the proxy is the proxy.
|
|
74
|
+
- One noun per thing: the file a trial resolves to is the resolved
|
|
75
|
+
config (`config.yaml`), the checks before the agent starts are
|
|
76
|
+
preflight, the simulator checkout is the simulator.
|
|
77
|
+
|
|
78
|
+
## Writing
|
|
79
|
+
|
|
80
|
+
- Comments and docstrings state the mechanism and the invariant it
|
|
81
|
+
protects, and nothing else: no dates, ticket or audit identifiers,
|
|
82
|
+
decision records, or the history of how a line came to be. That
|
|
83
|
+
history belongs in git.
|
|
84
|
+
- Plain words, no dashes as punctuation, no emphasis in capitals.
|
|
85
|
+
- A docstring says what the unit does for its caller; a comment says
|
|
86
|
+
why a line is the way it is when the code alone cannot.
|
|
87
|
+
|
|
88
|
+
## Docs
|
|
89
|
+
|
|
90
|
+
`docs/` is flat; the README's Documentation table lists every page in
|
|
91
|
+
reading order, users first, contributors last. Each page starts with
|
|
92
|
+
front matter: a one-line `summary` and a `read_when` list, so a reader
|
|
93
|
+
knows in two lines whether the page is for them. `docs/cli.md` and
|
|
94
|
+
`docs/config.md` are generated (`python scripts/render_docs.py`; CI
|
|
95
|
+
runs `--check`), so a verb's help text and a schema field's
|
|
96
|
+
`description` are the only places to write them. Worked examples live
|
|
97
|
+
in `examples/`.
|
|
98
|
+
|
|
99
|
+
## Style
|
|
100
|
+
|
|
101
|
+
- Every file runs on its own with parameters in and values or files
|
|
102
|
+
out; units talk through parameters and files, never environment
|
|
103
|
+
variables (the one exception is `OPENRUA_HOME`, read once at the
|
|
104
|
+
CLI entry point).
|
|
105
|
+
- Knowledge lives in one place: an agent fact in its manifest or hooks
|
|
106
|
+
module, a path rule in `config/paths.py`, a config key in
|
|
107
|
+
`config/schema.py`.
|
|
108
|
+
- Fail loud with the fix in the message; never return a dead artifact
|
|
109
|
+
silently.
|
openrua-0.0.7/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright [yyyy] [name of copyright owner]
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|