agentbundle 0.33.3__tar.gz → 0.34.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.33.3/agentbundle.egg-info → agentbundle-0.34.0}/PKG-INFO +22 -10
- {agentbundle-0.33.3 → agentbundle-0.34.0}/README-pypi.md +21 -9
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +17 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
- agentbundle-0.34.0/agentbundle/_data/public-contracts.txt +12 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projection_io.py +11 -15
- agentbundle-0.34.0/agentbundle/catalogue_tooling/contracts_inspector.py +112 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/cli.py +34 -0
- agentbundle-0.34.0/agentbundle/commands/catalogue_contracts.py +105 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_init.py +28 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/safety.py +400 -3
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/source_defaults.py +22 -8
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/version.py +1 -1
- {agentbundle-0.33.3 → agentbundle-0.34.0/agentbundle.egg-info}/PKG-INFO +22 -10
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/SOURCES.txt +9 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/pyproject.toml +1 -1
- agentbundle-0.34.0/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +46 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_hook_wiring_rules.py +16 -8
- agentbundle-0.34.0/tests/build_pipeline/test_plugin_publication_gates.py +198 -0
- agentbundle-0.34.0/tests/unit/test_catalogue_wave3_contracts_cli.py +280 -0
- agentbundle-0.34.0/tests/unit/test_catalogue_wave3_contracts_inspector.py +286 -0
- agentbundle-0.34.0/tests/unit/test_catalogue_wave3_init_nextsteps.py +106 -0
- agentbundle-0.34.0/tests/unit/test_catalogue_wave3_offline_navigation.py +48 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety.py +207 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_source_defaults.py +17 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/MANIFEST.in +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/__main__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/pack.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/profile.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/skill-manifest.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/skill.schema.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/workspace_status_engine.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/hook_wiring_rules.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/main.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/self-host.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/self_host.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/archive.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/file_safety.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/initialise.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/package.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/results.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/verify.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/categories.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_package.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_installed.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/pack_evals.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/profile.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/validate.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/local_exclude.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/oplog.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/render.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/statelock.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/user_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/workspace_mcp.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/conftest.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/setup.cfg +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/templates/install-marker.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/_support.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_v07.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_v08.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_end_to_end_build.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_lint_packs.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pipeline.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projection_io.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_scope_rails.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_security.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_check.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_validate.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/conftest.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/adapt/values.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield/values.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_dual_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_schema_migration.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_apm_install_route.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_blank_catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_round_trip.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_check_drift_gates.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_derivation_apm.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_catalogue_init.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_claude_plugins_install_route.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_config_cascade.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_credentials_wheel.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_editable_source_detection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_fixtures_validate.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_hook_wiring_ingress.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_adapt_chain.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_converters_user_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_core_smoke.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_default_source.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dependencies_gate.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dual_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_orphan_reshape.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_profile.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_profile_live.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_research_user_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_seed_delivery.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_session_start_wiring.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_upgrade_offer.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_user_hooks.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_list_packs_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_local_scope_install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_marketplace_entry_validation.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_multi_pack_install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_plugin_route_membership.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_recommends_cross_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_reconcile.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_reserved_path_filter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_scaffold_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_self_host_schema_migration.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_show_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_tier_invariants.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_uninstall_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_user_hooks.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_version_gate_matrix.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_zipapp.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_adapter_permissions_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_elicit.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_git.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_stdin.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_tools.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/__init__.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_append_layout_section.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_architect_readme_install_command.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_curation_deps.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_lint.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_help_lists_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_path_normalisation.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_profile_surface.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_scope_flags.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_codex_agent_toml.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_codex_projection_modes.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_common_classify_seeds.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_config_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_configured_adapter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_confirm_helper.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_contract_parity.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_agent_md.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_hooks_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_dependencies_batch.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_diff_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_footprint_ownership.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_https_catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_init_state_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_first_value_handoff.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_force_help.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_inband_detection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_messages.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_refusal_ordering.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_state_provenance.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_installed_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_installed_status.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_targets_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t12_show.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t3_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t8_install.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_merge_into_agent_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_org_bootstrap.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pack_config_api.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pack_inventory.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_package_catalogue.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_packstate_source_provenance.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pipeline_phase_order.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_plugin_scope_filter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_profile_reader.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render_table.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_state_path.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_scaffold_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_scope.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_self_host_windows.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_source_conflict_guard.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v02.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v0_4_schema.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_statelock.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_target_resolver.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_toml_emitters.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_unresolved_markers.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_recap.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_source_inference.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_io.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_isolation.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_path.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_source.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_merge_json.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_categories.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_cmd.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_values_from_shapes.py +0 -0
- {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.34.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
|
|
@@ -34,17 +34,25 @@ python -m pip install agentbundle
|
|
|
34
34
|
|
|
35
35
|
Requires Python 3.11+. Runs on macOS, Linux, and Windows.
|
|
36
36
|
|
|
37
|
-
## What's new in 0.
|
|
37
|
+
## What's new in 0.34.0
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
without
|
|
41
|
-
development checkouts where projected files are owned by a different user;
|
|
42
|
-
ownership, inode, and mode remain intact, while `--check` continues to report
|
|
43
|
-
mode drift that the writer cannot repair.
|
|
39
|
+
Inspect the exact public contracts bundled with the installed AgentBundle
|
|
40
|
+
version without network access:
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
```bash
|
|
43
|
+
agentbundle catalogue contracts list
|
|
44
|
+
agentbundle catalogue contracts show pack.schema.json
|
|
45
|
+
agentbundle catalogue contracts export --output ./reference-contracts
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`list` and `show` are read-only. `export` writes reference copies through a
|
|
49
|
+
no-follow, preflighted batch writer; those copies do not override the contracts
|
|
50
|
+
AgentBundle uses for validation.
|
|
51
|
+
|
|
52
|
+
Successful `agentbundle catalogue init` output now points to the scaffolded
|
|
53
|
+
`guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
|
|
54
|
+
and catalogue verification. The guide's bundled-contract section documents all
|
|
55
|
+
three commands. JSON init output remains unchanged.
|
|
48
56
|
|
|
49
57
|
**Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
|
|
50
58
|
|
|
@@ -263,6 +271,10 @@ agentbundle catalogue init --target /path/to/new-catalogue
|
|
|
263
271
|
|
|
264
272
|
Scaffolds `catalogue.toml`, the required directory tree (`packs/`, `profiles/`, `contracts/`, `.claude-plugin/`), and a starter `marketplace.json`. Skips files that already exist; reports conflicts without overwriting. Pass `--dry-run` to preview.
|
|
265
273
|
|
|
274
|
+
After initialization, use `agentbundle catalogue contracts list` to find the
|
|
275
|
+
contract names bundled with your installed version. `show` prints one contract;
|
|
276
|
+
`export --output <dir>` copies the full public set for offline reference.
|
|
277
|
+
|
|
266
278
|
**Bootstrap a self-hosted enterprise catalogue** from an existing source:
|
|
267
279
|
|
|
268
280
|
```bash
|
|
@@ -14,17 +14,25 @@ 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.
|
|
17
|
+
## What's new in 0.34.0
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
without
|
|
21
|
-
development checkouts where projected files are owned by a different user;
|
|
22
|
-
ownership, inode, and mode remain intact, while `--check` continues to report
|
|
23
|
-
mode drift that the writer cannot repair.
|
|
19
|
+
Inspect the exact public contracts bundled with the installed AgentBundle
|
|
20
|
+
version without network access:
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
```bash
|
|
23
|
+
agentbundle catalogue contracts list
|
|
24
|
+
agentbundle catalogue contracts show pack.schema.json
|
|
25
|
+
agentbundle catalogue contracts export --output ./reference-contracts
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`list` and `show` are read-only. `export` writes reference copies through a
|
|
29
|
+
no-follow, preflighted batch writer; those copies do not override the contracts
|
|
30
|
+
AgentBundle uses for validation.
|
|
31
|
+
|
|
32
|
+
Successful `agentbundle catalogue init` output now points to the scaffolded
|
|
33
|
+
`guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
|
|
34
|
+
and catalogue verification. The guide's bundled-contract section documents all
|
|
35
|
+
three commands. JSON init output remains unchanged.
|
|
28
36
|
|
|
29
37
|
**Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
|
|
30
38
|
|
|
@@ -243,6 +251,10 @@ agentbundle catalogue init --target /path/to/new-catalogue
|
|
|
243
251
|
|
|
244
252
|
Scaffolds `catalogue.toml`, the required directory tree (`packs/`, `profiles/`, `contracts/`, `.claude-plugin/`), and a starter `marketplace.json`. Skips files that already exist; reports conflicts without overwriting. Pass `--dry-run` to preview.
|
|
245
253
|
|
|
254
|
+
After initialization, use `agentbundle catalogue contracts list` to find the
|
|
255
|
+
contract names bundled with your installed version. `show` prints one contract;
|
|
256
|
+
`export --output <dir>` copies the full public set for offline reference.
|
|
257
|
+
|
|
246
258
|
**Bootstrap a self-hosted enterprise catalogue** from an existing source:
|
|
247
259
|
|
|
248
260
|
```bash
|
|
@@ -407,6 +407,23 @@ every optional pack.
|
|
|
407
407
|
|
|
408
408
|
---
|
|
409
409
|
|
|
410
|
+
## 12. Bundled contract inspection
|
|
411
|
+
|
|
412
|
+
List, inspect, or export the contracts bundled with the running AgentBundle version
|
|
413
|
+
without network access:
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
agentbundle catalogue contracts list
|
|
417
|
+
agentbundle catalogue contracts show <name>
|
|
418
|
+
agentbundle catalogue contracts export --output <dir>
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
`list` and `show` are read-only. `export` writes one regular file per listed contract
|
|
422
|
+
to the selected directory. These are reference copies only. They do not override the
|
|
423
|
+
contracts used for validation by this agentbundle version.
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
410
427
|
## Journey format
|
|
411
428
|
|
|
412
429
|
> **Not yet available.** Wave 4 of the catalogue-contracts initiative will define the
|
{agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/manifest.json
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"guides/_shared/reference/catalogue-authoring-standards.md": "
|
|
3
|
+
"guides/_shared/reference/catalogue-authoring-standards.md": "3217e6bfcc15dc116d40e1b327b6bf19b66212c7e13553e42966f9982b3c3487",
|
|
4
4
|
"guides/_shared/reference/catalogue-ci-contract.md": "fae793ab47989b6dd3c731afcb0b4cda21c7d08bbe7fa40fca6d3abb3d158141",
|
|
5
5
|
"packs/AGENTS.md": "9bfeda4069826e518a4f4fdae45bd40f4393c1c5aaf146149d3eb4aece30be83",
|
|
6
6
|
"packs/README.md": "d2de5f9556f4c8e521103474bde74636e02cc805f9bf5312a3a61a1f3eb45d8f",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
adapter.schema.json
|
|
2
|
+
adapter.toml
|
|
3
|
+
catalogue.schema.json
|
|
4
|
+
guide.schema.json
|
|
5
|
+
marketplace-entry.schema.json
|
|
6
|
+
pack.schema.json
|
|
7
|
+
plugin-manifest.derived.schema.json
|
|
8
|
+
plugin-manifest.schema.json
|
|
9
|
+
profile.schema.json
|
|
10
|
+
skill-manifest.schema.json
|
|
11
|
+
skill.schema.json
|
|
12
|
+
target-vocab.toml
|
|
@@ -15,6 +15,10 @@ from contextlib import contextmanager
|
|
|
15
15
|
from pathlib import Path
|
|
16
16
|
from typing import Literal
|
|
17
17
|
|
|
18
|
+
from agentbundle.safety import _is_reparse_point as _safety_is_reparse_point
|
|
19
|
+
from agentbundle.safety import _secure_dir_fd_available as _safety_secure_dir_fd_available
|
|
20
|
+
from agentbundle.safety import _write_all as _safety_write_all
|
|
21
|
+
|
|
18
22
|
|
|
19
23
|
class ProjectionTypeError(OSError):
|
|
20
24
|
"""A projected target exists but is not a regular file."""
|
|
@@ -30,9 +34,11 @@ def render_diagnostic_path(path: Path) -> str:
|
|
|
30
34
|
|
|
31
35
|
|
|
32
36
|
def _secure_dir_fd_available() -> bool:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
"""Re-exported from ``agentbundle.safety`` — see that module for the rule.
|
|
38
|
+
|
|
39
|
+
Kept as a module-level name so tests can monkeypatch it here.
|
|
40
|
+
"""
|
|
41
|
+
return _safety_secure_dir_fd_available()
|
|
36
42
|
|
|
37
43
|
|
|
38
44
|
def _validate_relative(relative: Path) -> None:
|
|
@@ -40,10 +46,7 @@ def _validate_relative(relative: Path) -> None:
|
|
|
40
46
|
raise ValueError(f"projection path must stay relative to its base: {relative}")
|
|
41
47
|
|
|
42
48
|
|
|
43
|
-
|
|
44
|
-
attributes = getattr(path_stat, "st_file_attributes", 0)
|
|
45
|
-
reparse_flag = getattr(stat, "FILE_ATTRIBUTE_REPARSE_POINT", 0)
|
|
46
|
-
return bool(attributes & reparse_flag)
|
|
49
|
+
_is_reparse_point = _safety_is_reparse_point
|
|
47
50
|
|
|
48
51
|
|
|
49
52
|
def _validate_fallback_path(
|
|
@@ -159,14 +162,7 @@ def open_directory_no_follow(base: Path, relative: Path) -> Iterator[int | None]
|
|
|
159
162
|
os.close(base_fd)
|
|
160
163
|
|
|
161
164
|
|
|
162
|
-
|
|
163
|
-
"""Write all ``content`` to an open descriptor."""
|
|
164
|
-
view = memoryview(content)
|
|
165
|
-
while view:
|
|
166
|
-
written = os.write(file_descriptor, view)
|
|
167
|
-
if written == 0:
|
|
168
|
-
raise OSError(errno.EIO, "projection write made no progress")
|
|
169
|
-
view = view[written:]
|
|
165
|
+
_write_all = _safety_write_all
|
|
170
166
|
|
|
171
167
|
|
|
172
168
|
def _read_bounded(
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"""Read and export the public contracts bundled with AgentBundle."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from importlib.resources import files as resource_files
|
|
7
|
+
from importlib.resources.abc import Traversable
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
from agentbundle.safety import assert_portable_name, write_files_no_follow
|
|
11
|
+
|
|
12
|
+
_INVENTORY = "public-contracts.txt"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ContractResourceError(RuntimeError):
|
|
16
|
+
"""A bundled public-contract resource is missing or invalid."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@dataclass(frozen=True)
|
|
20
|
+
class ContractInfo:
|
|
21
|
+
"""Metadata for one public bundled contract."""
|
|
22
|
+
|
|
23
|
+
name: str
|
|
24
|
+
kind: str
|
|
25
|
+
file: str
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _data_dir() -> Traversable:
|
|
29
|
+
"""Return the package-data root without consulting source checkout paths."""
|
|
30
|
+
return resource_files("agentbundle").joinpath("_data")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _inventory_names() -> list[str]:
|
|
34
|
+
"""Read and validate the generated positive-membership inventory."""
|
|
35
|
+
try:
|
|
36
|
+
inventory = _data_dir().joinpath(_INVENTORY).read_text(encoding="utf-8")
|
|
37
|
+
except (OSError, UnicodeError) as exc:
|
|
38
|
+
raise ContractResourceError(
|
|
39
|
+
"bundled contract inventory is unavailable"
|
|
40
|
+
) from exc
|
|
41
|
+
names = [line for line in inventory.splitlines() if line]
|
|
42
|
+
# An empty inventory means a truncated or mis-built wheel. Without this
|
|
43
|
+
# check `contracts list` prints a bare header and exits 0 — reporting
|
|
44
|
+
# success for an installation that ships no contracts at all.
|
|
45
|
+
if not names:
|
|
46
|
+
raise ContractResourceError("bundled contract inventory is empty")
|
|
47
|
+
if names != sorted(names) or len(names) != len(set(names)):
|
|
48
|
+
raise ContractResourceError("bundled contract inventory is invalid")
|
|
49
|
+
for name in names:
|
|
50
|
+
if (
|
|
51
|
+
name in {".", ".."}
|
|
52
|
+
or "/" in name
|
|
53
|
+
or "\\" in name
|
|
54
|
+
or not name.endswith((".json", ".toml"))
|
|
55
|
+
):
|
|
56
|
+
raise ContractResourceError("bundled contract inventory is invalid")
|
|
57
|
+
# `assert_portable_name` covers Windows-poisonous names but not
|
|
58
|
+
# control characters; a NUL would otherwise reach
|
|
59
|
+
# `Traversable.joinpath` and surface as an uncaught ValueError.
|
|
60
|
+
if any(character < " " or character == "\x7f" for character in name):
|
|
61
|
+
raise ContractResourceError("bundled contract inventory is invalid")
|
|
62
|
+
try:
|
|
63
|
+
assert_portable_name(name)
|
|
64
|
+
except ValueError as exc:
|
|
65
|
+
raise ContractResourceError(
|
|
66
|
+
"bundled contract inventory is invalid"
|
|
67
|
+
) from exc
|
|
68
|
+
return names
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _kind(name: str) -> str:
|
|
72
|
+
if name.endswith(".schema.json"):
|
|
73
|
+
return "json-schema"
|
|
74
|
+
if name.endswith(".toml"):
|
|
75
|
+
return "toml"
|
|
76
|
+
return "json"
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def list_bundled_contracts() -> list[ContractInfo]:
|
|
80
|
+
"""Return ordered metadata for positively inventoried public contracts."""
|
|
81
|
+
return [
|
|
82
|
+
ContractInfo(name=name, kind=_kind(name), file=name)
|
|
83
|
+
for name in _inventory_names()
|
|
84
|
+
]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def show_contract(name: str) -> str | None:
|
|
88
|
+
"""Return one public bundled contract, or ``None`` for an unknown name."""
|
|
89
|
+
if "/" in name or "\\" in name:
|
|
90
|
+
return None
|
|
91
|
+
if name not in {contract.name for contract in list_bundled_contracts()}:
|
|
92
|
+
return None
|
|
93
|
+
try:
|
|
94
|
+
return _data_dir().joinpath(name).read_text(encoding="utf-8")
|
|
95
|
+
except (OSError, UnicodeError) as exc:
|
|
96
|
+
raise ContractResourceError("bundled contract resource is unavailable") from exc
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def export_contracts(output_dir: Path) -> list[str]:
|
|
100
|
+
"""Export every public bundled contract through the no-follow batch writer."""
|
|
101
|
+
contracts = list_bundled_contracts()
|
|
102
|
+
data = _data_dir()
|
|
103
|
+
try:
|
|
104
|
+
contents = {
|
|
105
|
+
contract.file: data.joinpath(contract.file).read_bytes()
|
|
106
|
+
for contract in contracts
|
|
107
|
+
}
|
|
108
|
+
except OSError as exc:
|
|
109
|
+
raise ContractResourceError("bundled contract resource is unavailable") from exc
|
|
110
|
+
# Report what the writer actually wrote, not what we intended to write —
|
|
111
|
+
# the two can only diverge through a bug, and this way the manifest says so.
|
|
112
|
+
return [path.name for path in write_files_no_follow(output_dir, contents)]
|
|
@@ -1049,6 +1049,40 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
1049
1049
|
)
|
|
1050
1050
|
_init_p.set_defaults(func=_lazy("catalogue_init"))
|
|
1051
1051
|
|
|
1052
|
+
# catalogue contracts
|
|
1053
|
+
_contracts_p = cat_subs.add_parser(
|
|
1054
|
+
"contracts",
|
|
1055
|
+
help="Inspect contracts bundled with this agentbundle version.",
|
|
1056
|
+
)
|
|
1057
|
+
_contracts_subs = _contracts_p.add_subparsers(
|
|
1058
|
+
dest="contracts_sub", metavar="<sub>"
|
|
1059
|
+
)
|
|
1060
|
+
_contracts_p.set_defaults(func=_lazy("catalogue_contracts"))
|
|
1061
|
+
|
|
1062
|
+
_contracts_list_p = _contracts_subs.add_parser(
|
|
1063
|
+
"list", help="List all bundled contracts."
|
|
1064
|
+
)
|
|
1065
|
+
_contracts_list_p.add_argument(
|
|
1066
|
+
"--format", choices=("table", "json"), default="table"
|
|
1067
|
+
)
|
|
1068
|
+
_contracts_list_p.set_defaults(func=_lazy("catalogue_contracts"))
|
|
1069
|
+
|
|
1070
|
+
_contracts_show_p = _contracts_subs.add_parser(
|
|
1071
|
+
"show", help="Show content of a bundled contract."
|
|
1072
|
+
)
|
|
1073
|
+
_contracts_show_p.add_argument(
|
|
1074
|
+
"name", metavar="<name>", help="Contract name (from 'contracts list')."
|
|
1075
|
+
)
|
|
1076
|
+
_contracts_show_p.set_defaults(func=_lazy("catalogue_contracts"))
|
|
1077
|
+
|
|
1078
|
+
_contracts_export_p = _contracts_subs.add_parser(
|
|
1079
|
+
"export", help="Export all bundled contracts to a directory."
|
|
1080
|
+
)
|
|
1081
|
+
_contracts_export_p.add_argument(
|
|
1082
|
+
"--output", required=True, metavar="<dir>", help="Output directory."
|
|
1083
|
+
)
|
|
1084
|
+
_contracts_export_p.set_defaults(func=_lazy("catalogue_contracts"))
|
|
1085
|
+
|
|
1052
1086
|
# --- lint packs --- (Wave 2; implemented)
|
|
1053
1087
|
lint_parser = subparsers.add_parser(
|
|
1054
1088
|
"lint",
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"""``agentbundle catalogue contracts`` command handler."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import dataclasses
|
|
6
|
+
import json
|
|
7
|
+
import sys
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import TYPE_CHECKING
|
|
10
|
+
|
|
11
|
+
from agentbundle.catalogue_tooling.contracts_inspector import (
|
|
12
|
+
ContractResourceError,
|
|
13
|
+
export_contracts,
|
|
14
|
+
list_bundled_contracts,
|
|
15
|
+
show_contract,
|
|
16
|
+
)
|
|
17
|
+
from agentbundle.safety import WriteError
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
import argparse
|
|
21
|
+
|
|
22
|
+
_REFERENCE_NOTICE = (
|
|
23
|
+
"These are reference copies only. They do not override the contracts used "
|
|
24
|
+
"for validation by this agentbundle version."
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _run_list(args: argparse.Namespace) -> int:
|
|
29
|
+
try:
|
|
30
|
+
contracts = list_bundled_contracts()
|
|
31
|
+
except ContractResourceError:
|
|
32
|
+
print("error: bundled contract resources are unavailable", file=sys.stderr)
|
|
33
|
+
return 1
|
|
34
|
+
if getattr(args, "format", "table") == "json":
|
|
35
|
+
print(json.dumps([dataclasses.asdict(contract) for contract in contracts]))
|
|
36
|
+
return 0
|
|
37
|
+
|
|
38
|
+
rows = [("NAME", "KIND", "FILE")] + [
|
|
39
|
+
(contract.name, contract.kind, contract.file) for contract in contracts
|
|
40
|
+
]
|
|
41
|
+
# Pad to the widest cell so the header actually labels its column.
|
|
42
|
+
widths = [max(len(row[column]) for row in rows) for column in range(3)]
|
|
43
|
+
for row in rows:
|
|
44
|
+
print(f"{row[0]:<{widths[0]}} {row[1]:<{widths[1]}} {row[2]}")
|
|
45
|
+
return 0
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def _run_show(args: argparse.Namespace) -> int:
|
|
49
|
+
name = str(args.name)
|
|
50
|
+
try:
|
|
51
|
+
content = show_contract(name)
|
|
52
|
+
except (ContractResourceError, OSError, ValueError):
|
|
53
|
+
print("error: bundled contract resources are unavailable", file=sys.stderr)
|
|
54
|
+
return 1
|
|
55
|
+
if content is None:
|
|
56
|
+
print(f"error: unrecognized bundled contract {name!r}", file=sys.stderr)
|
|
57
|
+
return 1
|
|
58
|
+
sys.stdout.write(content)
|
|
59
|
+
return 0
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _run_export(args: argparse.Namespace) -> int:
|
|
63
|
+
try:
|
|
64
|
+
written = export_contracts(Path(args.output))
|
|
65
|
+
except ContractResourceError:
|
|
66
|
+
print("error: bundled contract resources are unavailable", file=sys.stderr)
|
|
67
|
+
return 2
|
|
68
|
+
except ValueError as exc:
|
|
69
|
+
message = str(exc).replace("\n", " ")
|
|
70
|
+
print(f"error: cannot export bundled contracts: {message}", file=sys.stderr)
|
|
71
|
+
return 2
|
|
72
|
+
except WriteError as exc:
|
|
73
|
+
# WriteError subclasses OSError, so it must be caught first. Its
|
|
74
|
+
# messages name only the user-supplied output path and are the one
|
|
75
|
+
# actionable signal here ("permission denied", "no space left").
|
|
76
|
+
message = str(exc).replace("\n", " ")
|
|
77
|
+
print(f"error: cannot export bundled contracts: {message}", file=sys.stderr)
|
|
78
|
+
return 2
|
|
79
|
+
except OSError:
|
|
80
|
+
print(
|
|
81
|
+
"error: cannot export bundled contracts: filesystem operation failed",
|
|
82
|
+
file=sys.stderr,
|
|
83
|
+
)
|
|
84
|
+
return 2
|
|
85
|
+
for filename in written:
|
|
86
|
+
print(filename)
|
|
87
|
+
print(_REFERENCE_NOTICE, file=sys.stderr)
|
|
88
|
+
return 0
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def run(args: argparse.Namespace) -> int:
|
|
92
|
+
"""Dispatch a bundled-contract operation."""
|
|
93
|
+
subcommand = getattr(args, "contracts_sub", None)
|
|
94
|
+
if subcommand == "list":
|
|
95
|
+
return _run_list(args)
|
|
96
|
+
if subcommand == "show":
|
|
97
|
+
return _run_show(args)
|
|
98
|
+
if subcommand == "export":
|
|
99
|
+
return _run_export(args)
|
|
100
|
+
print(
|
|
101
|
+
"agentbundle catalogue contracts: specify a subcommand "
|
|
102
|
+
"(list, show, export)",
|
|
103
|
+
file=sys.stderr,
|
|
104
|
+
)
|
|
105
|
+
return 1
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
6
|
import json
|
|
7
|
+
import shlex
|
|
7
8
|
import sys
|
|
8
9
|
from pathlib import Path
|
|
9
10
|
from typing import TYPE_CHECKING
|
|
@@ -134,6 +135,33 @@ def _run_plain(args: argparse.Namespace) -> int:
|
|
|
134
135
|
f"Catalogue '{result.catalogue.name}' initialized at {result.target}",
|
|
135
136
|
file=sys.stderr,
|
|
136
137
|
)
|
|
138
|
+
print("", file=sys.stderr)
|
|
139
|
+
print(" Next steps:", file=sys.stderr)
|
|
140
|
+
# Anchor the path to the initialized target: the guide lives at
|
|
141
|
+
# <target>/guides/..., so a bare relative path only resolves if
|
|
142
|
+
# the reader has already cd'd in.
|
|
143
|
+
standards_path = shlex.quote(
|
|
144
|
+
f"{result.target.rstrip('/')}/guides/_shared/reference/"
|
|
145
|
+
"catalogue-authoring-standards.md"
|
|
146
|
+
)
|
|
147
|
+
print(
|
|
148
|
+
f" • See {standards_path} for authoring standards.",
|
|
149
|
+
file=sys.stderr,
|
|
150
|
+
)
|
|
151
|
+
print(
|
|
152
|
+
" • Run 'agentbundle catalogue contracts list' to view "
|
|
153
|
+
"bundled contract schemas.",
|
|
154
|
+
file=sys.stderr,
|
|
155
|
+
)
|
|
156
|
+
# No surrounding quotes: shlex.quote already adds them when the
|
|
157
|
+
# target needs them, and nesting produces an uncopyable command.
|
|
158
|
+
verify_command = (
|
|
159
|
+
f"agentbundle catalogue verify --root {shlex.quote(result.target)}"
|
|
160
|
+
)
|
|
161
|
+
print(
|
|
162
|
+
f" • Run {verify_command} to validate your catalogue.",
|
|
163
|
+
file=sys.stderr,
|
|
164
|
+
)
|
|
137
165
|
else:
|
|
138
166
|
s = result.summary
|
|
139
167
|
if s.conflict > 0:
|