gridfleet-agent 0.2.2__tar.gz → 0.2.3__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.
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/CHANGELOG.md +7 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/PKG-INFO +1 -1
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/pyproject.toml +1 -1
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_plan.py +3 -3
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/uv.lock +1 -1
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/.gitignore +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/README.md +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/__init__.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/appium_process.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/capabilities.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/cli.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/config.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/driver_doctor.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/host_telemetry.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/__init__.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/install.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/plan.py +2 -2
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/status.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/uninstall.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/installer/update.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/main.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/observability.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/__init__.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/adapter_dispatch.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/adapter_loader.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/adapter_registry.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/adapter_types.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/adapter_utils.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/discovery.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/dispatch.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/host_identity.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/manifest.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/runtime.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/runtime_policy.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/runtime_registry.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/sidecar_supervisor.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/state.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/tarball_fetch.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/pack/version_catalog.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/plugin_manager.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/py.typed +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/registration.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/terminal_pty.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/terminal_ws.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/tool_paths.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/tool_utils.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/tools_manager.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/agent_app/version_guidance.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/__init__.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_cli_install.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_install.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_status.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_uninstall.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/installer/test_update.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/__init__.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/conftest.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_dispatch.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_loader.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_loader_cancel_path_leak.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_loader_concurrent_load.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_tarball_auth.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_utils.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_wiring.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_appium_process_integration.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_desired_manifest_features.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_feature_action_routes.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_host_identity.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_manifest_parser.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_pack_discovery_endpoint.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_pack_state.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_pack_state_client_auth.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_pack_state_sidecar_reconcile.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_github.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_isolated_failures.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_manager.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_plugins.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_policy.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_sidecar_supervisor.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_sidecar_supervisor_poll_stop_race.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_state_loop.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_state_loop_wired.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_tarball_fetch.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_tarball_fetch_concurrent_dedup.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_version_catalog.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_agent_api.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_agent_api_more.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_port_alloc_race.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_restart_stop_race.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_stop_start_lock_race.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_watch_stop_race.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_capabilities.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_capabilities_more.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_cli.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_config.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_config_runtime_root.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_driver_doctor.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_host_telemetry.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_install_script.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_no_driver_imports.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_observability.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_package_metadata.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_plugin_manager.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_plugin_manager_more.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_registration.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_terminal_pty.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_terminal_ws.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_tools_and_utilities_more.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_tools_manager.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_tools_manager_extra.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_version_guidance.py +0 -0
- {gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/uninstall.sh +0 -0
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the GridFleet host agent (`gridfleet-agent` on PyPI) are documented here.
|
|
4
4
|
|
|
5
|
+
## [0.2.3](https://github.com/quidow/gridfleet/compare/gridfleet-agent-v0.2.2...gridfleet-agent-v0.2.3) (2026-05-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **agent:** prioritize node in service path ([c1d2b72](https://github.com/quidow/gridfleet/commit/c1d2b728d5d01a4a0b76f53ca48be8740de17918))
|
|
11
|
+
|
|
5
12
|
## [0.2.2](https://github.com/quidow/gridfleet/compare/gridfleet-agent-v0.2.1...gridfleet-agent-v0.2.2) (2026-05-03)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -54,7 +54,7 @@ def test_render_config_env_includes_detected_paths_and_optional_auth() -> None:
|
|
|
54
54
|
assert "AGENT_MANAGER_AUTH_PASSWORD=secret" in rendered
|
|
55
55
|
assert "AGENT_ENABLE_WEB_TERMINAL=true" in rendered
|
|
56
56
|
assert "AGENT_TERMINAL_TOKEN=terminal-token" in rendered
|
|
57
|
-
assert "PATH=/
|
|
57
|
+
assert "PATH=/opt/node/bin:/usr/bin:" in rendered
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
def test_load_installed_config_reads_persisted_agent_env(tmp_path: Path) -> None:
|
|
@@ -175,10 +175,10 @@ def test_dry_run_output_names_generated_artifacts_and_warnings() -> None:
|
|
|
175
175
|
assert "ExecStart=/opt/gridfleet-agent/venv/bin/gridfleet-agent serve" in output
|
|
176
176
|
|
|
177
177
|
|
|
178
|
-
def
|
|
178
|
+
def test_build_service_path_prioritizes_node_before_system_dirs() -> None:
|
|
179
179
|
discovery = ToolDiscovery(java_bin="/usr/lib/jvm/bin/java", node_bin_dir="/opt/node/bin", android_home="/opt/sdk")
|
|
180
180
|
|
|
181
|
-
assert build_service_path(discovery).startswith("/usr/lib/jvm/bin:/opt/
|
|
181
|
+
assert build_service_path(discovery).startswith("/opt/node/bin:/usr/lib/jvm/bin:/opt/sdk/platform-tools:")
|
|
182
182
|
|
|
183
183
|
|
|
184
184
|
def test_find_node_bin_dir_prefers_home_nvm_over_system_node(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -221,10 +221,10 @@ def discover_tools(
|
|
|
221
221
|
|
|
222
222
|
def build_service_path(discovery: ToolDiscovery) -> str:
|
|
223
223
|
prefixes: list[str] = []
|
|
224
|
-
if discovery.java_bin:
|
|
225
|
-
prefixes.append(str(Path(discovery.java_bin).parent))
|
|
226
224
|
if discovery.node_bin_dir:
|
|
227
225
|
prefixes.append(discovery.node_bin_dir)
|
|
226
|
+
if discovery.java_bin:
|
|
227
|
+
prefixes.append(str(Path(discovery.java_bin).parent))
|
|
228
228
|
if discovery.android_home:
|
|
229
229
|
prefixes.append(f"{discovery.android_home}/platform-tools")
|
|
230
230
|
return ":".join([*prefixes, DEFAULT_SERVICE_PATH])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_loader_cancel_path_leak.py
RENAMED
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_adapter_loader_concurrent_load.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_appium_process_integration.py
RENAMED
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_desired_manifest_features.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_pack_state_sidecar_reconcile.py
RENAMED
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_runtime_isolated_failures.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_sidecar_supervisor_poll_stop_race.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/pack/test_tarball_fetch_concurrent_dedup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_port_alloc_race.py
RENAMED
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_restart_stop_race.py
RENAMED
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_stop_start_lock_race.py
RENAMED
|
File without changes
|
{gridfleet_agent-0.2.2 → gridfleet_agent-0.2.3}/tests/test_appium_process_watch_stop_race.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|