agentbundle 0.29.0__tar.gz → 0.29.1__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.29.0 → agentbundle-0.29.1}/PKG-INFO +12 -4
- {agentbundle-0.29.0 → agentbundle-0.29.1}/README-pypi.md +11 -3
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/version.py +1 -1
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/workspace_mcp.py +105 -24
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/PKG-INFO +12 -4
- {agentbundle-0.29.0 → agentbundle-0.29.1}/pyproject.toml +1 -1
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_git.py +5 -16
- {agentbundle-0.29.0 → agentbundle-0.29.1}/README.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/__main__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/manifest.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/pack.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/profile.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/skill-manifest.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/skill.schema.json +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/main.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/self-host.toml +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/self_host.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_claude_code.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_codex.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_copilot.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_cursor.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_gemini.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_architect_design_reviewer_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_architect_design_reviewer_rubric_parity.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_build_ships_seeds.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_scope.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_v07.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_v08.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_end_to_end_build.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_diataxis_block.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_packs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema_install.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_pipeline.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_projectable_subset.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_projections_merge_json.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_scope_rails.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_security.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_check.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_fixture_guard.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_libs_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shipped_packs_v07_declarations.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shipped_packs_v08_declarations.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_user_libs_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_validate.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_workspace_status_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_writers_emit_lf.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/archive.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/config.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/initialise.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/lint.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/package.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/results.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/verify.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/categories.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/cli.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_init.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_package.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/install.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/list_installed.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/pack_evals.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/profile.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/commands/validate.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/config.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/local_exclude.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/oplog.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/render.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/safety.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/scope.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/statelock.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/user_config.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/SOURCES.txt +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/setup.cfg +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_adapter_permissions_projection.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_linear_primitive.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_loop_engine_events_jsonl.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_elicit.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_event_bridge.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_lifecycle.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_stdin.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_mcp_tools.py +0 -0
- {agentbundle-0.29.0 → agentbundle-0.29.1}/tests/test_workspace_status_engine_autonomous.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.29.
|
|
3
|
+
Version: 0.29.1
|
|
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: Apache-2.0 OR MIT
|
|
@@ -349,15 +349,23 @@ each Claude Code session. It exposes six tools over MCP stdio:
|
|
|
349
349
|
python3 -m agentbundle.workspace_mcp
|
|
350
350
|
```
|
|
351
351
|
|
|
352
|
+
> **Trusted checkout only.** This form runs whichever `agentbundle` is on
|
|
353
|
+
> `sys.path`. If the repo uses an editable install (`pip install -e .`), it
|
|
354
|
+
> runs the local checkout's code. Use only on repos you trust. An isolated
|
|
355
|
+
> spawn mode (`python3 -I -m agentbundle.workspace_mcp`) is planned for
|
|
356
|
+
> Stage 2 and will require a stable non-editable install.
|
|
357
|
+
|
|
352
358
|
**Inject the session instruction** so the agent knows to use the tools:
|
|
353
359
|
|
|
354
360
|
```python
|
|
355
361
|
from agentbundle.workspace_mcp import DEFAULT_SESSION_INSTRUCTION
|
|
356
362
|
```
|
|
357
363
|
|
|
358
|
-
Pass
|
|
359
|
-
`
|
|
360
|
-
|
|
364
|
+
Pass exactly one environment variable when spawning to set the session mode:
|
|
365
|
+
`WORKSPACE_MCP_SPEC_PATH` (path to the spec directory) for FSM/work-loop items,
|
|
366
|
+
or `WORKSPACE_MCP_DISPATCHED_ITEM` (`ini_slug/type:slug`) for non-FSM shaping
|
|
367
|
+
items. Setting neither gives discovery-only mode (git writes disabled). Setting
|
|
368
|
+
both is unsupported — only one selects the mode.
|
|
361
369
|
|
|
362
370
|
## Credentials
|
|
363
371
|
|
|
@@ -327,15 +327,23 @@ each Claude Code session. It exposes six tools over MCP stdio:
|
|
|
327
327
|
python3 -m agentbundle.workspace_mcp
|
|
328
328
|
```
|
|
329
329
|
|
|
330
|
+
> **Trusted checkout only.** This form runs whichever `agentbundle` is on
|
|
331
|
+
> `sys.path`. If the repo uses an editable install (`pip install -e .`), it
|
|
332
|
+
> runs the local checkout's code. Use only on repos you trust. An isolated
|
|
333
|
+
> spawn mode (`python3 -I -m agentbundle.workspace_mcp`) is planned for
|
|
334
|
+
> Stage 2 and will require a stable non-editable install.
|
|
335
|
+
|
|
330
336
|
**Inject the session instruction** so the agent knows to use the tools:
|
|
331
337
|
|
|
332
338
|
```python
|
|
333
339
|
from agentbundle.workspace_mcp import DEFAULT_SESSION_INSTRUCTION
|
|
334
340
|
```
|
|
335
341
|
|
|
336
|
-
Pass
|
|
337
|
-
`
|
|
338
|
-
|
|
342
|
+
Pass exactly one environment variable when spawning to set the session mode:
|
|
343
|
+
`WORKSPACE_MCP_SPEC_PATH` (path to the spec directory) for FSM/work-loop items,
|
|
344
|
+
or `WORKSPACE_MCP_DISPATCHED_ITEM` (`ini_slug/type:slug`) for non-FSM shaping
|
|
345
|
+
items. Setting neither gives discovery-only mode (git writes disabled). Setting
|
|
346
|
+
both is unsupported — only one selects the mode.
|
|
339
347
|
|
|
340
348
|
## Credentials
|
|
341
349
|
|
|
@@ -966,9 +966,20 @@ class _GitTools:
|
|
|
966
966
|
def __init__(self, repo_root: Path) -> None:
|
|
967
967
|
self._repo_root = repo_root
|
|
968
968
|
spec_path = os.environ.get("WORKSPACE_MCP_SPEC_PATH")
|
|
969
|
+
# Capture raw env presence BEFORE validation: FSM mode is determined by
|
|
970
|
+
# whether the operator SUPPLIED WORKSPACE_MCP_SPEC_PATH, not whether it
|
|
971
|
+
# passes path validation. An empty string or invalid path still activates
|
|
972
|
+
# the FSM guard (fail-closed); git writes are blocked even if anchoring fails.
|
|
973
|
+
# Use `in os.environ` (not bool()) to treat "" as supplied.
|
|
974
|
+
_spec_path_supplied = "WORKSPACE_MCP_SPEC_PATH" in os.environ
|
|
969
975
|
dispatched = os.environ.get("WORKSPACE_MCP_DISPATCHED_ITEM")
|
|
976
|
+
# Capture raw dispatched presence for the both-vars warning: if the
|
|
977
|
+
# DISPATCHED_ITEM value is malformed, validation below sets dispatched=None,
|
|
978
|
+
# but the warning should still fire to signal the unsupported configuration.
|
|
979
|
+
_dispatched_supplied = "WORKSPACE_MCP_DISPATCHED_ITEM" in os.environ
|
|
970
980
|
# Validate spec_path: must resolve inside repo_root. An out-of-repo or malformed
|
|
971
|
-
# path is treated as absent
|
|
981
|
+
# path is treated as absent for event-bridge anchoring only — FSM mode
|
|
982
|
+
# is already locked by _spec_path_supplied above.
|
|
972
983
|
if spec_path:
|
|
973
984
|
try:
|
|
974
985
|
if not Path(spec_path).resolve().is_relative_to(repo_root.resolve()):
|
|
@@ -991,7 +1002,21 @@ class _GitTools:
|
|
|
991
1002
|
dispatched,
|
|
992
1003
|
)
|
|
993
1004
|
dispatched = None
|
|
994
|
-
|
|
1005
|
+
# Discovery mode: only when NEITHER env var was supplied. Use the raw
|
|
1006
|
+
# presence flag (_spec_path_supplied) so that SPEC_PATH="" stays out of
|
|
1007
|
+
# discovery mode (it is FSM mode, fail-closed).
|
|
1008
|
+
self._discovery_mode = not _spec_path_supplied and not dispatched
|
|
1009
|
+
# FSM mode: WORKSPACE_MCP_SPEC_PATH was supplied → FSM mode, regardless of
|
|
1010
|
+
# whether it passed validation (fail-closed: invalid path still blocks git
|
|
1011
|
+
# writes). When BOTH env vars are supplied (unsupported per the one-variable
|
|
1012
|
+
# contract), SPEC_PATH wins and a startup warning is logged.
|
|
1013
|
+
if _spec_path_supplied and _dispatched_supplied:
|
|
1014
|
+
_log.warning(
|
|
1015
|
+
"Both WORKSPACE_MCP_SPEC_PATH and WORKSPACE_MCP_DISPATCHED_ITEM are set "
|
|
1016
|
+
"(unsupported); WORKSPACE_MCP_SPEC_PATH takes precedence — "
|
|
1017
|
+
"FSM mode active, git writes blocked"
|
|
1018
|
+
)
|
|
1019
|
+
self._fsm_mode = _spec_path_supplied
|
|
995
1020
|
# Expected branch from dispatched item (ini_slug/type:slug → ini_slug/type/slug)
|
|
996
1021
|
self._expected_branch: str | None = self._derive_expected_branch(dispatched)
|
|
997
1022
|
self._session_branch: str | None = self._read_head_branch()
|
|
@@ -1006,10 +1031,10 @@ class _GitTools:
|
|
|
1006
1031
|
# Case 1: resumed dispatched session
|
|
1007
1032
|
(self._expected_branch is not None
|
|
1008
1033
|
and self._session_branch == self._expected_branch)
|
|
1009
|
-
# Case 2: FSM
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1034
|
+
# Case 2: FSM mode (SPEC_PATH supplied); lock to startup HEAD so the
|
|
1035
|
+
# session cannot redirect git_push to an arbitrary caller-chosen ref.
|
|
1036
|
+
# _fsm_mode blocks mutating tools anyway; this lock is belt-and-suspenders.
|
|
1037
|
+
or (_spec_path_supplied and self._session_branch is not None)
|
|
1013
1038
|
)
|
|
1014
1039
|
# Serialize all mutating git operations: prevents index.lock collisions
|
|
1015
1040
|
# and TOCTOU races on _session_branch between concurrent tool calls.
|
|
@@ -1256,6 +1281,15 @@ class _GitTools:
|
|
|
1256
1281
|
return {"output": r.stdout, "returncode": r.returncode}
|
|
1257
1282
|
|
|
1258
1283
|
def git_branch(self, arguments: dict) -> dict:
|
|
1284
|
+
# FSM guard precedes discovery-mode guard (fail-closed: SPEC_PATH="" is FSM,
|
|
1285
|
+
# not discovery mode, so _fsm_mode fires before _discovery_mode can).
|
|
1286
|
+
if self._fsm_mode:
|
|
1287
|
+
return {
|
|
1288
|
+
"error": (
|
|
1289
|
+
"git_branch is not available in work-loop (FSM) mode — "
|
|
1290
|
+
"work-loop manages its own git lifecycle"
|
|
1291
|
+
)
|
|
1292
|
+
}
|
|
1259
1293
|
if self._discovery_mode:
|
|
1260
1294
|
return {"error": "git_branch is not available in discovery mode"}
|
|
1261
1295
|
name = arguments.get("name", "")
|
|
@@ -1301,6 +1335,13 @@ class _GitTools:
|
|
|
1301
1335
|
return {"branch": name}
|
|
1302
1336
|
|
|
1303
1337
|
def git_commit(self, arguments: dict) -> dict:
|
|
1338
|
+
if self._fsm_mode:
|
|
1339
|
+
return {
|
|
1340
|
+
"error": (
|
|
1341
|
+
"git_commit is not available in work-loop (FSM) mode — "
|
|
1342
|
+
"work-loop manages its own git lifecycle"
|
|
1343
|
+
)
|
|
1344
|
+
}
|
|
1304
1345
|
if self._discovery_mode:
|
|
1305
1346
|
return {"error": "git_commit is not available in discovery mode"}
|
|
1306
1347
|
message = arguments.get("message", "workspace-mcp: commit artifacts")
|
|
@@ -1411,6 +1452,13 @@ class _GitTools:
|
|
|
1411
1452
|
return {"committed": matched, "message": message}
|
|
1412
1453
|
|
|
1413
1454
|
def git_push(self, arguments: dict) -> dict:
|
|
1455
|
+
if self._fsm_mode:
|
|
1456
|
+
return {
|
|
1457
|
+
"error": (
|
|
1458
|
+
"git_push is not available in work-loop (FSM) mode — "
|
|
1459
|
+
"work-loop manages its own git lifecycle"
|
|
1460
|
+
)
|
|
1461
|
+
}
|
|
1414
1462
|
if self._discovery_mode:
|
|
1415
1463
|
return {"error": "git_push is not available in discovery mode"}
|
|
1416
1464
|
branch = arguments.get("branch", "")
|
|
@@ -1553,15 +1601,31 @@ class _StdioLoop:
|
|
|
1553
1601
|
"Returns the current workspace queue and active-run state. "
|
|
1554
1602
|
"Call this at session start before doing any work. "
|
|
1555
1603
|
"Response fields: "
|
|
1556
|
-
"ready[] — items that
|
|
1604
|
+
"ready[] — items that may be dispatchable, each with "
|
|
1557
1605
|
"ini_slug, type, slug, and dispatch_skill; "
|
|
1558
|
-
"
|
|
1606
|
+
"dispatchable items omit the 'available' field (treat absent as eligible); "
|
|
1607
|
+
"items where available=false require an optional pack (see required_pack); "
|
|
1608
|
+
"items with a non-empty unmet_needs list have unresolved dependencies; "
|
|
1609
|
+
"only dispatch items where 'available' is absent (not false) and "
|
|
1610
|
+
"'unmet_needs' is absent or empty; "
|
|
1611
|
+
"blocked[] — items whose dependency needs are not yet met; "
|
|
1559
1612
|
"active[] — items currently in progress; "
|
|
1560
|
-
"shaping[] — non-
|
|
1561
|
-
"
|
|
1562
|
-
"
|
|
1613
|
+
"shaping[] — informational only in Stage 1; non-FSM items (research, design, "
|
|
1614
|
+
"shape, strategy) whose skill flows are not yet shipped (Stage 3); "
|
|
1615
|
+
"do not dispatch shaping items in Stage 1 — selecting one opens a bound "
|
|
1616
|
+
"session with no usable skill flow; same available/required_pack/unmet_needs "
|
|
1617
|
+
"fields as ready[] for readiness visibility; "
|
|
1618
|
+
"current_state — current work-loop phase name (null when idle OR when this "
|
|
1619
|
+
"session is not bound to a valid spec — see below); "
|
|
1620
|
+
"gate_pending — true when human input is required before work can continue "
|
|
1621
|
+
"(always false when not spec-bound); "
|
|
1563
1622
|
"gate — name of the pending gate (e.g. SPEC-HUMAN-GATE, REVIEW-HUMAN-GATE); "
|
|
1564
|
-
"gate_question — the specific question the work-loop is asking."
|
|
1623
|
+
"gate_question — the specific question the work-loop is asking. "
|
|
1624
|
+
"IMPORTANT: current_state, gate_pending, gate, and gate_question are "
|
|
1625
|
+
"authoritative only in a session where WORKSPACE_MCP_SPEC_PATH is set to "
|
|
1626
|
+
"a valid spec directory; in discovery sessions (no SPEC_PATH) or sessions "
|
|
1627
|
+
"with an invalid SPEC_PATH these fields are always null/false even if a "
|
|
1628
|
+
"work-loop is active in another session."
|
|
1565
1629
|
),
|
|
1566
1630
|
"inputSchema": {"type": "object", "properties": {}},
|
|
1567
1631
|
},
|
|
@@ -1602,6 +1666,7 @@ class _StdioLoop:
|
|
|
1602
1666
|
{
|
|
1603
1667
|
"name": "git_status",
|
|
1604
1668
|
"description": (
|
|
1669
|
+
"Use this instead of running 'git status' directly. "
|
|
1605
1670
|
"Returns uncommitted file changes in the repo "
|
|
1606
1671
|
"(equivalent to git status --short). "
|
|
1607
1672
|
"Returns {output: string, returncode: int}."
|
|
@@ -1611,11 +1676,15 @@ class _StdioLoop:
|
|
|
1611
1676
|
{
|
|
1612
1677
|
"name": "git_branch",
|
|
1613
1678
|
"description": (
|
|
1614
|
-
"
|
|
1679
|
+
"Use this instead of running 'git checkout -b' directly — "
|
|
1680
|
+
"raw git branch commands bypass the scoping guard that locks "
|
|
1681
|
+
"the session to exactly one branch for the dispatched item. "
|
|
1682
|
+
"Creates and checks out a new feature branch. "
|
|
1615
1683
|
"The branch name must follow the ini_slug/type/slug format "
|
|
1616
|
-
"(e.g. my-initiative/
|
|
1684
|
+
"(e.g. my-initiative/shape/new-feature) and must match the dispatched item. "
|
|
1617
1685
|
"May only be called once per session; subsequent calls are rejected. "
|
|
1618
|
-
"Not available
|
|
1686
|
+
"Not available in FSM/work-loop sessions (WORKSPACE_MCP_SPEC_PATH set) "
|
|
1687
|
+
"or when no item has been dispatched."
|
|
1619
1688
|
),
|
|
1620
1689
|
"inputSchema": {
|
|
1621
1690
|
"type": "object",
|
|
@@ -1624,7 +1693,7 @@ class _StdioLoop:
|
|
|
1624
1693
|
"type": "string",
|
|
1625
1694
|
"description": (
|
|
1626
1695
|
"Branch name in ini_slug/type/slug format "
|
|
1627
|
-
"(e.g. my-initiative/
|
|
1696
|
+
"(e.g. my-initiative/shape/new-feature)."
|
|
1628
1697
|
),
|
|
1629
1698
|
}
|
|
1630
1699
|
},
|
|
@@ -1634,9 +1703,13 @@ class _StdioLoop:
|
|
|
1634
1703
|
{
|
|
1635
1704
|
"name": "git_commit",
|
|
1636
1705
|
"description": (
|
|
1637
|
-
"
|
|
1638
|
-
"
|
|
1639
|
-
"files outside
|
|
1706
|
+
"Use this instead of running 'git add' and 'git commit' directly — "
|
|
1707
|
+
"raw git commit bypasses the output-path filter and may silently "
|
|
1708
|
+
"include files outside the dispatched item's scope. "
|
|
1709
|
+
"Stages and commits only files under the item's configured output "
|
|
1710
|
+
"paths; unstaged files outside those paths are excluded automatically. "
|
|
1711
|
+
"If any files outside the output paths are already pre-staged (via "
|
|
1712
|
+
"git add), the commit is refused — unstage them first. "
|
|
1640
1713
|
"Not available when no item has been dispatched, or for work-loop "
|
|
1641
1714
|
"items (work-loop manages its own git lifecycle)."
|
|
1642
1715
|
),
|
|
@@ -1656,9 +1729,16 @@ class _StdioLoop:
|
|
|
1656
1729
|
{
|
|
1657
1730
|
"name": "git_push",
|
|
1658
1731
|
"description": (
|
|
1659
|
-
"
|
|
1660
|
-
"
|
|
1661
|
-
"
|
|
1732
|
+
"Use this instead of running 'git push' directly — "
|
|
1733
|
+
"raw git push bypasses the branch check that prevents pushing "
|
|
1734
|
+
"to a branch other than the one established for this session. "
|
|
1735
|
+
"Pushes the session branch to origin. "
|
|
1736
|
+
"The session branch must be established before pushing: "
|
|
1737
|
+
"call git_branch() in a new session, or in a resumed "
|
|
1738
|
+
"dispatched session the branch may already be locked from "
|
|
1739
|
+
"the prior run (no git_branch() call required in that case). "
|
|
1740
|
+
"Not available in FSM/work-loop sessions (WORKSPACE_MCP_SPEC_PATH set) "
|
|
1741
|
+
"or when no item has been dispatched."
|
|
1662
1742
|
),
|
|
1663
1743
|
"inputSchema": {
|
|
1664
1744
|
"type": "object",
|
|
@@ -1666,8 +1746,9 @@ class _StdioLoop:
|
|
|
1666
1746
|
"branch": {
|
|
1667
1747
|
"type": "string",
|
|
1668
1748
|
"description": (
|
|
1669
|
-
"Branch name to push. Must match the
|
|
1670
|
-
"established by git_branch()
|
|
1749
|
+
"Branch name to push. Must match the session-bound "
|
|
1750
|
+
"branch established by git_branch() or inherited "
|
|
1751
|
+
"from session startup."
|
|
1671
1752
|
),
|
|
1672
1753
|
}
|
|
1673
1754
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.29.
|
|
3
|
+
Version: 0.29.1
|
|
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: Apache-2.0 OR MIT
|
|
@@ -349,15 +349,23 @@ each Claude Code session. It exposes six tools over MCP stdio:
|
|
|
349
349
|
python3 -m agentbundle.workspace_mcp
|
|
350
350
|
```
|
|
351
351
|
|
|
352
|
+
> **Trusted checkout only.** This form runs whichever `agentbundle` is on
|
|
353
|
+
> `sys.path`. If the repo uses an editable install (`pip install -e .`), it
|
|
354
|
+
> runs the local checkout's code. Use only on repos you trust. An isolated
|
|
355
|
+
> spawn mode (`python3 -I -m agentbundle.workspace_mcp`) is planned for
|
|
356
|
+
> Stage 2 and will require a stable non-editable install.
|
|
357
|
+
|
|
352
358
|
**Inject the session instruction** so the agent knows to use the tools:
|
|
353
359
|
|
|
354
360
|
```python
|
|
355
361
|
from agentbundle.workspace_mcp import DEFAULT_SESSION_INSTRUCTION
|
|
356
362
|
```
|
|
357
363
|
|
|
358
|
-
Pass
|
|
359
|
-
`
|
|
360
|
-
|
|
364
|
+
Pass exactly one environment variable when spawning to set the session mode:
|
|
365
|
+
`WORKSPACE_MCP_SPEC_PATH` (path to the spec directory) for FSM/work-loop items,
|
|
366
|
+
or `WORKSPACE_MCP_DISPATCHED_ITEM` (`ini_slug/type:slug`) for non-FSM shaping
|
|
367
|
+
items. Setting neither gives discovery-only mode (git writes disabled). Setting
|
|
368
|
+
both is unsupported — only one selects the mode.
|
|
361
369
|
|
|
362
370
|
## Credentials
|
|
363
371
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agentbundle"
|
|
7
|
-
version = "0.29.
|
|
7
|
+
version = "0.29.1"
|
|
8
8
|
description = "npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent."
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
dependencies = []
|
|
@@ -1,26 +1,15 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Stub tests for _GitTools — branch validation, commit path intersection, injection defence.
|
|
2
|
+
|
|
3
|
+
AC14/AC15 behavioral tests are stubs here; the FSM-mode guard integration tests
|
|
4
|
+
live in tests/integration/test_workspace_mcp_git_fsm.py (disk + subprocess).
|
|
5
|
+
"""
|
|
2
6
|
from __future__ import annotations
|
|
3
7
|
|
|
4
|
-
import subprocess
|
|
5
8
|
from pathlib import Path
|
|
6
9
|
|
|
7
10
|
import pytest
|
|
8
11
|
|
|
9
12
|
|
|
10
|
-
def _init_git_repo(tmp_path: Path) -> Path:
|
|
11
|
-
subprocess.run(["git", "init", str(tmp_path)], check=True, capture_output=True)
|
|
12
|
-
for cmd in (
|
|
13
|
-
["git", "config", "user.email", "test@example.com"],
|
|
14
|
-
["git", "config", "user.name", "Test"],
|
|
15
|
-
):
|
|
16
|
-
subprocess.run(cmd, check=True, capture_output=True, cwd=str(tmp_path))
|
|
17
|
-
# Initial commit so HEAD exists
|
|
18
|
-
(tmp_path / "README.md").write_text("init")
|
|
19
|
-
subprocess.run(["git", "add", "README.md"], check=True, capture_output=True, cwd=str(tmp_path))
|
|
20
|
-
subprocess.run(["git", "commit", "-m", "init"], check=True, capture_output=True, cwd=str(tmp_path))
|
|
21
|
-
return tmp_path
|
|
22
|
-
|
|
23
|
-
|
|
24
13
|
class TestGitBranch:
|
|
25
14
|
"""git_branch validates via check-ref-format and rejects invalid names (AC14)."""
|
|
26
15
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/manifest.json
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/_data/plugin-manifest.derived.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/copilot_hooks_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/gemini_command_toml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/projections/merge_into_agent_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-agents-md.toml
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-marketplace.toml
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-apm-package.toml
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_claude_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_direct_directory_cleanup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema_install.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_plugin_manifest_schema.py
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_projectable_subset.py
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_projections_merge_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_fixture_guard.py
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_recipe_config.py
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_libs_projection.py
RENAMED
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_prefix_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/build/tests/test_user_libs_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbundle-0.29.0 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/self_host_windows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|