meridian-cli 0.3.0__tar.gz → 0.3.2__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.
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/PKG-INFO +3 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/pyproject.toml +5 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/__init__.py +1 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/agent_help.py +1 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/bootstrap.py +14 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/bootstrap_cmd.py +1 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/entrypoint.py +6 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/main.py +47 -77
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/mars_passthrough.py +5 -28
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/primary_launch.py +7 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/spawn.py +74 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/help.py +3 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/utils.py +7 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/settings.py +24 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/domain.py +3 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/lifecycle.py +8 -10
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/process_cleanup.py +50 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/spawn_lifecycle.py +30 -4
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/spawn_service.py +67 -14
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/telemetry.py +3 -3
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/.context/CONTEXT.md +6 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/AGENTS.md +4 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/base.py +15 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/claude_ws.py +1 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/codex_ws.py +118 -63
- meridian_cli-0.3.2/src/meridian/lib/harness/connections/liveness.py +155 -0
- meridian_cli-0.3.2/src/meridian/lib/harness/connections/managed_backend.py +128 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/opencode_http.py +259 -103
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/pi_rpc.py +1 -0
- meridian_cli-0.3.2/src/meridian/lib/harness/connections/resident_backend.py +70 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/pi_lifecycle_events.py +7 -173
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/__init__.py +1 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/errors.py +2 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/primary_attach.py +106 -69
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/runner.py +33 -3
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/subprocess_launcher.py +3 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/resolve.py +60 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/session_scope.py +2 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/signals.py +8 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming_runner.py +69 -51
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/types.py +1 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/diag.py +17 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/reference.py +27 -12
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/reference_recovery.py +29 -16
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_export.py +44 -14
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_target.py +101 -27
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/.context/CONTEXT.md +1 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/__init__.py +6 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/api.py +251 -48
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/context_ref.py +3 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/execute.py +69 -23
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/execute_init.py +3 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/execute_runner.py +2 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/execute_session.py +2 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/models.py +32 -5
- meridian_cli-0.3.2/src/meridian/lib/ops/spawn/pre_init.py +134 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/query.py +6 -5
- meridian_cli-0.3.2/src/meridian/lib/platform/detached_process.py +132 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/base.py +18 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/fallback.py +8 -4
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/posix.py +20 -7
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/windows_job.py +6 -5
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/liveness.py +23 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/managed_primary.py +21 -24
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/primary_meta.py +9 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/process_scope_projection.py +26 -26
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/reaper.py +111 -31
- meridian_cli-0.3.2/src/meridian/lib/state/session_identity.py +172 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/session_store.py +5 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/model.py +2 -2
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/repository.py +3 -0
- meridian_cli-0.3.2/src/meridian/lib/state/spawn_signals.py +61 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn_store.py +25 -2
- meridian_cli-0.3.2/src/meridian/lib/state/spawn_tree.py +119 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/AGENTS.md +8 -1
- meridian_cli-0.3.2/src/meridian/lib/streaming/completion_nudge.py +21 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/disk_watcher.py +3 -6
- meridian_cli-0.3.2/src/meridian/lib/streaming/drain_coordinator.py +120 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/drain_wait.py +10 -10
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/pi_drain.py +253 -59
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/pi_process_cleanup.py +2 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/pi_quiescence.py +3 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/pi_subspawn_tracker.py +47 -25
- meridian_cli-0.3.2/src/meridian/lib/streaming/resident_drain.py +320 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/signal_canceller.py +3 -5
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/spawn_drain_loop.py +158 -103
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/spawn_manager.py +165 -99
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/spawn_session.py +3 -1
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/events.py +13 -3
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/observer.py +20 -4
- meridian_cli-0.3.0/src/meridian/lib/platform/windows_job.py +0 -102
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/.gitignore +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/LICENSE +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/README.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/ag_ui/__init__.pyi +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/ag_ui/core.pyi +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/__main__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/_cmd_utils.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/app_tree.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/argv_normalization.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/chat_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/config_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/doctor_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/ext_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/ext_registration.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/hooks_authority.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/hooks_commands.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/kg_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/mermaid_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/migrate_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/misc_commands.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/models_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/output.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/qi_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/report_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/session_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/spawn_inject.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/catalog.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/classify.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/cyclopts_app.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/lazy_dispatch.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/startup/policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/streaming_serve.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/sync_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/telemetry_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/work_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/cli/workspace_cmd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/dev/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/dev/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/dev/pytests.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/config.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/project_state.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/runtime_state.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/bootstrap/services.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/agent.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/bootstrap.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/catalog_session.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/model_aliases.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/models.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/catalog/skill.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/backend_acquisition.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/backend_handle.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/checkpoint.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/command_handler.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/command_invariants.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/commands.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/discovery.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/launcher.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/portless.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/raw_vite.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/dev_frontend/supervisor.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/event_index.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/event_log.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/event_observer.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/event_pipeline.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/frontend.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/base.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/claude.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/codex.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/common.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/opencode.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/normalization/synthetic.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/protocol.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/recovery.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/replay.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/runtime.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/server.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/session_service.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/chat/ws_fanout.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/catalog.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/context_config.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/preserving_edit.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/project_config_state.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/project_paths.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/project_root.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/schema.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/config/workspace.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/context/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/context/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/context/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/context/resolver.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/child_env.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/clock.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/codec.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/command_strings.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/conversation.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/depth.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/execution_policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/formatting.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/launch_policy_snapshot.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/logging.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/overrides.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/resolved_context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/sink.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/spawn_start.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/core/util.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/diagnostics.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/biomed.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/mermaid.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/sessions.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/commands/workbench.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/descriptors.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/dispatcher.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/first_party.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/observability.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/extensions/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/adapter.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/bundle.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/claude.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/claude_preflight.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/claude_utils.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/codex.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/codex_rollout.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/common.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/cursor_subprocess.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/connections/errors.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/control_action.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/cost.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/cursor.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/errors.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractor.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/base.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/claude.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/codex.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/cursor.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/opencode.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/extractors/pi.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/launch_spec.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/launch_types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/opencode.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/opencode_storage.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/opencode_transcript.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/base.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/claude.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/codex.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/opencode.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/passthrough/registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/permission_broker.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/pi.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/pi_paths.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/pi_runtime_resolver.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/_guards.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/permission_flags.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/pi_extension_projection.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_claude.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_codex_common.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_codex_streaming.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_codex_subprocess.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_cursor.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_opencode_streaming.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_opencode_subprocess.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_pi_native_tui.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/project_pi_rpc.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/projections/projection_errors.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/semantics.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/session_detection.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/harness/transcript.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/autosync_store.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/base.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin/git_autosync.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/builtin_registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/config.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/dispatch.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/interval.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/registry.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/runner.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/hooks/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ignores.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/graph.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/report.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/serializer.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/kg/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/artifact_io.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/bundle_adapter.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/claude_session_access.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/command.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/compiler.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/composition.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/composition_spawn.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/constants.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/cwd.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/env.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/extract.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/fork.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/launch_types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/materialize.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/permissions.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/plan.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/policies.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/policy_snapshot.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/ports.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/pty_launcher.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/session.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/process/windows_launcher.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/prompt.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/prompt_context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/reference.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/report.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/request.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/resolution.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/run_inputs.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/runner_helpers.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming/heartbeat.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/streaming/terminal_arbitrator.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/text_utils.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/workspace.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/workspace_projection.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/launch/written_files.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/markdown/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/markdown/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/markdown/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/markdown/extract.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/markdown/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/report.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/scanner.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/serializer.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/bare_end.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/fill_no_color.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/line_map.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/ox_edge.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/preprocess.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/suppression.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/style/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/mermaid/validator.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/observability/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/observability/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/observability/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/observability/debug_tracer.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/observability/trace_helpers.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/catalog.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/commands.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/config.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/config_surface.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/hooks.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/init_ops.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/mars.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/migration.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/pruning.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/qi.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/report.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/runtime.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_corpus.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_log.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_log_render.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_render.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_repair.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_search.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/session_transcript.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/execute_bg.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/failure_policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/spawn/prepare.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/sync_conflicts.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/work_attachment.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/work_dashboard.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/work_lifecycle.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/work_sessions.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/ops/workspace.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/locking.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/process_scope/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/terminate.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/platform/unix_modules.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/budget.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/guardrails.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/permissions.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/safety/redaction.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/service_context.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/spawn/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/spawn/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/spawn/archive.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/artifact_store.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/atomic.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/event_store.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/history.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/launch_boundary.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/paths.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/runtime_root.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/terminal_policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn/transitions.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/spawn_report.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/timestamps.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/user_paths.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/wordgen.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/wordlists.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/state/work_store.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/control_socket.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/drain_policy.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/event_observers.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/heartbeat.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/spawn_dispatch.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/streaming/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/bootstrap.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/correlation.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/init.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/local_jsonl.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/maintenance.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/observers.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/query.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/reader.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/retention.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/router.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/sinks.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/telemetry/status.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/tools.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/utils/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/lib/utils/time.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/.context/CONTEXT.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/README.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/dist/extensions/managed-bash/index.js +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/dist/extensions/meridian-spawn-watch/index.js +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/managed-bash/bundle.smoke.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_log_store.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/managed-bash/src/index.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/bundle.smoke.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/ids.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/json_file.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/log_overlay.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/meridian_cli.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/pi_harness_profile.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/pi_state_paths.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/schemas.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/selectable_panel.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/selectable_panel.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/spawn_origins.test.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/spawn_origins.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/extensions/shared/ui.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/package.json +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/pnpm-lock.yaml +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/pnpm-workspace.yaml +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/scripts/verify-extensions-loop.mjs +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/pi_runtime/vitest.config.ts +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/config.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/fs.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/git.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/state.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/plugin_api/types.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/py.typed +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/server/AGENTS.md +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/server/__init__.py +0 -0
- {meridian_cli-0.3.0 → meridian_cli-0.3.2}/src/meridian/server/main.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meridian-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Orchestrate CLI + MCP server for multi-model agent workflows
|
|
5
5
|
Project-URL: Homepage, https://github.com/haowjy/meridian-cli
|
|
6
6
|
Project-URL: Repository, https://github.com/haowjy/meridian-cli
|
|
@@ -24,7 +24,7 @@ Requires-Dist: coolname>=4.0.0
|
|
|
24
24
|
Requires-Dist: cyclopts>=3.0
|
|
25
25
|
Requires-Dist: fastapi>=0.115
|
|
26
26
|
Requires-Dist: markdown-it-py>=4.0
|
|
27
|
-
Requires-Dist: mars-agents==0.8.
|
|
27
|
+
Requires-Dist: mars-agents==0.8.3
|
|
28
28
|
Requires-Dist: mcp>=1.0
|
|
29
29
|
Requires-Dist: pathspec>=1.1.0
|
|
30
30
|
Requires-Dist: psutil>=7.2.2
|
|
@@ -41,6 +41,7 @@ Requires-Dist: httpx>=0.28; extra == 'app'
|
|
|
41
41
|
Provides-Extra: dev
|
|
42
42
|
Requires-Dist: pyright>=1.1.400; extra == 'dev'
|
|
43
43
|
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest-timeout>=2.4.0; extra == 'dev'
|
|
44
45
|
Requires-Dist: pytest>=8.4.0; extra == 'dev'
|
|
45
46
|
Requires-Dist: ruff>=0.12.0; extra == 'dev'
|
|
46
47
|
Provides-Extra: templates
|
|
@@ -24,7 +24,7 @@ dependencies = [
|
|
|
24
24
|
"cyclopts>=3.0",
|
|
25
25
|
"fastapi>=0.115",
|
|
26
26
|
"markdown-it-py>=4.0",
|
|
27
|
-
"mars-agents==0.8.
|
|
27
|
+
"mars-agents==0.8.3",
|
|
28
28
|
"mcp>=1.0",
|
|
29
29
|
"pathspec>=1.1.0",
|
|
30
30
|
"psutil>=7.2.2",
|
|
@@ -56,6 +56,7 @@ dev = [
|
|
|
56
56
|
"pyright>=1.1.400",
|
|
57
57
|
"pytest>=8.4.0",
|
|
58
58
|
"pytest-asyncio>=0.24.0",
|
|
59
|
+
"pytest-timeout>=2.4.0",
|
|
59
60
|
"ruff>=0.12.0",
|
|
60
61
|
]
|
|
61
62
|
templates = [
|
|
@@ -140,9 +141,11 @@ ignore = [
|
|
|
140
141
|
|
|
141
142
|
[tool.pytest.ini_options]
|
|
142
143
|
testpaths = ["tests"]
|
|
143
|
-
addopts = "-ra -n
|
|
144
|
+
addopts = "-ra -n 4"
|
|
144
145
|
asyncio_mode = "auto"
|
|
145
146
|
pythonpath = ["src"]
|
|
147
|
+
timeout = 60
|
|
148
|
+
timeout_method = "thread"
|
|
146
149
|
|
|
147
150
|
[dependency-groups]
|
|
148
151
|
dev = [
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
_SPAWN_SUPPLEMENT = (
|
|
6
6
|
"Agent Notes:\n\n"
|
|
7
|
-
"Lifecycle: queued → running → finalizing → succeeded | failed | cancelled.\n"
|
|
7
|
+
"Lifecycle: queued → running → finalizing → succeeded | failed | cancelled | timed_out.\n"
|
|
8
8
|
"'finalizing' is transient — treat as active when polling.\n\n"
|
|
9
9
|
"Which subcommand when:\n\n"
|
|
10
10
|
" show ID Status, report, cost — first check for any spawn\n\n"
|
|
@@ -35,6 +35,7 @@ _TOP_LEVEL_VALUE_FLAGS = frozenset(
|
|
|
35
35
|
"--harness",
|
|
36
36
|
"-a",
|
|
37
37
|
"--work",
|
|
38
|
+
"--task-dir",
|
|
38
39
|
"--autocompact",
|
|
39
40
|
"--autocompact-pct",
|
|
40
41
|
"--effort",
|
|
@@ -424,6 +425,19 @@ def maybe_bootstrap_runtime_state(
|
|
|
424
425
|
return None
|
|
425
426
|
|
|
426
427
|
|
|
428
|
+
@contextmanager
|
|
429
|
+
def meridian_managed_env_default() -> Generator[None, None, None]:
|
|
430
|
+
prior = os.environ.get("MERIDIAN_MANAGED")
|
|
431
|
+
os.environ.setdefault("MERIDIAN_MANAGED", "1")
|
|
432
|
+
try:
|
|
433
|
+
yield
|
|
434
|
+
finally:
|
|
435
|
+
if prior is None:
|
|
436
|
+
os.environ.pop("MERIDIAN_MANAGED", None)
|
|
437
|
+
else:
|
|
438
|
+
os.environ["MERIDIAN_MANAGED"] = prior
|
|
439
|
+
|
|
440
|
+
|
|
427
441
|
@contextmanager
|
|
428
442
|
def temporary_config_env(config_file: str | None) -> Generator[None, None, None]:
|
|
429
443
|
if config_file is None:
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from collections.abc import Sequence
|
|
6
6
|
|
|
7
|
-
from meridian.cli.bootstrap import first_positional_token
|
|
7
|
+
from meridian.cli.bootstrap import first_positional_token, meridian_managed_env_default
|
|
8
8
|
from meridian.cli.startup.catalog import COMMAND_CATALOG
|
|
9
9
|
from meridian.cli.startup.classify import classify_invocation
|
|
10
10
|
|
|
@@ -38,6 +38,11 @@ def _is_version_request(argv: Sequence[str]) -> bool:
|
|
|
38
38
|
def main() -> None:
|
|
39
39
|
"""Thin CLI entrypoint: handles trivial fast paths, delegates the rest."""
|
|
40
40
|
|
|
41
|
+
with meridian_managed_env_default():
|
|
42
|
+
_main_impl()
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _main_impl() -> None:
|
|
41
46
|
import sys
|
|
42
47
|
|
|
43
48
|
if sys.platform == "win32":
|
|
@@ -42,6 +42,7 @@ from meridian.cli.bootstrap import (
|
|
|
42
42
|
)
|
|
43
43
|
from meridian.cli.bootstrap import (
|
|
44
44
|
maybe_bootstrap_runtime_state,
|
|
45
|
+
meridian_managed_env_default,
|
|
45
46
|
temporary_config_env,
|
|
46
47
|
)
|
|
47
48
|
from meridian.cli.bootstrap import (
|
|
@@ -418,6 +419,17 @@ def root(
|
|
|
418
419
|
str,
|
|
419
420
|
Parameter(name="--work", help="Attach the primary session to a work item id."),
|
|
420
421
|
] = "",
|
|
422
|
+
task_dir: Annotated[
|
|
423
|
+
str | None,
|
|
424
|
+
Parameter(
|
|
425
|
+
name="--task-dir",
|
|
426
|
+
help=(
|
|
427
|
+
"Override the source-code edit directory for this primary launch only. "
|
|
428
|
+
"Does not modify the work item's task_dir setting. "
|
|
429
|
+
"Relative -f paths resolve against this directory."
|
|
430
|
+
),
|
|
431
|
+
),
|
|
432
|
+
] = None,
|
|
421
433
|
yolo: Annotated[
|
|
422
434
|
bool,
|
|
423
435
|
Parameter(
|
|
@@ -496,29 +508,36 @@ def root(
|
|
|
496
508
|
f"Conflicting harness selections: '{global_harness}' and '{explicit_harness}'."
|
|
497
509
|
)
|
|
498
510
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
511
|
+
normalized_task_dir = (task_dir or "").strip() or None
|
|
512
|
+
|
|
513
|
+
from meridian.cli import primary_launch
|
|
514
|
+
|
|
515
|
+
emit(
|
|
516
|
+
primary_launch.run_primary_launch(
|
|
517
|
+
project_root=get_global_options().project_root,
|
|
518
|
+
continue_ref=continue_ref,
|
|
519
|
+
fork_ref=fork_ref,
|
|
520
|
+
fork_fresh_ref=fork_fresh_ref,
|
|
521
|
+
from_ref=from_ref,
|
|
522
|
+
model=model,
|
|
523
|
+
harness=global_harness or explicit_harness,
|
|
524
|
+
agent=agent,
|
|
525
|
+
work=work,
|
|
526
|
+
task_dir=normalized_task_dir,
|
|
527
|
+
yolo=yolo,
|
|
528
|
+
approval=approval,
|
|
529
|
+
autocompact=autocompact,
|
|
530
|
+
autocompact_pct=autocompact_pct,
|
|
531
|
+
effort=effort,
|
|
532
|
+
sandbox=sandbox,
|
|
533
|
+
timeout=timeout,
|
|
534
|
+
dry_run=dry_run,
|
|
535
|
+
passthrough=get_global_options().passthrough_args,
|
|
536
|
+
reference_files=tuple(references),
|
|
537
|
+
prompt=resolved_prompt,
|
|
538
|
+
skills=tuple(parsed_skills),
|
|
539
|
+
goal=goal,
|
|
540
|
+
)
|
|
522
541
|
)
|
|
523
542
|
|
|
524
543
|
|
|
@@ -571,60 +590,6 @@ def mars(
|
|
|
571
590
|
_run_mars_passthrough(args, output_format=get_global_options().output.format)
|
|
572
591
|
|
|
573
592
|
|
|
574
|
-
def _run_primary_launch(
|
|
575
|
-
*,
|
|
576
|
-
continue_ref: str | None,
|
|
577
|
-
fork_ref: str | None,
|
|
578
|
-
fork_fresh_ref: str | None,
|
|
579
|
-
from_ref: str | None,
|
|
580
|
-
model: str,
|
|
581
|
-
harness: str | None,
|
|
582
|
-
agent: str | None,
|
|
583
|
-
work: str,
|
|
584
|
-
yolo: bool,
|
|
585
|
-
approval: str | None,
|
|
586
|
-
autocompact: int | None,
|
|
587
|
-
autocompact_pct: int | None,
|
|
588
|
-
effort: str | None,
|
|
589
|
-
sandbox: str | None,
|
|
590
|
-
timeout: float | None,
|
|
591
|
-
dry_run: bool,
|
|
592
|
-
reference_files: tuple[str, ...] = (),
|
|
593
|
-
prompt: str | None = None,
|
|
594
|
-
skills: tuple[str, ...] = (),
|
|
595
|
-
goal: str | None = None,
|
|
596
|
-
passthrough: tuple[str, ...] = (),
|
|
597
|
-
) -> None:
|
|
598
|
-
from meridian.cli import primary_launch
|
|
599
|
-
|
|
600
|
-
emit(
|
|
601
|
-
primary_launch.run_primary_launch(
|
|
602
|
-
project_root=get_global_options().project_root,
|
|
603
|
-
continue_ref=continue_ref,
|
|
604
|
-
fork_ref=fork_ref,
|
|
605
|
-
fork_fresh_ref=fork_fresh_ref,
|
|
606
|
-
from_ref=from_ref,
|
|
607
|
-
model=model,
|
|
608
|
-
harness=harness,
|
|
609
|
-
agent=agent,
|
|
610
|
-
work=work,
|
|
611
|
-
yolo=yolo,
|
|
612
|
-
approval=approval,
|
|
613
|
-
autocompact=autocompact,
|
|
614
|
-
autocompact_pct=autocompact_pct,
|
|
615
|
-
effort=effort,
|
|
616
|
-
sandbox=sandbox,
|
|
617
|
-
timeout=timeout,
|
|
618
|
-
dry_run=dry_run,
|
|
619
|
-
passthrough=passthrough,
|
|
620
|
-
reference_files=reference_files,
|
|
621
|
-
prompt=prompt,
|
|
622
|
-
skills=skills,
|
|
623
|
-
goal=goal,
|
|
624
|
-
)
|
|
625
|
-
)
|
|
626
|
-
|
|
627
|
-
|
|
628
593
|
@app.command(name="init")
|
|
629
594
|
def init_alias(
|
|
630
595
|
path: Annotated[
|
|
@@ -1070,6 +1035,11 @@ def _directory_env_scope(
|
|
|
1070
1035
|
def main(argv: Sequence[str] | None = None) -> None:
|
|
1071
1036
|
"""CLI entry point used by `meridian` and `python -m meridian`."""
|
|
1072
1037
|
|
|
1038
|
+
with meridian_managed_env_default():
|
|
1039
|
+
_main_impl(argv=argv)
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
def _main_impl(argv: Sequence[str] | None = None) -> None:
|
|
1073
1043
|
from meridian.lib.core.logging import configure_logging
|
|
1074
1044
|
|
|
1075
1045
|
args = list(sys.argv[1:] if argv is None else argv)
|
|
@@ -18,7 +18,6 @@ from meridian.lib.ops.mars import resolve_mars_executable
|
|
|
18
18
|
class MarsPassthroughRequest:
|
|
19
19
|
command: tuple[str, ...]
|
|
20
20
|
mars_args: tuple[str, ...]
|
|
21
|
-
is_sync: bool
|
|
22
21
|
wants_json: bool
|
|
23
22
|
root_override: Path | None
|
|
24
23
|
|
|
@@ -53,25 +52,6 @@ def mars_requested_root(args: Sequence[str]) -> Path | None:
|
|
|
53
52
|
return None
|
|
54
53
|
|
|
55
54
|
|
|
56
|
-
def mars_subcommand(args: Sequence[str]) -> str | None:
|
|
57
|
-
index = 0
|
|
58
|
-
while index < len(args):
|
|
59
|
-
token = args[index]
|
|
60
|
-
if token == "--":
|
|
61
|
-
return None
|
|
62
|
-
if token == "--root":
|
|
63
|
-
index += 2
|
|
64
|
-
continue
|
|
65
|
-
if token.startswith("--root="):
|
|
66
|
-
index += 1
|
|
67
|
-
continue
|
|
68
|
-
if token.startswith("-"):
|
|
69
|
-
index += 1
|
|
70
|
-
continue
|
|
71
|
-
return token
|
|
72
|
-
return None
|
|
73
|
-
|
|
74
|
-
|
|
75
55
|
def decode_json_values(raw_stdout: str) -> list[object] | None:
|
|
76
56
|
decoder = json.JSONDecoder()
|
|
77
57
|
parsed_values: list[object] = []
|
|
@@ -98,7 +78,6 @@ def parse_mars_passthrough(
|
|
|
98
78
|
"""Build an executable Mars passthrough request without side effects."""
|
|
99
79
|
|
|
100
80
|
mars_args = list(args)
|
|
101
|
-
is_sync = mars_subcommand(mars_args) == "sync"
|
|
102
81
|
wants_json = mars_requested_json(mars_args) or output_format == "json"
|
|
103
82
|
if wants_json and not mars_requested_json(mars_args):
|
|
104
83
|
mars_args = ["--json", *mars_args]
|
|
@@ -109,7 +88,6 @@ def parse_mars_passthrough(
|
|
|
109
88
|
return MarsPassthroughRequest(
|
|
110
89
|
command=(executable, *mars_args),
|
|
111
90
|
mars_args=tuple(mars_args),
|
|
112
|
-
is_sync=is_sync,
|
|
113
91
|
wants_json=wants_json,
|
|
114
92
|
root_override=mars_requested_root(mars_args),
|
|
115
93
|
)
|
|
@@ -124,11 +102,11 @@ def execute_mars_passthrough(
|
|
|
124
102
|
"""Execute a prepared Mars passthrough request."""
|
|
125
103
|
|
|
126
104
|
stderr_stream = sys.stderr if stderr is None else stderr
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
105
|
+
# With MERIDIAN_PROJECT_DIR set, parse_mars_passthrough injects --root to the
|
|
106
|
+
# launcher project; Mars runs under Meridian management for all passthrough commands.
|
|
107
|
+
run_kwargs: dict[str, object] = {
|
|
108
|
+
"env": {**os.environ, "MERIDIAN_MANAGED": os.environ.get("MERIDIAN_MANAGED", "1")},
|
|
109
|
+
}
|
|
132
110
|
try:
|
|
133
111
|
if request.wants_json:
|
|
134
112
|
result = run(
|
|
@@ -196,4 +174,3 @@ def resolve_init_project_root(path: str | None) -> Path:
|
|
|
196
174
|
return Path(path).expanduser().resolve()
|
|
197
175
|
env_root = os.getenv("MERIDIAN_PROJECT_DIR", "").strip()
|
|
198
176
|
return Path(env_root).expanduser().resolve() if env_root else Path.cwd().resolve()
|
|
199
|
-
|
|
@@ -146,6 +146,7 @@ def run_primary_launch(
|
|
|
146
146
|
harness: str | None,
|
|
147
147
|
agent: str | None,
|
|
148
148
|
work: str,
|
|
149
|
+
task_dir: str | None = None,
|
|
149
150
|
yolo: bool,
|
|
150
151
|
approval: str | None,
|
|
151
152
|
autocompact: int | None,
|
|
@@ -197,6 +198,11 @@ def run_primary_launch(
|
|
|
197
198
|
fork_target_requested = raw_fork_target or None
|
|
198
199
|
fork_fresh_target_requested = raw_fork_fresh_target or None
|
|
199
200
|
context_from_requested = (raw_from_target,) if raw_from_target else ()
|
|
201
|
+
normalized_task_dir = (task_dir or "").strip() or None
|
|
202
|
+
if resume_target is not None and normalized_task_dir is not None:
|
|
203
|
+
raise ValueError(
|
|
204
|
+
"--continue does not accept --task-dir. Use --fork --task-dir to diverge."
|
|
205
|
+
)
|
|
200
206
|
resolved_approval = approval if approval is not None else ("never" if yolo else "default")
|
|
201
207
|
|
|
202
208
|
fork_resolution = validate_fork_mode(
|
|
@@ -349,6 +355,7 @@ def run_primary_launch(
|
|
|
349
355
|
),
|
|
350
356
|
agent=requested_agent,
|
|
351
357
|
work_id=requested_work_id,
|
|
358
|
+
task_dir=normalized_task_dir,
|
|
352
359
|
passthrough_args=passthrough,
|
|
353
360
|
session_mode=session_mode,
|
|
354
361
|
pinned_context="",
|
|
@@ -37,6 +37,7 @@ from meridian.lib.ops.spawn.api import (
|
|
|
37
37
|
SpawnForkInput,
|
|
38
38
|
SpawnListInput,
|
|
39
39
|
SpawnShowInput,
|
|
40
|
+
SpawnSignalInput,
|
|
40
41
|
SpawnStatsInput,
|
|
41
42
|
SpawnStatusInput,
|
|
42
43
|
SpawnWaitInput,
|
|
@@ -46,9 +47,11 @@ from meridian.lib.ops.spawn.api import (
|
|
|
46
47
|
spawn_children_sync,
|
|
47
48
|
spawn_continue_sync,
|
|
48
49
|
spawn_create_sync,
|
|
50
|
+
spawn_done_sync,
|
|
49
51
|
spawn_files_sync,
|
|
50
52
|
spawn_fork_sync,
|
|
51
53
|
spawn_list_sync,
|
|
54
|
+
spawn_rearm_sync,
|
|
52
55
|
spawn_show_sync,
|
|
53
56
|
spawn_stats_sync,
|
|
54
57
|
spawn_status_sync,
|
|
@@ -85,6 +88,20 @@ def _prepare_spawn_runtime_write() -> RuntimeWriteContext:
|
|
|
85
88
|
return prepare_for_runtime_write(require_established_project_root())
|
|
86
89
|
|
|
87
90
|
|
|
91
|
+
def _foreground_spawn_id_notifier(*, quiet: bool) -> Callable[[str], None] | None:
|
|
92
|
+
if quiet or _get_global_options().output.format == "json":
|
|
93
|
+
return None
|
|
94
|
+
sink = _current_output_sink()
|
|
95
|
+
|
|
96
|
+
def _notify(spawn_id: str) -> None:
|
|
97
|
+
sink.status(f"Spawn id: {spawn_id}")
|
|
98
|
+
from meridian.cli.output import flush_sink
|
|
99
|
+
|
|
100
|
+
flush_sink(sink)
|
|
101
|
+
|
|
102
|
+
return _notify
|
|
103
|
+
|
|
104
|
+
|
|
88
105
|
def _spawn_create_exit_code(result: SpawnActionOutput) -> int:
|
|
89
106
|
if result.exit_code is not None:
|
|
90
107
|
return result.exit_code
|
|
@@ -558,6 +575,7 @@ def _spawn_create(
|
|
|
558
575
|
),
|
|
559
576
|
sink=_current_output_sink(),
|
|
560
577
|
prepared=_prepare_spawn_runtime_write(),
|
|
578
|
+
on_spawn_id=_foreground_spawn_id_notifier(quiet=quiet),
|
|
561
579
|
)
|
|
562
580
|
output_format = _get_global_options().output.format
|
|
563
581
|
if output_format != "json" and metadata:
|
|
@@ -581,7 +599,10 @@ def _spawn_list(
|
|
|
581
599
|
str | None,
|
|
582
600
|
Parameter(
|
|
583
601
|
name="--status",
|
|
584
|
-
help=
|
|
602
|
+
help=(
|
|
603
|
+
"Filter by status: queued, running, finalizing, succeeded, "
|
|
604
|
+
"failed, cancelled, timed_out."
|
|
605
|
+
),
|
|
585
606
|
),
|
|
586
607
|
] = None,
|
|
587
608
|
view: Annotated[
|
|
@@ -590,7 +611,7 @@ def _spawn_list(
|
|
|
590
611
|
name="--view",
|
|
591
612
|
help=(
|
|
592
613
|
"Preset list view: active, recent (recent active spawns), "
|
|
593
|
-
"all, running, queued, completed, failed, cancelled. "
|
|
614
|
+
"all, running, queued, completed, failed, cancelled, timed_out. "
|
|
594
615
|
"Default: active."
|
|
595
616
|
),
|
|
596
617
|
),
|
|
@@ -635,6 +656,7 @@ def _spawn_list(
|
|
|
635
656
|
"completed": ("succeeded",),
|
|
636
657
|
"failed": ("failed",),
|
|
637
658
|
"cancelled": ("cancelled",),
|
|
659
|
+
"timed_out": ("timed_out",),
|
|
638
660
|
}
|
|
639
661
|
if normalized_view not in view_map:
|
|
640
662
|
supported = ", ".join(view_map)
|
|
@@ -969,6 +991,42 @@ def _spawn_cancel_all(
|
|
|
969
991
|
raise SystemExit(1)
|
|
970
992
|
|
|
971
993
|
|
|
994
|
+
def _spawn_done(
|
|
995
|
+
emit: Any,
|
|
996
|
+
spawn_id: Annotated[
|
|
997
|
+
str | None,
|
|
998
|
+
Parameter(help="Spawn ID to finish (defaults to MERIDIAN_SPAWN_ID)."),
|
|
999
|
+
] = None,
|
|
1000
|
+
) -> None:
|
|
1001
|
+
result = spawn_done_sync(
|
|
1002
|
+
SpawnSignalInput(spawn_id=spawn_id),
|
|
1003
|
+
ctx=RuntimeContext.from_environment(),
|
|
1004
|
+
sink=_current_output_sink(),
|
|
1005
|
+
prepared=_prepare_spawn_runtime_write(),
|
|
1006
|
+
)
|
|
1007
|
+
emit(result)
|
|
1008
|
+
if result.status == "failed":
|
|
1009
|
+
raise SystemExit(1)
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
def _spawn_rearm(
|
|
1013
|
+
emit: Any,
|
|
1014
|
+
spawn_id: Annotated[
|
|
1015
|
+
str | None,
|
|
1016
|
+
Parameter(help="Spawn ID to keep resident (defaults to MERIDIAN_SPAWN_ID)."),
|
|
1017
|
+
] = None,
|
|
1018
|
+
) -> None:
|
|
1019
|
+
result = spawn_rearm_sync(
|
|
1020
|
+
SpawnSignalInput(spawn_id=spawn_id),
|
|
1021
|
+
ctx=RuntimeContext.from_environment(),
|
|
1022
|
+
sink=_current_output_sink(),
|
|
1023
|
+
prepared=_prepare_spawn_runtime_write(),
|
|
1024
|
+
)
|
|
1025
|
+
emit(result)
|
|
1026
|
+
if result.status == "failed":
|
|
1027
|
+
raise SystemExit(1)
|
|
1028
|
+
|
|
1029
|
+
|
|
972
1030
|
def _spawn_inject(
|
|
973
1031
|
spawn_id: Annotated[
|
|
974
1032
|
str,
|
|
@@ -1021,6 +1079,20 @@ def register_spawn_commands(app: App, emit: Emitter) -> tuple[set[str], dict[str
|
|
|
1021
1079
|
emit=emit,
|
|
1022
1080
|
default_handler=partial(_spawn_create, emit),
|
|
1023
1081
|
)
|
|
1082
|
+
app.command(
|
|
1083
|
+
partial(_spawn_done, emit),
|
|
1084
|
+
name="done",
|
|
1085
|
+
help="Signal a resident spawn to finish successfully.",
|
|
1086
|
+
)
|
|
1087
|
+
registered.add("spawn.done")
|
|
1088
|
+
descriptions["meridian.spawn.done"] = "Signal a resident spawn to finish successfully."
|
|
1089
|
+
app.command(
|
|
1090
|
+
partial(_spawn_rearm, emit),
|
|
1091
|
+
name="rearm",
|
|
1092
|
+
help="Signal a resident spawn to keep running.",
|
|
1093
|
+
)
|
|
1094
|
+
registered.add("spawn.rearm")
|
|
1095
|
+
descriptions["meridian.spawn.rearm"] = "Signal a resident spawn to keep running."
|
|
1024
1096
|
app.command(
|
|
1025
1097
|
_spawn_inject,
|
|
1026
1098
|
name="inject",
|
|
@@ -27,6 +27,7 @@ Primary launch/resume:
|
|
|
27
27
|
meridian --fork p123 Fork from ref
|
|
28
28
|
meridian --fork-fresh p123 -m MODEL Fork and switch identity
|
|
29
29
|
meridian --from p123 Fresh session with prior context
|
|
30
|
+
meridian --task-dir PATH Launch against a different edit directory
|
|
30
31
|
continue/fork refs: chat id (c123), spawn id (p123), or raw harness session id
|
|
31
32
|
--from refs: chat id (c123) or spawn id (p123)
|
|
32
33
|
--fork preserves agent/model/skills identity. --fork-fresh allows
|
|
@@ -155,6 +156,8 @@ Primary launch/resume:
|
|
|
155
156
|
|
|
156
157
|
meridian --from p123
|
|
157
158
|
|
|
159
|
+
meridian --task-dir PATH
|
|
160
|
+
|
|
158
161
|
continue/fork refs: chat id (c123), spawn id (p123), or raw harness session id
|
|
159
162
|
--from refs: chat id (c123) or spawn id (p123)
|
|
160
163
|
--fork preserves agent/model/skills identity. --fork-fresh allows
|
|
@@ -98,7 +98,6 @@ def missing_fork_session_error_with_discovery(
|
|
|
98
98
|
return missing_fork_session_error(normalized_ref)
|
|
99
99
|
|
|
100
100
|
from meridian.lib.ops.runtime import resolve_runtime_root_for_read
|
|
101
|
-
from meridian.lib.state import spawn_store
|
|
102
101
|
from meridian.lib.state.primary_meta import read_primary_harness_session_discovery
|
|
103
102
|
|
|
104
103
|
runtime_root = resolve_runtime_root_for_read(project_root)
|
|
@@ -111,7 +110,13 @@ def missing_fork_session_error_with_discovery(
|
|
|
111
110
|
else (source_chat_id or "").strip()
|
|
112
111
|
)
|
|
113
112
|
if chat_ref:
|
|
114
|
-
|
|
113
|
+
from meridian.lib.state import session_identity
|
|
114
|
+
|
|
115
|
+
owner_chat_id = session_identity.get_owner_chat_for_session(runtime_root, chat_ref)
|
|
116
|
+
lookup_chat_id = owner_chat_id or chat_ref
|
|
117
|
+
chat_spawns = session_identity.list_spawns_for_owner_chat(
|
|
118
|
+
runtime_root, lookup_chat_id
|
|
119
|
+
)
|
|
115
120
|
pi_primary_spawns = [
|
|
116
121
|
row for row in chat_spawns if row.kind == "primary" and row.harness == "pi"
|
|
117
122
|
]
|
|
@@ -1337,6 +1337,30 @@ class MeridianConfig(BaseSettings):
|
|
|
1337
1337
|
env_vars=("MERIDIAN_PI_CHILD_WAVE_TIMEOUT_SECONDS",),
|
|
1338
1338
|
),
|
|
1339
1339
|
] = None
|
|
1340
|
+
resident_deadline_seconds: Annotated[
|
|
1341
|
+
float | None,
|
|
1342
|
+
config_field(
|
|
1343
|
+
"timeouts.resident_deadline_seconds",
|
|
1344
|
+
value_kind="float",
|
|
1345
|
+
file_aliases=(
|
|
1346
|
+
file_alias("timeouts", "resident_deadline_seconds"),
|
|
1347
|
+
file_alias(None, "resident_deadline_seconds"),
|
|
1348
|
+
),
|
|
1349
|
+
env_vars=("MERIDIAN_RESIDENT_DEADLINE_SECONDS",),
|
|
1350
|
+
),
|
|
1351
|
+
] = None
|
|
1352
|
+
resident_poll_seconds: Annotated[
|
|
1353
|
+
float | None,
|
|
1354
|
+
config_field(
|
|
1355
|
+
"timeouts.resident_poll_seconds",
|
|
1356
|
+
value_kind="float",
|
|
1357
|
+
file_aliases=(
|
|
1358
|
+
file_alias("timeouts", "resident_poll_seconds"),
|
|
1359
|
+
file_alias(None, "resident_poll_seconds"),
|
|
1360
|
+
),
|
|
1361
|
+
env_vars=("MERIDIAN_RESIDENT_POLL_SECONDS",),
|
|
1362
|
+
),
|
|
1363
|
+
] = None
|
|
1340
1364
|
pi_task_ping_interval_seconds: Annotated[
|
|
1341
1365
|
float | None,
|
|
1342
1366
|
config_field(
|
|
@@ -11,7 +11,9 @@ from meridian.lib.core.types import (
|
|
|
11
11
|
)
|
|
12
12
|
from meridian.lib.core.util import FormatContext
|
|
13
13
|
|
|
14
|
-
SpawnStatus = Literal[
|
|
14
|
+
SpawnStatus = Literal[
|
|
15
|
+
"queued", "running", "finalizing", "succeeded", "failed", "cancelled", "timed_out"
|
|
16
|
+
]
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
class TokenUsage(BaseModel):
|