meridian-cli 0.2.19__tar.gz → 0.2.22__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.2.19 → meridian_cli-0.2.22}/PKG-INFO +1 -1
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/pyproject.toml +3 -1
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/__init__.py +1 -1
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/bootstrap.py +8 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/AGENTS.md +1 -1
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/settings.py +38 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/.context/CONTEXT.md +4 -4
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/AGENTS.md +1 -1
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/adapter.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/claude.py +5 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/codex.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/cursor.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/opencode.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/pi.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_claude.py +5 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_codex_streaming.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_codex_subprocess.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_cursor.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_opencode_streaming.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_opencode_subprocess.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_pi_native_tui.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_pi_rpc.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/context.py +75 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/launch_types.py +1 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/.gitignore +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/LICENSE +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/README.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/ag_ui/__init__.pyi +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/ag_ui/core.pyi +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/__main__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/_cmd_utils.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/agent_help.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/app_tree.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/argv_normalization.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/bootstrap_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/chat_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/config_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/doctor_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/entrypoint.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/ext_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/ext_registration.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/hooks_authority.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/hooks_commands.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/kg_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/main.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/mars_passthrough.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/mermaid_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/migrate_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/misc_commands.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/models_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/output.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/primary_launch.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/qi_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/report_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/session_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/spawn.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/spawn_inject.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/catalog.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/classify.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/cyclopts_app.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/help.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/lazy_dispatch.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/startup/policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/streaming_serve.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/sync_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/telemetry_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/utils.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/work_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/cli/workspace_cmd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/dev/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/dev/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/dev/pytests.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/config.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/project_state.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/runtime_state.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/bootstrap/services.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/agent.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/bootstrap.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/catalog_session.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/model_aliases.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/models.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/catalog/skill.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/backend_acquisition.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/backend_handle.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/checkpoint.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/command_handler.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/command_invariants.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/commands.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/discovery.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/launcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/portless.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/raw_vite.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/dev_frontend/supervisor.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/event_index.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/event_log.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/event_observer.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/event_pipeline.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/frontend.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/claude.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/codex.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/common.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/opencode.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/normalization/synthetic.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/protocol.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/recovery.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/replay.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/runtime.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/server.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/session_service.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/chat/ws_fanout.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/catalog.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/context_config.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/preserving_edit.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/project_config_state.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/project_paths.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/project_root.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/schema.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/config/workspace.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/context/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/context/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/context/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/context/resolver.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/child_env.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/clock.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/codec.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/command_strings.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/context.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/conversation.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/depth.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/domain.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/execution_policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/formatting.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/launch_policy_snapshot.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/lifecycle.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/logging.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/overrides.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/process_cleanup.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/resolved_context.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/sink.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/spawn_lifecycle.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/spawn_service.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/spawn_start.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/telemetry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/core/util.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/diagnostics.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/biomed.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/mermaid.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/sessions.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/commands/workbench.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/context.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/descriptors.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/dispatcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/first_party.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/observability.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/extensions/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/bundle.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/claude_preflight.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/claude_utils.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/codex_rollout.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/common.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/claude_ws.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/codex_ws.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/cursor_subprocess.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/errors.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/opencode_http.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/connections/pi_rpc.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/control_action.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/cost.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/errors.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractor.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/claude.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/codex.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/cursor.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/opencode.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/extractors/pi.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/launch_spec.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/launch_types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/opencode_storage.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/opencode_transcript.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/claude.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/codex.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/opencode.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/passthrough/registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/permission_broker.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/pi_lifecycle_events.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/pi_paths.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/pi_runtime_resolver.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/_guards.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/permission_flags.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/pi_extension_projection.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_codex_common.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/projection_errors.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/semantics.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/session_detection.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/transcript.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/autosync_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin/git_autosync.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/builtin_registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/config.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/dispatch.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/interval.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/registry.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/runner.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/hooks/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ignores.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/graph.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/report.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/serializer.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/kg/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/artifact_io.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/bundle_adapter.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/claude_session_access.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/command.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/compiler.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/composition.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/composition_spawn.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/constants.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/cwd.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/env.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/errors.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/extract.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/fork.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/materialize.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/permissions.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/plan.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/policies.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/policy_snapshot.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/ports.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/primary_attach.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/pty_launcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/runner.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/session.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/subprocess_launcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/process/windows_launcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/prompt.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/reference.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/report.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/request.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/resolution.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/resolve.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/run_inputs.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/runner_helpers.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/session_scope.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/signals.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming/heartbeat.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming/terminal_arbitrator.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/streaming_runner.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/text_utils.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/workspace.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/workspace_projection.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/launch/written_files.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/markdown/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/markdown/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/markdown/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/markdown/extract.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/markdown/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/report.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/scanner.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/serializer.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/bare_end.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/fill_no_color.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/line_map.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/ox_edge.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/preprocess.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/suppression.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/style/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/mermaid/validator.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/observability/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/observability/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/observability/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/observability/debug_tracer.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/observability/trace_helpers.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/catalog.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/commands.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/config.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/config_surface.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/context.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/diag.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/hooks.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/init_ops.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/mars.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/migration.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/pruning.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/qi.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/reference.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/reference_recovery.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/report.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/runtime.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_corpus.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_export.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_log.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_log_render.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_render.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_repair.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_search.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_target.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/session_transcript.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/api.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/context_ref.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/execute.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/execute_bg.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/execute_init.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/execute_runner.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/execute_session.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/failure_policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/models.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/prepare.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/spawn/query.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/sync_conflicts.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/work_attachment.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/work_dashboard.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/work_lifecycle.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/work_sessions.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/ops/workspace.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/locking.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/base.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/fallback.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/posix.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/process_scope/windows_job.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/terminate.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/unix_modules.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/platform/windows_job.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/budget.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/guardrails.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/permissions.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/safety/redaction.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/service_context.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/spawn/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/spawn/archive.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/artifact_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/atomic.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/event_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/history.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/launch_boundary.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/liveness.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/managed_primary.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/paths.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/primary_meta.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/process_scope_projection.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/reaper.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/runtime_root.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/session_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/model.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/repository.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/terminal_policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn/transitions.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/spawn_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/user_paths.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/wordgen.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/wordlists.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/state/work_store.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/control_socket.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/disk_watcher.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/drain_policy.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/drain_wait.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/event_observers.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/heartbeat.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/pi_drain.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/pi_process_cleanup.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/pi_quiescence.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/pi_subspawn_tracker.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/signal_canceller.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/spawn_dispatch.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/spawn_drain_loop.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/spawn_manager.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/spawn_session.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/streaming/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/bootstrap.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/correlation.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/events.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/init.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/local_jsonl.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/maintenance.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/observer.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/observers.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/query.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/reader.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/retention.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/router.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/sinks.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/telemetry/status.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/tools.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/utils/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/utils/time.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/README.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/dist/extensions/managed-bash/index.js +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/dist/extensions/meridian-spawn-watch/index.js +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/managed-bash/bundle.smoke.test.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_log_store.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.test.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/managed-bash/src/index.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/bundle.smoke.test.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/ids.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/json_file.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/log_overlay.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/meridian_cli.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.test.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/pi_harness_profile.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/pi_state_paths.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/schemas.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/selectable_panel.test.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/selectable_panel.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/extensions/shared/ui.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/package.json +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/pnpm-lock.yaml +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/pnpm-workspace.yaml +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/scripts/verify-extensions-loop.mjs +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/pi_runtime/vitest.config.ts +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/config.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/fs.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/git.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/state.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/plugin_api/types.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/py.typed +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/server/AGENTS.md +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/server/__init__.py +0 -0
- {meridian_cli-0.2.19 → meridian_cli-0.2.22}/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.2.
|
|
3
|
+
Version: 0.2.22
|
|
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
|
|
@@ -63,7 +63,9 @@ templates = [
|
|
|
63
63
|
]
|
|
64
64
|
|
|
65
65
|
[build-system]
|
|
66
|
-
|
|
66
|
+
# Pinned: hatchling >=1.28 emits Metadata-Version 2.5, rejected by pypa/gh-action-pypi-publish.
|
|
67
|
+
# When the publisher supports 2.5, remove the pin and drop scripts/verify-release-metadata.py.
|
|
68
|
+
requires = ["hatchling==1.27.0"]
|
|
67
69
|
build-backend = "hatchling.build"
|
|
68
70
|
|
|
69
71
|
[tool.hatch.version]
|
|
@@ -23,12 +23,20 @@ _TOP_LEVEL_VALUE_FLAGS = frozenset(
|
|
|
23
23
|
"--fork",
|
|
24
24
|
"--fork-fresh",
|
|
25
25
|
"--from",
|
|
26
|
+
"--file",
|
|
27
|
+
"-f",
|
|
28
|
+
"--prompt-file",
|
|
29
|
+
"--prompt",
|
|
30
|
+
"-p",
|
|
31
|
+
"--skills",
|
|
32
|
+
"--goal",
|
|
26
33
|
"--model",
|
|
27
34
|
"-m",
|
|
28
35
|
"--harness",
|
|
29
36
|
"-a",
|
|
30
37
|
"--work",
|
|
31
38
|
"--autocompact",
|
|
39
|
+
"--autocompact-pct",
|
|
32
40
|
"--effort",
|
|
33
41
|
"--sandbox",
|
|
34
42
|
"--approval",
|
|
@@ -71,7 +71,7 @@ Claude profile includes:
|
|
|
71
71
|
- `[harness.claude] wait_yield_seconds` — polling interval (float, env:
|
|
72
72
|
`MERIDIAN_HARNESS_WAIT_YIELD_SECONDS_CLAUDE`)
|
|
73
73
|
- `[harness.claude] allow_builtin_agents` — whether to permit Claude's built-in
|
|
74
|
-
subagents (Explore, Plan,
|
|
74
|
+
subagents (Explore, Plan, general-purpose). Default `false` — Meridian denies them
|
|
75
75
|
so sessions use custom Meridian agents exclusively. Set `true` to opt out.
|
|
76
76
|
|
|
77
77
|
## Depth
|
|
@@ -345,6 +345,15 @@ def _normalize_harness_table(
|
|
|
345
345
|
)
|
|
346
346
|
harness_values["wait_yield_seconds"] = float(harness_value)
|
|
347
347
|
continue
|
|
348
|
+
if key == "claude" and harness_key == "allow_builtin_agents":
|
|
349
|
+
if not isinstance(harness_value, bool):
|
|
350
|
+
raise ValueError(
|
|
351
|
+
f"Invalid value for '{source}.{key}.allow_builtin_agents': "
|
|
352
|
+
f"expected bool, got "
|
|
353
|
+
f"{type(harness_value).__name__} ({harness_value!r})."
|
|
354
|
+
)
|
|
355
|
+
harness_values["allow_builtin_agents"] = harness_value
|
|
356
|
+
continue
|
|
348
357
|
if key == "pi" and harness_key == "disable_managed_bash":
|
|
349
358
|
if not isinstance(harness_value, bool):
|
|
350
359
|
raise ValueError(
|
|
@@ -425,6 +434,9 @@ def _normalize_spawn_table(raw_value: object, *, source: str) -> dict[str, objec
|
|
|
425
434
|
|
|
426
435
|
values: dict[str, object] = {}
|
|
427
436
|
for key, value in cast("dict[str, object]", raw_value).items():
|
|
437
|
+
if key == "deny_headless_harnesses":
|
|
438
|
+
values[key] = _parse_toml_list(raw_value=value, source=f"{source}.{key}")
|
|
439
|
+
continue
|
|
428
440
|
if key not in {"default_wait_yield_seconds", "min_wait_yield_seconds"}:
|
|
429
441
|
logger.warning("Ignoring unknown Meridian config key '%s.%s'.", source, key)
|
|
430
442
|
continue
|
|
@@ -1154,6 +1166,7 @@ class HarnessProfileConfig(BaseModel):
|
|
|
1154
1166
|
|
|
1155
1167
|
|
|
1156
1168
|
class ClaudeHarnessProfileConfig(HarnessProfileConfig):
|
|
1169
|
+
allow_builtin_agents: bool = False
|
|
1157
1170
|
model: Annotated[
|
|
1158
1171
|
str,
|
|
1159
1172
|
config_field(
|
|
@@ -1354,6 +1367,14 @@ class MeridianConfig(BaseSettings):
|
|
|
1354
1367
|
env_vars=("MERIDIAN_MIN_WAIT_YIELD_SECONDS",),
|
|
1355
1368
|
),
|
|
1356
1369
|
] = 30.0
|
|
1370
|
+
deny_headless_harnesses: Annotated[
|
|
1371
|
+
tuple[str, ...],
|
|
1372
|
+
config_field(
|
|
1373
|
+
"spawn.deny_headless_harnesses",
|
|
1374
|
+
value_kind="str_list",
|
|
1375
|
+
file_aliases=(file_alias("spawn", "deny_headless_harnesses"),),
|
|
1376
|
+
),
|
|
1377
|
+
] = ()
|
|
1357
1378
|
harness: HarnessConfig = Field(default_factory=HarnessConfig)
|
|
1358
1379
|
primary: PrimaryConfig = Field(default_factory=PrimaryConfig)
|
|
1359
1380
|
output: OutputConfig = Field(default_factory=OutputConfig)
|
|
@@ -1560,6 +1581,23 @@ def resolve_pi_harness_profile_for_launch(
|
|
|
1560
1581
|
)
|
|
1561
1582
|
|
|
1562
1583
|
|
|
1584
|
+
def resolve_claude_allow_builtin_agents_for_launch(
|
|
1585
|
+
*,
|
|
1586
|
+
config_snapshot: dict[str, object] | None,
|
|
1587
|
+
project_root: Path,
|
|
1588
|
+
) -> bool:
|
|
1589
|
+
"""Resolve ``[harness.claude].allow_builtin_agents`` from a launch config snapshot."""
|
|
1590
|
+
|
|
1591
|
+
if config_snapshot:
|
|
1592
|
+
try:
|
|
1593
|
+
return bool(
|
|
1594
|
+
MeridianConfig.model_validate(config_snapshot).harness.claude.allow_builtin_agents
|
|
1595
|
+
)
|
|
1596
|
+
except Exception:
|
|
1597
|
+
pass
|
|
1598
|
+
return bool(load_config(project_root).harness.claude.allow_builtin_agents)
|
|
1599
|
+
|
|
1600
|
+
|
|
1563
1601
|
def resolve_pi_disable_managed_bash() -> bool:
|
|
1564
1602
|
"""Resolve whether Meridian should skip Pi's managed bash extension."""
|
|
1565
1603
|
|
|
@@ -39,7 +39,7 @@ Per-harness mapping:
|
|
|
39
39
|
- Claude subprocess: `claude -p --output-format stream-json --verbose -`
|
|
40
40
|
- Claude connection: `claude -p --input-format stream-json --output-format stream-json --verbose` (stdin/stdout NDJSON, not WebSocket despite `claude_ws.py` name)
|
|
41
41
|
- **Claude built-in agent denial**: Meridian injects `--disallowedTools
|
|
42
|
-
Agent(Explore),Agent(Plan),Agent(
|
|
42
|
+
Agent(Explore),Agent(Plan),Agent(general-purpose)` by default. Gated by
|
|
43
43
|
`[harness.claude] allow_builtin_agents` (bool, default `false`). The denials
|
|
44
44
|
merge into permission-derived `--disallowedTools` via `dedupe_nonempty()`.
|
|
45
45
|
- Codex subprocess: `codex exec --json`; connection: `codex app-server` (real WebSocket, JSON-RPC 2.0)
|
|
@@ -190,9 +190,9 @@ value. Windows does not support PTY — Claude primary uses a fallback detection
|
|
|
190
190
|
|
|
191
191
|
### Claude: Built-in Subagent Denial
|
|
192
192
|
|
|
193
|
-
Claude Code ships with three built-in subagents: Explore, Plan, and
|
|
193
|
+
Claude Code ships with three built-in subagents: Explore, Plan, and general-purpose.
|
|
194
194
|
These conflict with Meridian's own agent system. Meridian injects
|
|
195
|
-
`--disallowedTools Agent(Explore),Agent(Plan),Agent(
|
|
195
|
+
`--disallowedTools Agent(Explore),Agent(Plan),Agent(general-purpose)` by default
|
|
196
196
|
so Claude sessions use custom Meridian agents exclusively. The behavior is gated by
|
|
197
197
|
`[harness.claude] allow_builtin_agents` (bool, default `false`).
|
|
198
198
|
|
|
@@ -205,7 +205,7 @@ permission-derived `--disallowedTools` so exactly one flag is emitted.
|
|
|
205
205
|
This is implemented as a Meridian platform policy (harness adapter injection),
|
|
206
206
|
not as a per-agent `disallowed-tools` field. This means individual agent profiles
|
|
207
207
|
no longer need to carry deny entries like
|
|
208
|
-
`disallowed-tools: [Agent(Explore), Agent(Plan), Agent(
|
|
208
|
+
`disallowed-tools: [Agent(Explore), Agent(Plan), Agent(general-purpose)]` —
|
|
209
209
|
they're inherited from the harness adapter.
|
|
210
210
|
|
|
211
211
|
### Claude: System-Prompt File Channel
|
|
@@ -38,7 +38,7 @@ Per-harness commands:
|
|
|
38
38
|
- Claude subprocess: `claude -p --output-format stream-json --verbose -`
|
|
39
39
|
- Claude connection: stdin/stdout NDJSON (not WebSocket despite `claude_ws.py` name)
|
|
40
40
|
- **Claude built-in agent denial**: Meridian injects
|
|
41
|
-
`--disallowedTools Agent(Explore),Agent(Plan),Agent(
|
|
41
|
+
`--disallowedTools Agent(Explore),Agent(Plan),Agent(general-purpose)` by default
|
|
42
42
|
so sessions use custom Meridian agents instead of Claude's built-in subagents.
|
|
43
43
|
Gated by `[harness.claude] allow_builtin_agents` (bool, default `false`).
|
|
44
44
|
The builtin denials merge into permission-derived `--disallowedTools` via
|
|
@@ -237,6 +237,7 @@ class SpawnParams(BaseModel):
|
|
|
237
237
|
context_from_payload: tuple[str, ...] = ()
|
|
238
238
|
reference_items: tuple[Any, ...] = ()
|
|
239
239
|
pi_harness_profile: PiHarnessProfileConfig | None = None
|
|
240
|
+
claude_allow_builtin_agents: bool = False
|
|
240
241
|
|
|
241
242
|
|
|
242
243
|
class McpConfig(BaseModel):
|
|
@@ -265,6 +265,7 @@ class ClaudeAdapter(BaseHarnessAdapter[ResolvedLaunchSpec]):
|
|
|
265
265
|
"mcp_tools",
|
|
266
266
|
"projected_roots",
|
|
267
267
|
"user_turn_content",
|
|
268
|
+
"claude_allow_builtin_agents",
|
|
268
269
|
}
|
|
269
270
|
)
|
|
270
271
|
_EXPLICITLY_IGNORED_FIELDS: ClassVar[frozenset[str]] = frozenset(
|
|
@@ -374,6 +375,9 @@ class ClaudeAdapter(BaseHarnessAdapter[ResolvedLaunchSpec]):
|
|
|
374
375
|
prompt_file_path = str(Path(run.control_root) / "system-prompt.md")
|
|
375
376
|
# Extract user_turn_content from run params if available
|
|
376
377
|
user_turn_content = getattr(run, "user_turn_content", None)
|
|
378
|
+
disallowed_tools: tuple[str, ...] = ()
|
|
379
|
+
if not run.claude_allow_builtin_agents:
|
|
380
|
+
disallowed_tools = ("Agent(Explore),Agent(Plan),Agent(general-purpose)",)
|
|
377
381
|
return ResolvedLaunchSpec(
|
|
378
382
|
harness=HarnessId.CLAUDE,
|
|
379
383
|
model=str(run.model).strip() if run.model else None,
|
|
@@ -391,6 +395,7 @@ class ClaudeAdapter(BaseHarnessAdapter[ResolvedLaunchSpec]):
|
|
|
391
395
|
agent_name=run.agent,
|
|
392
396
|
prompt_file_path=prompt_file_path,
|
|
393
397
|
user_turn_content=user_turn_content,
|
|
398
|
+
disallowed_tools=disallowed_tools,
|
|
394
399
|
)
|
|
395
400
|
|
|
396
401
|
def preflight(
|
{meridian_cli-0.2.19 → meridian_cli-0.2.22}/src/meridian/lib/harness/projections/project_claude.py
RENAMED
|
@@ -33,6 +33,7 @@ _PROJECTED_FIELDS: frozenset[str] = frozenset(
|
|
|
33
33
|
"prompt",
|
|
34
34
|
"prompt_file_path",
|
|
35
35
|
"user_turn_content",
|
|
36
|
+
"disallowed_tools",
|
|
36
37
|
}
|
|
37
38
|
)
|
|
38
39
|
|
|
@@ -179,6 +180,10 @@ def project_claude_spec_to_cli_args(
|
|
|
179
180
|
|
|
180
181
|
permission_flags = resolve_permission_flags(spec.permission_resolver, HarnessId.CLAUDE)
|
|
181
182
|
permission_tail, allowed_tools, disallowed_tools = _extract_claude_tool_flags(permission_flags)
|
|
183
|
+
spec_disallowed: list[str] = []
|
|
184
|
+
for entry in spec.disallowed_tools:
|
|
185
|
+
spec_disallowed.extend(split_csv_entries(entry))
|
|
186
|
+
disallowed_tools = dedupe_nonempty((*disallowed_tools, *spec_disallowed))
|
|
182
187
|
allowed_tools = dedupe_nonempty((*allowed_tools, *parent_allowed_tools))
|
|
183
188
|
command.extend(permission_tail)
|
|
184
189
|
if allowed_tools:
|
|
@@ -23,6 +23,7 @@ from meridian.lib.config.settings import (
|
|
|
23
23
|
MeridianConfig,
|
|
24
24
|
PiHarnessProfileConfig,
|
|
25
25
|
load_config,
|
|
26
|
+
resolve_claude_allow_builtin_agents_for_launch,
|
|
26
27
|
resolve_pi_harness_profile_for_launch,
|
|
27
28
|
)
|
|
28
29
|
from meridian.lib.config.workspace import get_projectable_roots
|
|
@@ -555,6 +556,7 @@ def materialize_launch_artifacts(
|
|
|
555
556
|
approval: str | None = None,
|
|
556
557
|
unsafe_no_permissions: bool = False,
|
|
557
558
|
pi_harness_profile: PiHarnessProfileConfig | None = None,
|
|
559
|
+
claude_allow_builtin_agents: bool = False,
|
|
558
560
|
) -> MaterializedLaunchArtifacts:
|
|
559
561
|
"""Build shared run/spec/permission launch artifacts."""
|
|
560
562
|
|
|
@@ -595,6 +597,7 @@ def materialize_launch_artifacts(
|
|
|
595
597
|
reference_items=reference_items,
|
|
596
598
|
user_turn_content=prompt_payload.user_turn_content,
|
|
597
599
|
pi_harness_profile=pi_harness_profile,
|
|
600
|
+
claude_allow_builtin_agents=claude_allow_builtin_agents,
|
|
598
601
|
)
|
|
599
602
|
permission_config, perms = resolve_permission_pipeline(
|
|
600
603
|
sandbox=sandbox,
|
|
@@ -611,6 +614,51 @@ def materialize_launch_artifacts(
|
|
|
611
614
|
)
|
|
612
615
|
|
|
613
616
|
|
|
617
|
+
def _resolve_deny_headless_harnesses(
|
|
618
|
+
runtime: LaunchRuntime,
|
|
619
|
+
project_paths: ProjectConfigPaths,
|
|
620
|
+
) -> tuple[str, ...]:
|
|
621
|
+
"""Resolve ``[spawn].deny_headless_harnesses`` from config."""
|
|
622
|
+
if runtime.config_snapshot:
|
|
623
|
+
try:
|
|
624
|
+
return tuple(
|
|
625
|
+
MeridianConfig.model_validate(
|
|
626
|
+
runtime.config_snapshot
|
|
627
|
+
).deny_headless_harnesses
|
|
628
|
+
)
|
|
629
|
+
except Exception:
|
|
630
|
+
pass
|
|
631
|
+
return tuple(load_config(project_paths.project_root).deny_headless_harnesses)
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
_CLAUDE_DELEGATION_GUIDANCE = (
|
|
635
|
+
"\n\n# Delegation\n"
|
|
636
|
+
"Prefer Agent() for agents in your agents menu — in-process, fast, visible.\n"
|
|
637
|
+
"Use `meridian spawn` for agents not in the menu or when you need session\n"
|
|
638
|
+
"tracking / cross-harness models. Use `/handoff` when the user takes the baton.\n"
|
|
639
|
+
)
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
def _inject_claude_delegation_guidance(
|
|
643
|
+
prompt_payload: PreparedPromptPayload,
|
|
644
|
+
*,
|
|
645
|
+
project_root: Path,
|
|
646
|
+
) -> PreparedPromptPayload:
|
|
647
|
+
"""Append delegation guidance when Claude has native agents available."""
|
|
648
|
+
claude_agents_dir = project_root / ".claude" / "agents"
|
|
649
|
+
try:
|
|
650
|
+
has_claude_agents = claude_agents_dir.is_dir() and any(claude_agents_dir.iterdir())
|
|
651
|
+
except OSError:
|
|
652
|
+
return prompt_payload
|
|
653
|
+
if not has_claude_agents:
|
|
654
|
+
return prompt_payload
|
|
655
|
+
existing = prompt_payload.appended_system_prompt or ""
|
|
656
|
+
return replace(
|
|
657
|
+
prompt_payload,
|
|
658
|
+
appended_system_prompt=(existing + _CLAUDE_DELEGATION_GUIDANCE).lstrip(),
|
|
659
|
+
)
|
|
660
|
+
|
|
661
|
+
|
|
614
662
|
def _missing_continue_session_error(source_ref: str | None) -> str:
|
|
615
663
|
normalized_source = (source_ref or "").strip()
|
|
616
664
|
if normalized_source:
|
|
@@ -1683,6 +1731,17 @@ def bind_launch_context(
|
|
|
1683
1731
|
}
|
|
1684
1732
|
)
|
|
1685
1733
|
|
|
1734
|
+
if (
|
|
1735
|
+
runtime.composition_surface == LaunchCompositionSurface.SPAWN_PREPARE
|
|
1736
|
+
and harness.id.value in _resolve_deny_headless_harnesses(runtime, project_paths)
|
|
1737
|
+
):
|
|
1738
|
+
raise ValueError(
|
|
1739
|
+
f"Headless spawns on the '{harness.id.value}' harness are denied by "
|
|
1740
|
+
f"'[spawn] deny_headless_harnesses' in meridian.toml. "
|
|
1741
|
+
f"Use a native primary session for the {harness.id.value} harness, "
|
|
1742
|
+
"or change the setting in meridian.toml."
|
|
1743
|
+
)
|
|
1744
|
+
|
|
1686
1745
|
is_primary_launch = runtime.composition_surface == LaunchCompositionSurface.PRIMARY
|
|
1687
1746
|
inject_task_cwd_instruction = directory_context.should_inject_task_cwd_instruction(
|
|
1688
1747
|
runtime.composition_surface
|
|
@@ -1695,6 +1754,21 @@ def bind_launch_context(
|
|
|
1695
1754
|
if harness.id == HarnessId.PI
|
|
1696
1755
|
else None
|
|
1697
1756
|
)
|
|
1757
|
+
claude_allow_builtin_agents = (
|
|
1758
|
+
resolve_claude_allow_builtin_agents_for_launch(
|
|
1759
|
+
config_snapshot=runtime.config_snapshot,
|
|
1760
|
+
project_root=project_paths.project_root,
|
|
1761
|
+
)
|
|
1762
|
+
if harness.id == HarnessId.CLAUDE
|
|
1763
|
+
else False
|
|
1764
|
+
)
|
|
1765
|
+
if (
|
|
1766
|
+
harness.id == HarnessId.CLAUDE
|
|
1767
|
+
and runtime.composition_surface == LaunchCompositionSurface.PRIMARY
|
|
1768
|
+
):
|
|
1769
|
+
prompt_payload = _inject_claude_delegation_guidance(
|
|
1770
|
+
prompt_payload, project_root=project_root
|
|
1771
|
+
)
|
|
1698
1772
|
materialized = materialize_launch_artifacts(
|
|
1699
1773
|
harness=harness,
|
|
1700
1774
|
prompt=resolved_request.prompt,
|
|
@@ -1724,6 +1798,7 @@ def bind_launch_context(
|
|
|
1724
1798
|
approval=resolved_request.execution_policy.approval,
|
|
1725
1799
|
unsafe_no_permissions=runtime.unsafe_no_permissions,
|
|
1726
1800
|
pi_harness_profile=pi_harness_profile,
|
|
1801
|
+
claude_allow_builtin_agents=claude_allow_builtin_agents,
|
|
1727
1802
|
)
|
|
1728
1803
|
run_params = materialized.run_params
|
|
1729
1804
|
|
|
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
|