agentbundle 0.53.2__tar.gz → 0.58.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.
- {agentbundle-0.53.2/agentbundle.egg-info → agentbundle-0.58.0}/PKG-INFO +38 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/README-pypi.md +37 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/adapter.schema.json +2 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-index.schema.json +1 -1
- agentbundle-0.58.0/agentbundle/_data/catalogue-manifest.schema.json +62 -0
- agentbundle-0.58.0/agentbundle/_data/catalogue-members.txt +8 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue.schema.json +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/file_safety.py +208 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/pack.schema.json +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/profile.schema.json +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/public-contracts.txt +1 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/skill-manifest.schema.json +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/skill.schema.json +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/workspace_status_engine.py +628 -13
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/__init__.py +8 -7
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/lint_packs.py +21 -48
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/main.py +61 -53
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/self-host.toml +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/self_host.py +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue.py +24 -2
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/archive.py +3 -3
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/config.py +28 -62
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/diagnostics.py +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/file_safety.py +208 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/initialise.py +21 -21
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/lint.py +11 -21
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/verify.py +6 -6
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/cli.py +35 -4
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_contracts.py +19 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/install.py +35 -36
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/pack_evals.py +4 -3
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/profile.py +5 -20
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/upgrade.py +90 -5
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/validate.py +14 -49
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/config.py +37 -11
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/direct_source.py +3 -7
- agentbundle-0.58.0/agentbundle/pack_renames.py +419 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/render.py +2 -3
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/scope.py +2 -3
- agentbundle-0.58.0/agentbundle/version.py +96 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0/agentbundle.egg-info}/PKG-INFO +38 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle.egg-info/SOURCES.txt +16 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/pyproject.toml +1 -1
- agentbundle-0.58.0/tests/_rename_fixtures.py +259 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/_support.py +3 -3
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_agent_plugin_projection.py +33 -3
- agentbundle-0.58.0/tests/build_pipeline/test_build_validate_bundled_schema.py +41 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_lint_packs.py +60 -44
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_pack_schema.py +5 -5
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_plugin_manifest_schema.py +1 -1
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_self_host_check.py +7 -7
- agentbundle-0.58.0/tests/integration/_https_archive.py +112 -0
- agentbundle-0.58.0/tests/integration/test_bundled_contracts_fail_closed.py +92 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_claude_plugins_install_route.py +4 -4
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_dropped_primitives_warning.py +6 -6
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_profile_live.py +2 -2
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_multi_pack_install.py +25 -25
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_plugin_route_membership.py +7 -4
- agentbundle-0.58.0/tests/integration/test_rename_hint_cli.py +824 -0
- agentbundle-0.58.0/tests/integration/test_rename_migration_e2e.py +219 -0
- agentbundle-0.58.0/tests/test_workspace_mcp_depends_on.py +84 -0
- agentbundle-0.58.0/tests/unit/test_bundled_contract_errors.py +289 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_curation_deps.py +2 -2
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +2 -2
- agentbundle-0.58.0/tests/unit/test_catalogue_manifest_schema.py +215 -0
- agentbundle-0.58.0/tests/unit/test_catalogue_spec_version.py +124 -0
- agentbundle-0.58.0/tests/unit/test_catalogue_tooling_file_safety.py +668 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_lint.py +96 -69
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +16 -16
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave3_contracts_cli.py +5 -2
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_dependencies_batch.py +3 -3
- agentbundle-0.58.0/tests/unit/test_no_contracts_fallback.py +90 -0
- agentbundle-0.58.0/tests/unit/test_pack_evals_bundled_contract.py +33 -0
- agentbundle-0.58.0/tests/unit/test_pack_renames.py +905 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_toml_emitters.py +2 -2
- agentbundle-0.53.2/agentbundle/version.py +0 -49
- agentbundle-0.53.2/tests/unit/test_catalogue_tooling_file_safety.py +0 -311
- {agentbundle-0.53.2 → agentbundle-0.58.0}/MANIFEST.in +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/__main__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/agent-plugin-extension-namespaces.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/agent-plugin-extension-namespaces.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/manifest.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/CLAUDE.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/profiles/CLAUDE.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_layout_declared_section.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/close_work.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/cooling.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/distribution-routes.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/distribution-routes.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/knowledge-captured-observation.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/LICENSE.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/PROVENANCE.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/mcp.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/plugin.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/work_intake_refresh.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/_data/workspace_status_prune.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/bounded_metadata.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/_sweep_guard.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/hook_wiring_rules.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projection_io.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/per-pack-agent-plugin.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/route_agent_plugin.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/route_apm.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/route_claude_plugins.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/route_lookup.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_fetch/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_fetch/direct_http.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_fetch/jfrog_cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_fetch/models.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/index_generator.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/journey_validator.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/manifest.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/okf_discovery.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/package.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/results.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/categories.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_index.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_init.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_package.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_sync.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/list_installed.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/direct_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/direct_source_acquisition.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/direct_source_state.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/direct_validate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/local_exclude.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/oplog.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/safety.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/statelock.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/system_trust.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/user_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle/workspace_mcp.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/conftest.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/setup.cfg +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/templates/install-marker.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/_direct_acquisition.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_agent_boundary_metadata_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_contract_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_contract_v07.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_contract_v08.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_distribution_route_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_distribution_route_golden.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_distribution_route_resolution.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_end_to_end_build.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_pipeline.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_plugin_publication_gates.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_policy_registry_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_projection_io.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_route_lookup.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_scope_rails.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_security.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_sequential_implementer_dispatch_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_validate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/conftest.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/contracts/test_agentbundle_show_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/contracts/test_catalogue_fetch_credential_boundary.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/contracts/test_skill_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/adapt/values.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield/values.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_sync/adapter_contract_major_mismatch/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/catalogue.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/cognitive-load-hosts.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/direct/ac35_corpus_verdicts.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/direct/golden_state_0_5.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/distribution-routes/golden.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/distribution-routes/witness-packs/portable/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/distribution-routes/witness-packs/portable/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/show_contract/agentbundle-show.schema.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/show_contract/catalogue.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/show_contract/installed_state.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_adapt_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_adapt_dual_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_adapt_schema_migration.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_apm_install_route.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_blank_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_brownfield_round_trip.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_build_check_drift_gates.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_build_derivation_apm.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_init.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_init_packageable.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_plugin_path.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_verify_step1.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_wave4_index_generator.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_wave4_integration.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_wave4_journey_validator.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_catalogue_wave4_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_config_cascade.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_credentials_wheel.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_direct_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_editable_source_detection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_fixtures_validate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_hook_wiring_ingress.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_adapt_chain.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_converters_user_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_core_smoke.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_default_source.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_dependencies_gate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_dual_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_layout_is_best_effort.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_orphan_reshape.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_profile.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_research_user_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_seed_delivery.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_session_start_wiring.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_upgrade_offer.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_user_hooks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_jfrog_cli_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_list_packs_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_local_scope_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_marketplace_entry_validation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_portable_catalogue_authentication.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_recommends_cross_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_reconcile.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_reserved_path_filter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_scaffold_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_self_host_schema_migration.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_show_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_tier_invariants.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_trust_fallback_tls.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_uninstall_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_upgrade_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_upgrade_user_hooks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_version_gate_matrix.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/integration/test_zipapp.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/performance/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/performance/test_direct_family2_budget_cost.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_adapter_permissions_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_elicit.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_git.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_git_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_layout_override.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_stdin.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/test_workspace_mcp_tools.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/__init__.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/conftest.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_adapter_symlink_policy.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_append_layout_section.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_architect_readme_install_command.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_archive_unit_digests.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_fetch.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_fetch_jfrog.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_package_compare.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_package_include_diagnostic.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_package_refusal.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_sync.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_sync_fixture_set.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_trust_fallback.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_unit_digests.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave3_contracts_inspector.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave3_init_nextsteps.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_help_lists_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_list_targets_help.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_namespace_fixture.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_path_normalisation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_profile_surface.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cli_scope_flags.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_codex_agent_toml.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_codex_projection_modes.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_cognitive_load_seed_contract.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_collect_tree_symlinks.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_common_classify_seeds.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_config_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_configured_adapter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_confirm_helper.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_contract_parity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_copilot_agent_md.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_copilot_hooks_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_diff_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_admission.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_architecture_controls.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_diagnostics.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_lifecycle_facts.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_source_acquisition.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_source_state.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_upgrade.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_direct_validate.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_footprint_ownership.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_https_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_init_state_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_first_value_handoff.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_force_help.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_inband_detection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_messages.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_refusal_ordering.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_install_state_provenance.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_layout_bases_anchoring.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_list_installed_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_list_installed_status.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_list_targets_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_exclude_git_cache.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t12_show.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t3_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t8_install.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_merge_into_agent_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_offer_upgrade_namespace.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_okf_discovery.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_org_bootstrap.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_orphan_sweep_guards.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_pack_config_api.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_pack_inventory.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_pack_layout_section_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_package_catalogue.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_packstate_source_provenance.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_pipeline_phase_order.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_plugin_scope_filter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_profile_reader.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_render.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_render_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_render_table.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_resolve_state_path.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_route_surface_parity.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_safety.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_scaffold_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_scope.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_self_host_windows.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_source_conflict_guard.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_source_defaults.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_state_v02.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_state_v0_4_schema.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_statelock.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_statelock_hardening.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_system_trust.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_target_resolver.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_unresolved_markers.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_upgrade_recap.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_upgrade_source_inference.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_user_config_io.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_user_config_isolation.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_user_config_path.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_user_config_source.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_user_merge_json.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_validate_categories.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_validate_cmd.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_values_from_shapes.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_version.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_windows_direct_suite_registration.py +0 -0
- {agentbundle-0.53.2 → agentbundle-0.58.0}/tests/unit/test_workspace_mcp_events_poller.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.58.0
|
|
4
4
|
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
5
|
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
6
|
License-Expression: Apache-2.0 OR MIT
|
|
@@ -35,6 +35,43 @@ python -m pip install agentbundle
|
|
|
35
35
|
|
|
36
36
|
Requires Python 3.11+. Runs on macOS, Linux, and Windows.
|
|
37
37
|
|
|
38
|
+
## What's new in 0.58.0
|
|
39
|
+
|
|
40
|
+
The shared file-safety helper gains `write_confined_regular_file`, which creates
|
|
41
|
+
or updates a file inside a root without following links and restores the
|
|
42
|
+
original bytes if a write fails.
|
|
43
|
+
|
|
44
|
+
## What's new in 0.57.0
|
|
45
|
+
|
|
46
|
+
`install` and `upgrade` now print the steps to move to a renamed pack when the
|
|
47
|
+
catalogue renamed the one you asked for. The governance pack is now
|
|
48
|
+
`repo-governance`. CLIs older than 0.57.0 print plain "not found", so the steps
|
|
49
|
+
are also in the `repo-governance` pack README and the changelog.
|
|
50
|
+
|
|
51
|
+
## What's new in 0.56.0
|
|
52
|
+
|
|
53
|
+
`agentbundle --version` and `catalogue contracts list` now report the catalogue
|
|
54
|
+
specification version. **Breaking:** `catalogue contracts list --format json`
|
|
55
|
+
now prints an object, `{"catalogue_specification": "<version>", "contracts":
|
|
56
|
+
[...]}`, instead of a bare array. Read the `contracts` key for the rows.
|
|
57
|
+
|
|
58
|
+
## What's new in 0.55.0
|
|
59
|
+
|
|
60
|
+
A new bundled contract, `catalogue-manifest.schema.json`, describes the shape
|
|
61
|
+
of the release archive manifest, and `catalogue contracts list`, `show`, and
|
|
62
|
+
`export` expose it. It checks shape only and is not evidence of integrity or
|
|
63
|
+
origin. `catalogue verify` now rejects a boolean `schema` value in
|
|
64
|
+
`catalogue-manifest.json` with `CAT-V-ARC-011`. The archive guide states what
|
|
65
|
+
proves where an archive came from.
|
|
66
|
+
|
|
67
|
+
## What's new in 0.54.0
|
|
68
|
+
|
|
69
|
+
Every contract now loads from the copy bundled with `agentbundle`. A
|
|
70
|
+
`contracts/` folder in or above a catalogue no longer overrides
|
|
71
|
+
`target-vocab.toml` or `adapter.toml`, and a missing or unparsable bundled
|
|
72
|
+
contract fails closed. `catalogue lint` now reports a missing pack schema as a
|
|
73
|
+
`CAT-L006` error instead of a warning that skipped validation.
|
|
74
|
+
|
|
38
75
|
## What's new in 0.53.2
|
|
39
76
|
|
|
40
77
|
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
@@ -14,6 +14,43 @@ python -m pip install agentbundle
|
|
|
14
14
|
|
|
15
15
|
Requires Python 3.11+. Runs on macOS, Linux, and Windows.
|
|
16
16
|
|
|
17
|
+
## What's new in 0.58.0
|
|
18
|
+
|
|
19
|
+
The shared file-safety helper gains `write_confined_regular_file`, which creates
|
|
20
|
+
or updates a file inside a root without following links and restores the
|
|
21
|
+
original bytes if a write fails.
|
|
22
|
+
|
|
23
|
+
## What's new in 0.57.0
|
|
24
|
+
|
|
25
|
+
`install` and `upgrade` now print the steps to move to a renamed pack when the
|
|
26
|
+
catalogue renamed the one you asked for. The governance pack is now
|
|
27
|
+
`repo-governance`. CLIs older than 0.57.0 print plain "not found", so the steps
|
|
28
|
+
are also in the `repo-governance` pack README and the changelog.
|
|
29
|
+
|
|
30
|
+
## What's new in 0.56.0
|
|
31
|
+
|
|
32
|
+
`agentbundle --version` and `catalogue contracts list` now report the catalogue
|
|
33
|
+
specification version. **Breaking:** `catalogue contracts list --format json`
|
|
34
|
+
now prints an object, `{"catalogue_specification": "<version>", "contracts":
|
|
35
|
+
[...]}`, instead of a bare array. Read the `contracts` key for the rows.
|
|
36
|
+
|
|
37
|
+
## What's new in 0.55.0
|
|
38
|
+
|
|
39
|
+
A new bundled contract, `catalogue-manifest.schema.json`, describes the shape
|
|
40
|
+
of the release archive manifest, and `catalogue contracts list`, `show`, and
|
|
41
|
+
`export` expose it. It checks shape only and is not evidence of integrity or
|
|
42
|
+
origin. `catalogue verify` now rejects a boolean `schema` value in
|
|
43
|
+
`catalogue-manifest.json` with `CAT-V-ARC-011`. The archive guide states what
|
|
44
|
+
proves where an archive came from.
|
|
45
|
+
|
|
46
|
+
## What's new in 0.54.0
|
|
47
|
+
|
|
48
|
+
Every contract now loads from the copy bundled with `agentbundle`. A
|
|
49
|
+
`contracts/` folder in or above a catalogue no longer overrides
|
|
50
|
+
`target-vocab.toml` or `adapter.toml`, and a missing or unparsable bundled
|
|
51
|
+
contract fails closed. `catalogue lint` now reports a missing pack schema as a
|
|
52
|
+
`CAT-L006` error instead of a warning that skipped validation.
|
|
53
|
+
|
|
17
54
|
## What's new in 0.53.2
|
|
18
55
|
|
|
19
56
|
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/adapter.schema.json",
|
|
2
4
|
"x-spec": "docs/specs/distribution-route-contract",
|
|
3
5
|
"type": "object",
|
|
4
6
|
"required": ["contract", "primitive", "adapter"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"x-spec": "docs/specs/catalogue-wave4-semantic-contracts-index",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
-
"$id": "catalogue-index.schema.json",
|
|
4
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue-index.schema.json",
|
|
5
5
|
"title": "Neutral catalogue index",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-spec": "docs/specs/catalogue-manifest-schema",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue-manifest.schema.json",
|
|
5
|
+
"title": "Catalogue archive manifest",
|
|
6
|
+
"description": "Shape of the catalogue-manifest.json that `agentbundle catalogue package` writes into a catalogue archive. This schema describes shape only. A manifest that is valid against it is neither archive verification (the archive's bytes, digests and members are checked by `agentbundle catalogue verify`) nor evidence of who published the archive. Origin is established only by `catalogue verify --sha256-file` with a sidecar, or by a signature, obtained through a separately authenticated channel. Objects stay open: extra keys are allowed. The writer also emits keys this schema does not type because the verifier does not check them: source_revision, minimum_agentbundle_version, catalogue_name, catalogue_display_name and marketplace_digest (each may be null or a string), adapter_contract_version and pack_schema_version.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["schema", "bundle", "release", "generated_at", "files", "packs"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"schema": {
|
|
11
|
+
"description": "Manifest schema version, 1 or 2. The package's validator rejects an integer-valued number such as 1.0 that standard JSON Schema validators and `catalogue verify` accept.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"enum": [1, 2]
|
|
14
|
+
},
|
|
15
|
+
"bundle": {"type": "string"},
|
|
16
|
+
"release": {"type": "string"},
|
|
17
|
+
"generated_at": {"type": "string"},
|
|
18
|
+
"files": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": ["path", "sha256"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"path": {"type": "string"},
|
|
25
|
+
"sha256": {"type": "string"}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"packs": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"required": ["name", "version"],
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {"type": "string"},
|
|
36
|
+
"version": {"type": "string"},
|
|
37
|
+
"path": {"type": "string"},
|
|
38
|
+
"digest": {"type": "string"}
|
|
39
|
+
},
|
|
40
|
+
"if": {"required": ["digest"]},
|
|
41
|
+
"then": {"required": ["path"]}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"profiles": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"if": {"type": "string"},
|
|
48
|
+
"else": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"required": ["name"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"name": {"type": "string"},
|
|
53
|
+
"path": {"type": "string"},
|
|
54
|
+
"digest": {"type": "string"}
|
|
55
|
+
},
|
|
56
|
+
"if": {"required": ["digest"]},
|
|
57
|
+
"then": {"required": ["path"]}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "catalogue.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue.schema.json",
|
|
4
4
|
"title": "CatalogueConfig",
|
|
5
5
|
"description": "JSON Schema for catalogue.toml — ini-005 Bucket 3 configuration layer.",
|
|
6
6
|
"type": "object",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
+
import re
|
|
6
7
|
import stat
|
|
7
8
|
from contextlib import contextmanager
|
|
8
9
|
from hashlib import sha256
|
|
@@ -482,3 +483,210 @@ def sha256_confined_regular_file(root: Path, path: Path) -> str:
|
|
|
482
483
|
for chunk in iter(lambda: handle.read(1024 * 1024), b""):
|
|
483
484
|
digest.update(chunk)
|
|
484
485
|
return digest.hexdigest()
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
_SHA256_HEX = re.compile(r"[0-9a-f]{64}")
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
def _write_open_flags() -> int:
|
|
492
|
+
"""Flags every write-path ``os.open`` adds, limited to what ``os`` has."""
|
|
493
|
+
flags = getattr(os, "O_BINARY", 0)
|
|
494
|
+
for name in ("O_NOFOLLOW", "O_CLOEXEC", "O_NONBLOCK"):
|
|
495
|
+
flags |= getattr(os, name, 0)
|
|
496
|
+
return flags
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
def _write_all(descriptor: int, data: bytes) -> None:
|
|
500
|
+
"""Write every byte of *data*, continuing after a short write."""
|
|
501
|
+
view = memoryview(data)
|
|
502
|
+
while len(view):
|
|
503
|
+
written = os.write(descriptor, view)
|
|
504
|
+
if written <= 0:
|
|
505
|
+
raise OSError("write made no progress")
|
|
506
|
+
view = view[written:]
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
def _read_all(descriptor: int) -> bytes:
|
|
510
|
+
"""Read a descriptor to end of file."""
|
|
511
|
+
chunks: list[bytes] = []
|
|
512
|
+
while True:
|
|
513
|
+
chunk = os.read(descriptor, 1024 * 1024)
|
|
514
|
+
if not chunk:
|
|
515
|
+
return b"".join(chunks)
|
|
516
|
+
chunks.append(chunk)
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
def _create_confined_file(
|
|
520
|
+
root: Path,
|
|
521
|
+
path: Path,
|
|
522
|
+
data: bytes,
|
|
523
|
+
*,
|
|
524
|
+
relative: str,
|
|
525
|
+
parent_fd: int | None,
|
|
526
|
+
leaf: str,
|
|
527
|
+
) -> None:
|
|
528
|
+
"""Create *path* exclusively; remove only the file this call created."""
|
|
529
|
+
flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL | _write_open_flags()
|
|
530
|
+
try:
|
|
531
|
+
if parent_fd is None:
|
|
532
|
+
descriptor = os.open(path, flags, 0o600)
|
|
533
|
+
else:
|
|
534
|
+
descriptor = os.open(leaf, flags, 0o600, dir_fd=parent_fd)
|
|
535
|
+
except OSError as exc:
|
|
536
|
+
raise UnsafeContentError(
|
|
537
|
+
f"target cannot be created safely: {relative}"
|
|
538
|
+
) from exc
|
|
539
|
+
identity: tuple[int, int] | None = None
|
|
540
|
+
try:
|
|
541
|
+
try:
|
|
542
|
+
created = os.fstat(descriptor)
|
|
543
|
+
identity = (created.st_dev, created.st_ino)
|
|
544
|
+
_validate_regular_file_stat(created, relative)
|
|
545
|
+
if parent_fd is None:
|
|
546
|
+
# No byte is written until the created path is known to be
|
|
547
|
+
# inside the root and to be the file this call created.
|
|
548
|
+
path.resolve(strict=True).relative_to(root.resolve(strict=True))
|
|
549
|
+
named = path.lstat()
|
|
550
|
+
if (named.st_dev, named.st_ino) != identity:
|
|
551
|
+
raise UnsafeContentError(
|
|
552
|
+
f"target changed while creating: {relative}"
|
|
553
|
+
)
|
|
554
|
+
_write_all(descriptor, data)
|
|
555
|
+
os.fsync(descriptor)
|
|
556
|
+
except (UnsafeContentError, OSError, RuntimeError, ValueError) as exc:
|
|
557
|
+
_remove_created(path, parent_fd, leaf, identity)
|
|
558
|
+
if isinstance(exc, UnsafeContentError):
|
|
559
|
+
raise
|
|
560
|
+
raise UnsafeContentError(
|
|
561
|
+
f"target cannot be written safely: {relative}"
|
|
562
|
+
) from exc
|
|
563
|
+
finally:
|
|
564
|
+
os.close(descriptor)
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
def _remove_created(
|
|
568
|
+
path: Path, parent_fd: int | None, leaf: str, identity: tuple[int, int] | None
|
|
569
|
+
) -> None:
|
|
570
|
+
"""Unlink the leaf only when it still has the created file's identity."""
|
|
571
|
+
if identity is None:
|
|
572
|
+
return
|
|
573
|
+
try:
|
|
574
|
+
if parent_fd is None:
|
|
575
|
+
named = path.lstat()
|
|
576
|
+
if (named.st_dev, named.st_ino) == identity:
|
|
577
|
+
path.unlink()
|
|
578
|
+
else:
|
|
579
|
+
named = os.stat(leaf, dir_fd=parent_fd, follow_symlinks=False)
|
|
580
|
+
if (named.st_dev, named.st_ino) == identity:
|
|
581
|
+
os.unlink(leaf, dir_fd=parent_fd)
|
|
582
|
+
except OSError:
|
|
583
|
+
pass
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
def _update_confined_file(
|
|
587
|
+
root: Path,
|
|
588
|
+
path: Path,
|
|
589
|
+
data: bytes,
|
|
590
|
+
expect_sha256: str,
|
|
591
|
+
*,
|
|
592
|
+
relative: str,
|
|
593
|
+
parent_fd: int | None,
|
|
594
|
+
leaf: str,
|
|
595
|
+
) -> None:
|
|
596
|
+
"""Rewrite *path* in place when its bytes still hash to *expect_sha256*."""
|
|
597
|
+
flags = os.O_RDWR | _write_open_flags()
|
|
598
|
+
try:
|
|
599
|
+
if parent_fd is None:
|
|
600
|
+
before = path.lstat()
|
|
601
|
+
_validate_regular_file_stat(before, relative)
|
|
602
|
+
path.resolve(strict=True).relative_to(root.resolve(strict=True))
|
|
603
|
+
descriptor = os.open(path, flags)
|
|
604
|
+
else:
|
|
605
|
+
before = os.stat(leaf, dir_fd=parent_fd, follow_symlinks=False)
|
|
606
|
+
_validate_regular_file_stat(before, relative)
|
|
607
|
+
descriptor = os.open(leaf, flags, dir_fd=parent_fd)
|
|
608
|
+
except UnsafeContentError:
|
|
609
|
+
raise
|
|
610
|
+
except (OSError, RuntimeError, ValueError) as exc:
|
|
611
|
+
raise UnsafeContentError(
|
|
612
|
+
f"target cannot be opened safely: {relative}"
|
|
613
|
+
) from exc
|
|
614
|
+
try:
|
|
615
|
+
try:
|
|
616
|
+
after = os.fstat(descriptor)
|
|
617
|
+
_validate_regular_file_stat(after, relative)
|
|
618
|
+
if (before.st_dev, before.st_ino) != (after.st_dev, after.st_ino):
|
|
619
|
+
raise UnsafeContentError(f"target changed while opening: {relative}")
|
|
620
|
+
original = _read_all(descriptor)
|
|
621
|
+
except OSError as exc:
|
|
622
|
+
raise UnsafeContentError(
|
|
623
|
+
f"target cannot be read safely: {relative}"
|
|
624
|
+
) from exc
|
|
625
|
+
if sha256(original).hexdigest() != expect_sha256:
|
|
626
|
+
raise UnsafeContentError(f"target does not match its digest: {relative}")
|
|
627
|
+
try:
|
|
628
|
+
os.lseek(descriptor, 0, os.SEEK_SET)
|
|
629
|
+
_write_all(descriptor, data)
|
|
630
|
+
os.ftruncate(descriptor, len(data))
|
|
631
|
+
os.fsync(descriptor)
|
|
632
|
+
except OSError as exc:
|
|
633
|
+
try:
|
|
634
|
+
os.lseek(descriptor, 0, os.SEEK_SET)
|
|
635
|
+
_write_all(descriptor, original)
|
|
636
|
+
os.ftruncate(descriptor, len(original))
|
|
637
|
+
os.fsync(descriptor)
|
|
638
|
+
except OSError as restore_exc:
|
|
639
|
+
raise UnsafeContentError(
|
|
640
|
+
f"target write failed and was not restored: {relative}"
|
|
641
|
+
) from restore_exc
|
|
642
|
+
raise UnsafeContentError(
|
|
643
|
+
f"target cannot be written safely: {relative}"
|
|
644
|
+
) from exc
|
|
645
|
+
finally:
|
|
646
|
+
os.close(descriptor)
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
def write_confined_regular_file(
|
|
650
|
+
root: Path,
|
|
651
|
+
path: Path,
|
|
652
|
+
data: bytes,
|
|
653
|
+
*,
|
|
654
|
+
expect_sha256: str | None,
|
|
655
|
+
) -> None:
|
|
656
|
+
"""Write *data* to a confined, no-follow, single-link regular file.
|
|
657
|
+
|
|
658
|
+
``expect_sha256=None`` creates the target exclusively, so anything already
|
|
659
|
+
present (a dangling link included) is refused. Otherwise the target must
|
|
660
|
+
exist and its bytes, read from the same descriptor that is then written,
|
|
661
|
+
must hash to ``expect_sha256`` (lowercase hex); the file is rewritten in
|
|
662
|
+
place so its identity is kept, and restored from the bytes read if a write,
|
|
663
|
+
truncate or sync fails. A failed create removes only the file it created.
|
|
664
|
+
Every refusal is an ``UnsafeContentError``; a non-``bytes`` *data* or a
|
|
665
|
+
malformed digest is a ``ValueError``.
|
|
666
|
+
"""
|
|
667
|
+
if not isinstance(data, bytes):
|
|
668
|
+
raise ValueError("data must be bytes")
|
|
669
|
+
if expect_sha256 is not None and (
|
|
670
|
+
not isinstance(expect_sha256, str)
|
|
671
|
+
or _SHA256_HEX.fullmatch(expect_sha256) is None
|
|
672
|
+
):
|
|
673
|
+
raise ValueError("expect_sha256 must be 64 lowercase hex characters or None")
|
|
674
|
+
try:
|
|
675
|
+
relative = path.relative_to(root).as_posix()
|
|
676
|
+
except ValueError as exc:
|
|
677
|
+
raise UnsafeContentError("target path is outside its declared root") from exc
|
|
678
|
+
with _open_confined_parent(root, path, relative=relative) as (parent_fd, leaf):
|
|
679
|
+
if expect_sha256 is None:
|
|
680
|
+
_create_confined_file(
|
|
681
|
+
root, path, data, relative=relative, parent_fd=parent_fd, leaf=leaf
|
|
682
|
+
)
|
|
683
|
+
else:
|
|
684
|
+
_update_confined_file(
|
|
685
|
+
root,
|
|
686
|
+
path,
|
|
687
|
+
data,
|
|
688
|
+
expect_sha256,
|
|
689
|
+
relative=relative,
|
|
690
|
+
parent_fd=parent_fd,
|
|
691
|
+
leaf=leaf,
|
|
692
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "pack.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/pack.schema.json",
|
|
4
4
|
"title": "PackConfig",
|
|
5
5
|
"description": "JSON Schema for pack.toml — pack metadata and adapter-contract configuration.",
|
|
6
6
|
"type": "object",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "profile.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/profile.schema.json",
|
|
4
4
|
"title": "ProfileConfig",
|
|
5
5
|
"description": "JSON Schema for profiles/*.toml — pack-profile install bundles.",
|
|
6
6
|
"type": "object",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "skill-manifest.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/skill-manifest.schema.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"required": ["id", "name", "version", "description"],
|
|
6
6
|
"additionalProperties": false,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "skill.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/skill.schema.json",
|
|
4
4
|
"title": "SkillFrontmatter",
|
|
5
5
|
"description": "JSON Schema for SKILL.md frontmatter — the closed key set enforced by agentbundle catalogue lint --deep.",
|
|
6
6
|
"type": "object",
|