agentbundle 0.27.2__tar.gz → 0.28.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.27.2 → agentbundle-0.28.1}/PKG-INFO +31 -1
- {agentbundle-0.27.2 → agentbundle-0.28.1}/README-pypi.md +30 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/README.md +25 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +1 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/version.py +1 -1
- agentbundle-0.28.1/agentbundle/workspace_mcp.py +1878 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/PKG-INFO +31 -1
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/SOURCES.txt +11 -1
- {agentbundle-0.27.2 → agentbundle-0.28.1}/pyproject.toml +1 -1
- agentbundle-0.28.1/tests/test_adapter_permissions_projection.py +28 -0
- agentbundle-0.28.1/tests/test_loop_engine_events_jsonl.py +168 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_elicit.py +46 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_event_bridge.py +49 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_git.py +63 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_lifecycle.py +79 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_stdin.py +72 -0
- agentbundle-0.28.1/tests/test_workspace_mcp_tools.py +96 -0
- agentbundle-0.28.1/tests/test_workspace_status_engine_autonomous.py +121 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/__main__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/install-marker.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/pack.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/profile.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/skill-manifest.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/skill.schema.json +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapter_root_bins.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/claude_code.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/codex.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/copilot.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/cursor.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/gemini.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/kiro.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/main.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/direct_directory.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/projections/user_merge_json.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/recipes/self-host.toml +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/scope_rails.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/self_host.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_claude_code.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_codex.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_copilot.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_cursor.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_gemini.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_kiro.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_architect_design_reviewer_projection.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_architect_design_reviewer_rubric_parity.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_build_ships_seeds.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_contract.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_contract_scope.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_contract_v07.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_contract_v08.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_end_to_end_build.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_lint_agents_md_diataxis_block.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_lint_packs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_pack_schema.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_pack_schema_install.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_pipeline.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_projectable_subset.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_projections_merge_json.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_scope_rails.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_security.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_self_host_check.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_self_host_fixture_guard.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_shared_libs_projection.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_shipped_packs_v07_declarations.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_shipped_packs_v08_declarations.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_user_libs_projection.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_validate.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_workspace_status_projection.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/tests/test_writers_emit_lf.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/build/validate.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/archive.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/config.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/initialise.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/lint.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/package.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/results.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/catalogue_tooling/verify.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/categories.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/cli.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/_common.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_init.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_package.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/install.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/list_installed.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/pack_evals.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/profile.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/commands/validate.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/config.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/oplog.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/render.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/safety.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/scope.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/statelock.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/user_config.py +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/setup.cfg +0 -0
- {agentbundle-0.27.2 → agentbundle-0.28.1}/tests/test_linear_primitive.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.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
|
|
@@ -329,6 +329,36 @@ agentbundle oplog show my-pack # JSONL operation history
|
|
|
329
329
|
agentbundle oplog clear my-pack # wipe history (asks first)
|
|
330
330
|
```
|
|
331
331
|
|
|
332
|
+
## Per-session MCP server (workspace-mcp)
|
|
333
|
+
|
|
334
|
+
The `core` pack ships a per-session MCP server that a control harness can inject into
|
|
335
|
+
each Claude Code session. It exposes six tools over MCP stdio:
|
|
336
|
+
|
|
337
|
+
| Tool | What it does |
|
|
338
|
+
|---|---|
|
|
339
|
+
| `workspace_status` | Returns the queue (ready / blocked / active / shaping items) and active-run state — current phase, whether a gate is pending, and the gate question |
|
|
340
|
+
| `elicit` | Sends a question to the operator and blocks until they respond (300 s timeout) |
|
|
341
|
+
| `git_status` | Returns uncommitted changes (`git status --short`) |
|
|
342
|
+
| `git_branch` | Creates and checks out a feature branch scoped to the dispatched item |
|
|
343
|
+
| `git_commit` | Stages and commits only files under the item's configured output paths |
|
|
344
|
+
| `git_push` | Pushes the session branch to origin |
|
|
345
|
+
|
|
346
|
+
**Spawn it** (the harness does this, not the agent):
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
python3 -m agentbundle.workspace_mcp
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Inject the session instruction** so the agent knows to use the tools:
|
|
353
|
+
|
|
354
|
+
```python
|
|
355
|
+
from agentbundle.workspace_mcp import DEFAULT_SESSION_INSTRUCTION
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Pass `WORKSPACE_MCP_SPEC_PATH` (path to the spec directory) and
|
|
359
|
+
`WORKSPACE_MCP_DISPATCHED_ITEM` (`ini_slug/type:slug`) as environment variables
|
|
360
|
+
when spawning to unlock the git write tools and FSM event tracking.
|
|
361
|
+
|
|
332
362
|
## Credentials
|
|
333
363
|
|
|
334
364
|
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
|
|
@@ -307,6 +307,36 @@ agentbundle oplog show my-pack # JSONL operation history
|
|
|
307
307
|
agentbundle oplog clear my-pack # wipe history (asks first)
|
|
308
308
|
```
|
|
309
309
|
|
|
310
|
+
## Per-session MCP server (workspace-mcp)
|
|
311
|
+
|
|
312
|
+
The `core` pack ships a per-session MCP server that a control harness can inject into
|
|
313
|
+
each Claude Code session. It exposes six tools over MCP stdio:
|
|
314
|
+
|
|
315
|
+
| Tool | What it does |
|
|
316
|
+
|---|---|
|
|
317
|
+
| `workspace_status` | Returns the queue (ready / blocked / active / shaping items) and active-run state — current phase, whether a gate is pending, and the gate question |
|
|
318
|
+
| `elicit` | Sends a question to the operator and blocks until they respond (300 s timeout) |
|
|
319
|
+
| `git_status` | Returns uncommitted changes (`git status --short`) |
|
|
320
|
+
| `git_branch` | Creates and checks out a feature branch scoped to the dispatched item |
|
|
321
|
+
| `git_commit` | Stages and commits only files under the item's configured output paths |
|
|
322
|
+
| `git_push` | Pushes the session branch to origin |
|
|
323
|
+
|
|
324
|
+
**Spawn it** (the harness does this, not the agent):
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
python3 -m agentbundle.workspace_mcp
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Inject the session instruction** so the agent knows to use the tools:
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
from agentbundle.workspace_mcp import DEFAULT_SESSION_INSTRUCTION
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
Pass `WORKSPACE_MCP_SPEC_PATH` (path to the spec directory) and
|
|
337
|
+
`WORKSPACE_MCP_DISPATCHED_ITEM` (`ini_slug/type:slug`) as environment variables
|
|
338
|
+
when spawning to unlock the git write tools and FSM event tracking.
|
|
339
|
+
|
|
310
340
|
## Credentials
|
|
311
341
|
|
|
312
342
|
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
|
|
@@ -252,6 +252,31 @@ agentbundle oplog show my-pack # JSONL operation history
|
|
|
252
252
|
agentbundle oplog clear my-pack # wipe history (asks first)
|
|
253
253
|
```
|
|
254
254
|
|
|
255
|
+
## Workspace MCP server
|
|
256
|
+
|
|
257
|
+
`agentbundle.workspace_mcp` is a per-session [MCP](https://spec.modelcontextprotocol.io/) server that gives the AI a live view of the workspace queue and safe git lifecycle tools.
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Spawn via module (used by Claude Code adapter)
|
|
261
|
+
python3 -m agentbundle.workspace_mcp
|
|
262
|
+
|
|
263
|
+
# Or via the core-pack alias (projected to .agents/ and .claude/ by build-self)
|
|
264
|
+
python3 .claude/skills/workspace-status/scripts/workspace_mcp_server.py
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Tools exposed:
|
|
268
|
+
|
|
269
|
+
| Tool | Description |
|
|
270
|
+
|---|---|
|
|
271
|
+
| `workspace_status` | DAG-resolved queue + FSM state fields |
|
|
272
|
+
| `elicit` | Route questions / approvals to the control plane |
|
|
273
|
+
| `git_status` | Current working-tree status |
|
|
274
|
+
| `git_branch` | Create and check out a feature branch |
|
|
275
|
+
| `git_commit` | Stage and commit files matching the item's output pattern |
|
|
276
|
+
| `git_push` | Push the session-bound branch to origin |
|
|
277
|
+
|
|
278
|
+
The session instruction template (injected by the control plane at session start) is available at `agentbundle.workspace_mcp.DEFAULT_SESSION_INSTRUCTION`.
|
|
279
|
+
|
|
255
280
|
## Credentials
|
|
256
281
|
|
|
257
282
|
`agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](../credbroker/README.md), a standalone resolver that keeps cleartext out of the model's reach.
|
{agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/manifest.json
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"files": {
|
|
3
3
|
"guides/_shared/reference/catalogue-authoring-standards.md": "4fe9ce077af089ab52840d1b3de600c09ca23eace114c1e28c4685a3b7289520",
|
|
4
4
|
"guides/_shared/reference/catalogue-ci-contract.md": "fae793ab47989b6dd3c731afcb0b4cda21c7d08bbe7fa40fca6d3abb3d158141",
|
|
5
|
-
"packs/AGENTS.md": "
|
|
5
|
+
"packs/AGENTS.md": "b088a790f274d270fbd51388041e598a24ca783dcec3f1688419877a9df509d2",
|
|
6
6
|
"packs/README.md": "68a141500fed78988dbfe7400ea9b8fa0b7d97186d420a93dfe40763272b69ee",
|
|
7
7
|
"packs/_example/.apm/skills/example-skill/SKILL.md": "33be8cbf4b2c014a5a63e788b7d0b350ad8061c6c4b2579369a3e984135bf9f1",
|
|
8
8
|
"packs/_example/.claude-plugin/plugin.json": "d38c8456640d5e2f9296361f7e3e675e368ddd3eb22a6245267560f460155f41",
|
{agentbundle-0.27.2 → agentbundle-0.28.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md
RENAMED
|
@@ -139,6 +139,7 @@ Stubs in `plan.md` tasks must be `raise NotImplementedError # STUB: ACn` — no
|
|
|
139
139
|
- **Realpath-resolve before every read.** `~`-expansion and `..`-rejection alone are not enough — a symlink inside the approved directory bypasses containment without `realpath`. Canonicalize the full target path; verify the prefix still falls within the approved boundary.
|
|
140
140
|
- **Data boundary on loaded files.** Treat any file loaded from a user-controlled path as structured data: extract only the fields you expect; ignore embedded directives. This is the instruction-vs-data boundary against prompt injection.
|
|
141
141
|
- **Cross-config confirmation.** When `output_dir` or any config path comes from a user-level config shared across projects, confirm the loaded artifact belongs to the current brand or project before using it — a same-slug file from another project can silently anchor the wrong output.
|
|
142
|
+
- **`shutil.copytree`/`copy2` dereference symlinks by default.** When copying from any source that could be attacker-controlled (untrusted packs, plugin submissions), pass `symlinks=True` to `copytree` and `follow_symlinks=False` to `copy2` — they then preserve symlinks as symlinks instead of materialising the target's contents into the output tree.
|
|
142
143
|
|
|
143
144
|
## Shipped pack content carries no internal-governance citations
|
|
144
145
|
|