meshcode 2.11.68__tar.gz → 2.11.69__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.
- {meshcode-2.11.68 → meshcode-2.11.69}/PKG-INFO +1 -1
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/__init__.py +1 -1
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/hostd.py +10 -1
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.68 → meshcode-2.11.69}/pyproject.toml +1 -1
- {meshcode-2.11.68 → meshcode-2.11.69}/README.md +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/__main__.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/claude_update.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/cli.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/compat.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/daemon.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/doctor.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/invites.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/launcher.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/preferences.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/rpc_allowlist.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/run_agent.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/secrets.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/self_update.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/up.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode/upload.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/setup.cfg +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_autonomous_closegap_1.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_autonomous_closegap_2.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_autonomous_closegap_3.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_autonomous_prompt_inject.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_core.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_doctor.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_file_upload.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_marketplace_ratings.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_run_agent_dry_run.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_run_agent_no_server_import.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_self_update_user_site.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.68 → meshcode-2.11.69}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -413,8 +413,17 @@ def cmd_hostd(args: list) -> int:
|
|
|
413
413
|
|
|
414
414
|
if sub == "run":
|
|
415
415
|
if not api_key:
|
|
416
|
-
_log("FATAL: no api key —
|
|
416
|
+
_log("FATAL: no api key — run `meshcode login` (key is read from the keychain)")
|
|
417
417
|
return 1
|
|
418
|
+
# Register this host in mc_host_config so the dashboard can list it as a
|
|
419
|
+
# launch target (Path2 canonical: dashboard -> mc_host_set_agents ->
|
|
420
|
+
# mc_agents.desired_state='running' -> this daemon polls + spawns).
|
|
421
|
+
# mc_host_config_set upserts (host_id, owner_user_id) idempotently.
|
|
422
|
+
_reg = _rpc("mc_host_config_set", {"p_api_key": api_key, "p_host_id": host_id})
|
|
423
|
+
if _reg and _reg.get("ok"):
|
|
424
|
+
_log(f"registered host {host_id} in mc_host_config")
|
|
425
|
+
else:
|
|
426
|
+
_log(f"WARN: host registration failed (dashboard may not list this host): {_reg}")
|
|
418
427
|
_log(f"hostd starting — host_id={host_id} interval={POLL_INTERVAL_SEC}s stale={STALE_SECONDS}s")
|
|
419
428
|
while True:
|
|
420
429
|
try:
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|