apm-cli 0.25.0__tar.gz → 0.27.0__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.
- {apm_cli-0.25.0 → apm_cli-0.27.0}/NOTICE +37 -0
- {apm_cli-0.25.0/src/apm_cli.egg-info → apm_cli-0.27.0}/PKG-INFO +4 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/pyproject.toml +51 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/base.py +574 -6
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/codex.py +24 -7
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/copilot.py +54 -17
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/gemini.py +5 -7
- apm_cli-0.27.0/src/apm_cli/adapters/client/intellij.py +281 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/vscode.py +411 -124
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/plugin_exporter.py +2 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/url_normalize.py +2 -5
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cli.py +9 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/approve.py +56 -31
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/audit.py +109 -18
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/doctor.py +2 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/install.py +104 -65
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/lock.py +7 -6
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/check.py +7 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/doctor.py +6 -3
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/outdated.py +5 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/policy.py +18 -18
- apm_cli-0.27.0/src/apm_cli/commands/prune.py +354 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/self_update.py +90 -40
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/uninstall/cli.py +146 -40
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/uninstall/engine.py +608 -93
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/uninstall/lockfile_state.py +16 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/update.py +150 -25
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/link_resolver.py +30 -31
- apm_cli-0.27.0/src/apm_cli/core/_child_tls/__init__.py +15 -0
- apm_cli-0.27.0/src/apm_cli/core/_child_tls/_apm_tls.pth +1 -0
- apm_cli-0.27.0/src/apm_cli/core/_child_tls/_apm_tls_bootstrap.py +59 -0
- apm_cli-0.27.0/src/apm_cli/core/apm_yml.py +160 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/auth.py +448 -64
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/deployment_ledger.py +319 -13
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/deployment_state.py +75 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/host_providers.py +22 -3
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/operations.py +8 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/safe_installer.py +3 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/scope.py +5 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/target_detection.py +178 -0
- apm_cli-0.27.0/src/apm_cli/core/tls_trust.py +343 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/apm_resolver.py +71 -11
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/bare_cache.py +64 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/clone_engine.py +127 -30
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/dependency_graph.py +9 -9
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/download_strategies.py +397 -117
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/git_auth_env.py +32 -15
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/git_file_transport.py +38 -3
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/git_reference_resolver.py +174 -37
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/git_semver_resolver.py +7 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/github_downloader.py +179 -30
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/github_downloader_validation.py +176 -29
- apm_cli-0.27.0/src/apm_cli/deps/github_rate_limit.py +77 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/host_backends.py +6 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/lockfile.py +94 -33
- apm_cli-0.27.0/src/apm_cli/deps/reachability.py +245 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/shared_clone_cache.py +57 -35
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/tiered_ref_resolver.py +118 -17
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/drift.py +31 -0
- apm_cli-0.27.0/src/apm_cli/install/audit_replay.py +112 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/context.py +11 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/drift.py +277 -149
- apm_cli-0.27.0/src/apm_cli/install/drift_render.py +100 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/errors.py +4 -0
- apm_cli-0.27.0/src/apm_cli/install/helpers/no_work.py +34 -0
- apm_cli-0.27.0/src/apm_cli/install/helpers/ref_reuse.py +272 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/helpers/ref_seed.py +11 -11
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/integrity.py +10 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/local_bundle_handler.py +80 -45
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/lsp/integration.py +36 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/manifest_reconcile.py +310 -21
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/command.py +75 -7
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/integration.py +78 -16
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/ownership.py +22 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/outcome.py +1 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/cleanup.py +41 -11
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/finalize.py +125 -19
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/lockfile.py +152 -8
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/post_deps_local.py +28 -47
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/resolve.py +176 -176
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/targets.py +27 -36
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/pipeline.py +71 -67
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/plan.py +39 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/request.py +4 -1
- apm_cli-0.27.0/src/apm_cli/install/resolution_staging.py +126 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/service.py +64 -5
- apm_cli-0.27.0/src/apm_cli/install/service_integration.py +126 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/services.py +62 -21
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/sources.py +10 -2
- apm_cli-0.27.0/src/apm_cli/install/target_filter.py +131 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/validation.py +116 -64
- apm_cli-0.27.0/src/apm_cli/integration/_hook_dropped_targets.py +129 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/agent_integrator.py +85 -7
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/base_integrator.py +11 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/cleanup.py +23 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/hook_bundle.py +23 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/hook_integrator.py +378 -295
- apm_cli-0.27.0/src/apm_cli/integration/hook_ownership.py +296 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/kiro_hook_integrator.py +11 -10
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/lsp_integrator.py +69 -10
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/mcp_config_view.py +105 -7
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/mcp_integrator.py +140 -47
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/mcp_integrator_install.py +365 -89
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/opencode_frontmatter.py +4 -18
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/skill_integrator.py +83 -36
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/targets.py +25 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/auth_helpers.py +1 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/builder.py +30 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/client.py +45 -12
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/models.py +29 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/output_mappers.py +14 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/ref_resolver.py +200 -34
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/resolver.py +121 -81
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/tag_pattern.py +33 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/version_resolver.py +15 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/yml_schema.py +11 -10
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/apm_package.py +99 -18
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/identity.py +44 -9
- apm_cli-0.27.0/src/apm_cli/models/dependency/materialization.py +351 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/object_fields.py +31 -1
- apm_cli-0.27.0/src/apm_cli/models/dependency/provider_coordinates.py +54 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/reference.py +100 -154
- apm_cli-0.27.0/src/apm_cli/models/dependency/selection.py +105 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/subsets.py +28 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/results.py +7 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/validation.py +2 -6
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/ci_checks.py +164 -55
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/discovery.py +556 -101
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/install_preflight.py +6 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/models.py +1 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/outcome_routing.py +13 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/parser.py +5 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/policy_checks.py +62 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/registry/operations.py +46 -19
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/base.py +10 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/llm_runtime.py +15 -2
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/manager.py +38 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/audit_report.py +139 -23
- apm_cli-0.27.0/src/apm_cli/security/file_scanner.py +238 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/gate.py +22 -6
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/atomic_io.py +8 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/diagnostics.py +40 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/git_env.py +10 -15
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/github_host.py +220 -9
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/paths.py +16 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/version_checker.py +1 -4
- {apm_cli-0.25.0 → apm_cli-0.27.0/src/apm_cli.egg-info}/PKG-INFO +4 -1
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli.egg-info/SOURCES.txt +15 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli.egg-info/requires.txt +3 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_apm_package_models.py +6 -5
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_codex_docker_args_fix.py +13 -7
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_github_downloader.py +75 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_gitlab_git_transport.py +121 -21
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_lockfile.py +5 -0
- apm_cli-0.25.0/src/apm_cli/adapters/client/intellij.py +0 -104
- apm_cli-0.25.0/src/apm_cli/commands/prune.py +0 -168
- apm_cli-0.25.0/src/apm_cli/core/apm_yml.py +0 -98
- apm_cli-0.25.0/src/apm_cli/install/helpers/ref_reuse.py +0 -119
- apm_cli-0.25.0/src/apm_cli/install/resolution_staging.py +0 -59
- apm_cli-0.25.0/src/apm_cli/install/target_filter.py +0 -33
- apm_cli-0.25.0/src/apm_cli/security/file_scanner.py +0 -84
- {apm_cli-0.25.0 → apm_cli-0.27.0}/AUTHORS +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/LICENSE +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/README.md +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/setup.cfg +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/_mcp_runtime_args.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/antigravity.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/claude.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/cursor.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/hermes.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/kiro.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/opencode.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/client/windsurf.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/package_manager/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/package_manager/base.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/adapters/package_manager/default_manager.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bootstrap_mirror.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/attest.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/local_bundle.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/lockfile_enrichment.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/packer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/plugin_layout.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/bundle/unpacker.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/git_cache.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/http_cache.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/integrity.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/locking.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/cache/paths.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/_apm_yml_writer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/_helpers.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/cache.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/compile/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/compile/cli.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/compile/watcher.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/config.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/deps/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/deps/_utils.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/deps/cli.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/deps/why.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/experimental.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/find.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/init.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/lifecycle.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/list_cmd.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/audit.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/init.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/migrate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/outdated.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/plugin/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/plugin/add.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/plugin/remove.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/plugin/set.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/marketplace/validate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/mcp.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/pack.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/plugin/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/plugin/init.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/publish.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/run.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/runtime.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/targets.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/uninstall/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/commands/view.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/agents_compiler.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/build_id.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/claude_formatter.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/constants.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/constitution.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/constitution_block.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/context_optimizer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/distributed_compiler.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/gemini_formatter.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/injector.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/managed_section.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/output_writer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/template_builder.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/compilation/user_root_context.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/config.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/constants.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/azure_cli.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/build_orchestrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/command_logger.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/conflict_detector.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/docker_args.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/errors.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/experimental.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/install_audit.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/lifecycle_scripts.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/null_logger.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/output_mode.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/plugin_manifest.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/script_executors.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/script_runner.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/script_trust.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/target_catalog.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/core/token_manager.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/_shared.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/aggregator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/artifactory_entry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/artifactory_orchestrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/git_remote_ops.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/installed_package.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/outdated_ref_cache.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/outdated_row.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/package_validator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/path_anchoring.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/plugin_parser.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/auth.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/client.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/config_loader.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/extractor.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/feature_gate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/outdated.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/resolver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry/semver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/registry_proxy.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/revision_pins.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/transport_selection.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/verifier.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/deps/why_walker.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/authoring.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/declared_license.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/formats.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/purl.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/sbom.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/spdx.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/export/spdx_data.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/factory.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/artifactory_resolver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/cache_pin.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/deployed_paths.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/exec_gate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/gitlab_resolver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/heals/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/heals/base.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/heals/branch_ref_drift.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/heals/buggy_lockfile_recovery.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/helpers/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/helpers/security_scan.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/insecure_policy.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/lsp/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/args.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/conflicts.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/entry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/registry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/warnings.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/mcp/writer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/package_resolution.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/package_selection.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/_redownload.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/_skip_logic.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/audit.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/download.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/heal.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/integrate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/local_content.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/policy_gate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/phases/policy_target_check.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/presentation/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/presentation/dry_run.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/registry_wiring.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/root_redirect.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/skill_path_migration.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/summary.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/target_warnings.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/template.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/install/transaction.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/_shared.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/canvas_integrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/command_integrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/copilot_app_db.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/copilot_app_project.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/copilot_app_workflow_integrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/copilot_app_ws.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/copilot_cowork_paths.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/coverage.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/dispatch.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/hook_file_routing.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/hook_ir.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/hook_native_formats.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/instruction_integrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/prompt_integrator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/skill_transformer.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/integration/utils.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/_git_utils.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/_io.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/_shared.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/audit.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/diagnostics.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/drift_check.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/errors.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/git_stderr.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/init_template.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/migration.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/output_profiles.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/registry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/semver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/shadow_detector.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/validator.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/version_check.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/version_pins.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/marketplace/yml_editor.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/lsp.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/mcp.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/dependency/types.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/format_detection.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/manifest_contract.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/models/plugin.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/output/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/output/formatters.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/output/models.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/output/script_formatters.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/_constraint_pinning.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/_help_text.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/_shared.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/inheritance.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/matcher.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/project_config.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/policy/schema.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/primitives/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/primitives/discovery.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/primitives/models.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/primitives/parser.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/registry/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/registry/client.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/registry/integration.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/codex_runtime.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/copilot_runtime.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/factory.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/registry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/runtime/utils.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/content_scanner.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/executables.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/base.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/gate.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/generic_sarif.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/options.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/registry.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/runner.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/sarif_ingest.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/security/external/skillspector.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/update_policy.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/archive.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/console.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/content_hash.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/exclude.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/file_ops.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/git_sparse.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/guards.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/helpers.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/install_tui.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/normalization.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/path_security.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/patterns.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/perf_stats.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/reflink.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/short_sha.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/subprocess_env.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/utils/yaml_io.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/version.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/workflow/__init__.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/workflow/discovery.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/workflow/parser.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli/workflow/runner.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli.egg-info/dependency_links.txt +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli.egg-info/entry_points.txt +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/src/apm_cli.egg-info/top_level.txt +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_apm_resolver.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_codex_empty_string_and_defaults.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_collision_integration.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_console.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_distributed_compilation.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_empty_string_and_defaults.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_enhanced_discovery.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_github_downloader_token_precedence.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_runnable_prompts.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_runtime_manager_token_precedence.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_token_manager.py +0 -0
- {apm_cli-0.25.0 → apm_cli-0.27.0}/tests/test_virtual_package_multi_install.py +0 -0
|
@@ -334,6 +334,43 @@ Copyright 2019 Kenneth Reitz
|
|
|
334
334
|
|
|
335
335
|
---
|
|
336
336
|
|
|
337
|
+
## Component. truststore
|
|
338
|
+
|
|
339
|
+
- Version requirement: `>=0.10.0`
|
|
340
|
+
- Upstream: https://github.com/sethmlarson/truststore
|
|
341
|
+
- SPDX: `MIT`
|
|
342
|
+
- Notes: Verifies HTTPS against the operating-system trust store by default so `apm` works behind a corporate CA / TLS-inspecting proxy.
|
|
343
|
+
|
|
344
|
+
### Open Source License/Copyright Notice.
|
|
345
|
+
|
|
346
|
+
_Copyright (c) 2022 Seth Michael Larson_
|
|
347
|
+
|
|
348
|
+
```
|
|
349
|
+
The MIT License (MIT)
|
|
350
|
+
|
|
351
|
+
Copyright (c) 2022 Seth Michael Larson
|
|
352
|
+
|
|
353
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
354
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
355
|
+
in the Software without restriction, including without limitation the rights
|
|
356
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
357
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
358
|
+
furnished to do so, subject to the following conditions:
|
|
359
|
+
|
|
360
|
+
The above copyright notice and this permission notice shall be included in
|
|
361
|
+
all copies or substantial portions of the Software.
|
|
362
|
+
|
|
363
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
364
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
365
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
366
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
367
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
368
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
369
|
+
THE SOFTWARE.
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
337
374
|
## Component. python-frontmatter
|
|
338
375
|
|
|
339
376
|
- Version requirement: `>=1.0.0`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apm-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.27.0
|
|
4
4
|
Summary: MCP configuration tool
|
|
5
5
|
Author-email: Daniel Meppiel <user@example.com>
|
|
6
6
|
License: MIT License
|
|
@@ -41,6 +41,7 @@ Requires-Dist: click>=8.0.0
|
|
|
41
41
|
Requires-Dist: colorama>=0.4.6
|
|
42
42
|
Requires-Dist: pyyaml>=6.0.0
|
|
43
43
|
Requires-Dist: requests>=2.31.0
|
|
44
|
+
Requires-Dist: truststore>=0.10.0
|
|
44
45
|
Requires-Dist: python-frontmatter>=1.0.0
|
|
45
46
|
Requires-Dist: llm>=0.28
|
|
46
47
|
Requires-Dist: llm-github-models>=0.18.0
|
|
@@ -63,6 +64,8 @@ Requires-Dist: ruff>=0.11.0; extra == "dev"
|
|
|
63
64
|
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
64
65
|
Requires-Dist: jsonschema>=4.0.0; extra == "dev"
|
|
65
66
|
Requires-Dist: pylint>=3.0.0; extra == "dev"
|
|
67
|
+
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
|
|
68
|
+
Requires-Dist: mutmut==3.6.0; extra == "dev"
|
|
66
69
|
Provides-Extra: build
|
|
67
70
|
Requires-Dist: pyinstaller>=6.0.0; extra == "build"
|
|
68
71
|
Dynamic: license-file
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "apm-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.27.0"
|
|
8
8
|
description = "MCP configuration tool"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -26,6 +26,7 @@ dependencies = [
|
|
|
26
26
|
"colorama>=0.4.6",
|
|
27
27
|
"pyyaml>=6.0.0",
|
|
28
28
|
"requests>=2.31.0",
|
|
29
|
+
"truststore>=0.10.0",
|
|
29
30
|
"python-frontmatter>=1.0.0",
|
|
30
31
|
"llm>=0.28",
|
|
31
32
|
"llm-github-models>=0.18.0",
|
|
@@ -51,6 +52,8 @@ dev = [
|
|
|
51
52
|
"mypy>=1.0.0",
|
|
52
53
|
"jsonschema>=4.0.0",
|
|
53
54
|
"pylint>=3.0.0",
|
|
55
|
+
"hypothesis>=6.0.0",
|
|
56
|
+
"mutmut==3.6.0",
|
|
54
57
|
]
|
|
55
58
|
build = [
|
|
56
59
|
"pyinstaller>=6.0.0",
|
|
@@ -63,6 +66,12 @@ apm = "apm_cli.cli:main"
|
|
|
63
66
|
where = ["src"]
|
|
64
67
|
include = ["apm_cli*"]
|
|
65
68
|
|
|
69
|
+
[tool.setuptools.package-data]
|
|
70
|
+
# Belt-and-suspenders: ship the child-TLS .pth alongside the bootstrap module.
|
|
71
|
+
# Delivery no longer depends on this (ensure_child_tls_bootstrap generates the
|
|
72
|
+
# .pth inline), but packaging it keeps the source tree and wheel in sync.
|
|
73
|
+
"apm_cli.core._child_tls" = ["*.pth"]
|
|
74
|
+
|
|
66
75
|
[tool.ruff]
|
|
67
76
|
line-length = 100
|
|
68
77
|
target-version = "py310"
|
|
@@ -152,22 +161,62 @@ exclude_lines = [
|
|
|
152
161
|
"@overload",
|
|
153
162
|
]
|
|
154
163
|
|
|
164
|
+
[tool.mutmut]
|
|
165
|
+
source_paths = ["src/"]
|
|
166
|
+
only_mutate = [
|
|
167
|
+
"src/apm_cli/models/dependency/subsets.py",
|
|
168
|
+
"src/apm_cli/install/plan.py",
|
|
169
|
+
"src/apm_cli/policy/discovery.py",
|
|
170
|
+
"src/apm_cli/compilation/link_resolver.py",
|
|
171
|
+
"src/apm_cli/deps/lockfile.py",
|
|
172
|
+
]
|
|
173
|
+
pytest_add_cli_args = [
|
|
174
|
+
"-n0",
|
|
175
|
+
"-p",
|
|
176
|
+
"no:cacheprovider",
|
|
177
|
+
"-o",
|
|
178
|
+
"addopts=",
|
|
179
|
+
]
|
|
180
|
+
pytest_add_cli_args_test_selection = [
|
|
181
|
+
"tests/unit/test_skill_subset_persistence.py",
|
|
182
|
+
"tests/unit/test_dep_targets_persistence.py",
|
|
183
|
+
"tests/unit/install/test_plan.py",
|
|
184
|
+
"tests/unit/policy/test_cache_merged_effective.py::test_policy_serializer_covers_every_dataclass_leaf",
|
|
185
|
+
"tests/unit/policy/test_cache_merged_effective.py::test_policy_serializer_preserves_sparse_bin_deploy_shapes",
|
|
186
|
+
"tests/unit/policy/test_cache_merged_effective.py::TestPolicyRoundTrip::test_all_effective_policy_fields_survive_cache_round_trip",
|
|
187
|
+
"tests/unit/compilation/test_link_resolver.py",
|
|
188
|
+
"tests/unit/compilation/test_link_resolver_phase3.py",
|
|
189
|
+
"tests/unit/compilation/test_link_resolver_resolution.py",
|
|
190
|
+
"tests/unit/deps/test_lockfile_field_properties.py",
|
|
191
|
+
]
|
|
192
|
+
timeout_constant = 1.0
|
|
193
|
+
timeout_multiplier = 5.0
|
|
194
|
+
use_setproctitle = false
|
|
195
|
+
|
|
155
196
|
[tool.pytest.ini_options]
|
|
156
|
-
addopts = "-m 'not benchmark and not live'"
|
|
197
|
+
addopts = "-m 'not benchmark and not live' --strict-markers"
|
|
198
|
+
testpaths = ["tests"]
|
|
157
199
|
markers = [
|
|
200
|
+
"unit: pure logic with no filesystem and no CLI",
|
|
201
|
+
"component: in-process behavior that touches a filesystem or one command boundary",
|
|
202
|
+
"e2e: a real installed CLI crossing at least one command boundary",
|
|
158
203
|
"integration: marks tests as integration tests that may require network access",
|
|
159
204
|
"live: marks tests that hit real GitHub repos (requires network + optional GITHUB_TOKEN)",
|
|
160
205
|
"slow: marks tests as slow running tests",
|
|
161
206
|
"benchmark: marks performance benchmark tests (deselected by default, run with -m benchmark)",
|
|
207
|
+
"windows_compat: load-bearing cross-platform regression contract family (CRLF-safe atomic writes, portable path formatting, git-executable resolution, socket/thread shutdown); runs on every OS and is additionally selected by the PR-time Windows Compatibility Gate -- NOT a requires_windows skip-gate, do not use requires_windows for this",
|
|
162
208
|
"requires_e2e_mode: requires APM_E2E_TESTS=1",
|
|
163
209
|
"requires_github_token: requires GITHUB_APM_PAT or GITHUB_TOKEN",
|
|
164
210
|
"requires_ado_pat: requires ADO_APM_PAT",
|
|
165
211
|
"requires_ado_bearer: requires az CLI logged in + APM_TEST_ADO_BEARER=1",
|
|
166
212
|
"requires_network_integration: requires APM_RUN_INTEGRATION_TESTS=1",
|
|
213
|
+
"requires_windows: requires a Windows host",
|
|
167
214
|
"requires_apm_binary: requires built apm binary on PATH (or APM_BINARY_PATH)",
|
|
168
215
|
"requires_runtime_codex: requires codex runtime installed",
|
|
169
216
|
"requires_runtime_copilot: requires GitHub Copilot CLI runtime installed",
|
|
170
217
|
"requires_runtime_llm: requires llm runtime installed",
|
|
171
218
|
"requires_inference: requires APM_RUN_INFERENCE_TESTS=1 + model API access",
|
|
172
219
|
"req: binds a test to one or more OpenAPM req-XXX ids (spec-conformance suite)",
|
|
220
|
+
"lifecycle_smoke: promoted to the required PR-time Lifecycle Smoke (Linux) job -- see ci.yml's lifecycle-smoke job and docs/src/content/docs/contributing/integration-testing.md",
|
|
221
|
+
"lifecycle_merge_group: unique lifecycle contracts retained in the full merge-group integration suite",
|
|
173
222
|
]
|