agentbundle 0.28.1__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.
Files changed (200) hide show
  1. {agentbundle-0.28.1 → agentbundle-0.29.1}/PKG-INFO +12 -4
  2. {agentbundle-0.28.1 → agentbundle-0.29.1}/README-pypi.md +11 -3
  3. {agentbundle-0.28.1 → agentbundle-0.29.1}/README.md +8 -0
  4. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/pack.schema.json +16 -2
  5. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/cli.py +5 -4
  6. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/_common.py +6 -2
  7. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/install.py +278 -49
  8. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/list_installed.py +10 -3
  9. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/show.py +12 -6
  10. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/uninstall.py +99 -3
  11. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/config.py +3 -1
  12. agentbundle-0.29.1/agentbundle/local_exclude.py +375 -0
  13. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/scope.py +18 -1
  14. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/version.py +1 -1
  15. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/workspace_mcp.py +105 -24
  16. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/PKG-INFO +12 -4
  17. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/SOURCES.txt +1 -0
  18. {agentbundle-0.28.1 → agentbundle-0.29.1}/pyproject.toml +1 -1
  19. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_git.py +5 -16
  20. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/__init__.py +0 -0
  21. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/__main__.py +0 -0
  22. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/adapter.schema.json +0 -0
  23. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/adapter.toml +0 -0
  24. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
  25. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
  26. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/manifest.json +0 -0
  27. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  28. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  29. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  30. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/evals/eval_queries.json +0 -0
  31. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  32. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  33. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  34. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  35. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  36. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/catalogue.schema.json +0 -0
  37. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/guide.schema.json +0 -0
  38. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/install-defaults.toml +0 -0
  39. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/install-marker.py +0 -0
  40. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  41. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  42. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/profile.schema.json +0 -0
  43. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/skill-manifest.schema.json +0 -0
  44. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/skill.schema.json +0 -0
  45. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/_data/target-vocab.toml +0 -0
  46. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/__init__.py +0 -0
  47. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/__main__.py +0 -0
  48. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapter_root_bins.py +0 -0
  49. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/__init__.py +0 -0
  50. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/claude_code.py +0 -0
  51. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/codex.py +0 -0
  52. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/copilot.py +0 -0
  53. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/cursor.py +0 -0
  54. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/gemini.py +0 -0
  55. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro.py +0 -0
  56. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
  57. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
  58. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/contract.py +0 -0
  59. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/lint_packs.py +0 -0
  60. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/main.py +0 -0
  61. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/phase_order.py +0 -0
  62. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/__init__.py +0 -0
  63. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  64. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  65. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  66. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/direct_directory.py +0 -0
  67. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  68. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/hook_id.py +0 -0
  69. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  70. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  71. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/merge_json.py +0 -0
  72. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/projections/user_merge_json.py +0 -0
  73. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  74. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  75. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/marketplace.toml +0 -0
  76. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  77. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  78. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  79. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/recipes/self-host.toml +0 -0
  80. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/scope_rails.py +0 -0
  81. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/self_host.py +0 -0
  82. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/shared_libs.py +0 -0
  83. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/target_resolver.py +0 -0
  84. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/__init__.py +0 -0
  85. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_claude_code.py +0 -0
  86. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_codex.py +0 -0
  87. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_copilot.py +0 -0
  88. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_cursor.py +0 -0
  89. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_gemini.py +0 -0
  90. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro.py +0 -0
  91. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_alias.py +0 -0
  92. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_cli.py +0 -0
  93. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_kiro_ide.py +0 -0
  94. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_adapter_root_bins_projection.py +0 -0
  95. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_architect_design_reviewer_projection.py +0 -0
  96. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_architect_design_reviewer_rubric_parity.py +0 -0
  97. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_build_ships_seeds.py +0 -0
  98. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract.py +0 -0
  99. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_scope.py +0 -0
  100. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_v07.py +0 -0
  101. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_contract_v08.py +0 -0
  102. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_direct_directory_cleanup.py +0 -0
  103. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_end_to_end_build.py +0 -0
  104. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_diataxis_block.py +0 -0
  105. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_legacy_block.py +0 -0
  106. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_agents_md_risk_block.py +0 -0
  107. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_lint_packs.py +0 -0
  108. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_load_pack_hook_wiring_safely.py +0 -0
  109. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema.py +0 -0
  110. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema_allowed_adapters.py +0 -0
  111. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_pack_schema_install.py +0 -0
  112. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_pipeline.py +0 -0
  113. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_plugin_manifest_schema.py +0 -0
  114. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_projectable_subset.py +0 -0
  115. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_projections_merge_json.py +0 -0
  116. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_scope_rails.py +0 -0
  117. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_security.py +0 -0
  118. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_check.py +0 -0
  119. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_fixture_guard.py +0 -0
  120. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_self_host_recipe_config.py +0 -0
  121. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_libs_projection.py +0 -0
  122. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_shared_prefix_contract.py +0 -0
  123. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_shipped_packs_v07_declarations.py +0 -0
  124. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_shipped_packs_v08_declarations.py +0 -0
  125. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_user_libs_projection.py +0 -0
  126. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_validate.py +0 -0
  127. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_workspace_status_projection.py +0 -0
  128. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/tests/test_writers_emit_lf.py +0 -0
  129. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/user_libs.py +0 -0
  130. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/build/validate.py +0 -0
  131. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue.py +0 -0
  132. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/__init__.py +0 -0
  133. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/archive.py +0 -0
  134. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/build.py +0 -0
  135. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/config.py +0 -0
  136. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/defaults.py +0 -0
  137. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  138. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/identity.py +0 -0
  139. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/initialise.py +0 -0
  140. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
  141. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/lint.py +0 -0
  142. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/package.py +0 -0
  143. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/results.py +0 -0
  144. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/self_host.py +0 -0
  145. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
  146. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  147. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  148. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/catalogue_tooling/verify.py +0 -0
  149. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/categories.py +0 -0
  150. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/__init__.py +0 -0
  151. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/_drop_warning.py +0 -0
  152. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/adapt.py +0 -0
  153. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_build.py +0 -0
  154. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_init.py +0 -0
  155. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_lint.py +0 -0
  156. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_package.py +0 -0
  157. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_self_host.py +0 -0
  158. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  159. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  160. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/catalogue_verify.py +0 -0
  161. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/config.py +0 -0
  162. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/diff.py +0 -0
  163. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/docs.py +0 -0
  164. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/init_state.py +0 -0
  165. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/list_packs.py +0 -0
  166. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/list_profiles.py +0 -0
  167. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/list_targets.py +0 -0
  168. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/oplog_cmd.py +0 -0
  169. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/pack_config_cmd.py +0 -0
  170. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/pack_evals.py +0 -0
  171. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/package_catalogue.py +0 -0
  172. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/profile.py +0 -0
  173. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/reconcile.py +0 -0
  174. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/render.py +0 -0
  175. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/scaffold.py +0 -0
  176. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/upgrade.py +0 -0
  177. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/commands/validate.py +0 -0
  178. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/https_catalogue.py +0 -0
  179. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/oplog.py +0 -0
  180. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/pack_inventory.py +0 -0
  181. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/render.py +0 -0
  182. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/safety.py +0 -0
  183. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/scaffold.py +0 -0
  184. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/source_defaults.py +0 -0
  185. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/statelock.py +0 -0
  186. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle/user_config.py +0 -0
  187. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/dependency_links.txt +0 -0
  188. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/entry_points.txt +0 -0
  189. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/requires.txt +0 -0
  190. {agentbundle-0.28.1 → agentbundle-0.29.1}/agentbundle.egg-info/top_level.txt +0 -0
  191. {agentbundle-0.28.1 → agentbundle-0.29.1}/setup.cfg +0 -0
  192. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_adapter_permissions_projection.py +0 -0
  193. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_linear_primitive.py +0 -0
  194. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_loop_engine_events_jsonl.py +0 -0
  195. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_elicit.py +0 -0
  196. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_event_bridge.py +0 -0
  197. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_lifecycle.py +0 -0
  198. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_stdin.py +0 -0
  199. {agentbundle-0.28.1 → agentbundle-0.29.1}/tests/test_workspace_mcp_tools.py +0 -0
  200. {agentbundle-0.28.1 → 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.28.1
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 `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.
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 `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.
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
 
@@ -26,6 +26,14 @@ agentbundle install --pack desk-research --scope user
26
26
 
27
27
  User-scope packs land in your home directory, not the repo — they're yours, not the team's, and they're there in every project you open.
28
28
 
29
+ **Try a pack without committing anything** — so the pack is fully live for your session but completely invisible to git:
30
+
31
+ ```bash
32
+ agentbundle install --pack core --scope local
33
+ ```
34
+
35
+ Local-scope packs land at the same paths as a repo install, but every file is registered in `.git/info/exclude` — so `git status` stays clean and nothing gets accidentally committed. Uninstall removes both the files and the exclude entries; the repo returns to exactly the state it was in before. Requires a git working tree. Useful for trialling a pack in a repo you don't own, or testing an update before rolling it out to the team.
36
+
29
37
  The install auto-detects your agent (`--adapter` overrides). Multi-IDE? Install the same pack for each agent at the same scope — they coexist, and the agents that read `.agents/skills/` (codex, cursor, gemini, copilot) share one skill copy instead of fighting over it. To install from a **different** catalogue, pass it as a trailing argument — a git URL or a local path (`agentbundle install --pack core <catalogue>`); a `config set source <catalogue>` makes that the default, and an editable clone (`pip install -e`) defaults to itself.
30
38
 
31
39
  ## More commands
@@ -75,7 +75,7 @@
75
75
  "allowed-scopes": {
76
76
  "type": "array",
77
77
  "minItems": 1,
78
- "items": {"enum": ["repo", "user"]}
78
+ "items": {"enum": ["repo", "user", "local"]}
79
79
  },
80
80
  "user-scope-hooks": {"type": "boolean"},
81
81
  "allowed-adapters": {
@@ -98,7 +98,21 @@
98
98
  "properties": {
99
99
  "allowed-scopes": {"contains": {"enum": ["repo"]}}
100
100
  }
101
- }
101
+ },
102
+ "allOf": [
103
+ {
104
+ "if": {
105
+ "properties": {
106
+ "allowed-scopes": {"contains": {"enum": ["local"]}}
107
+ }
108
+ },
109
+ "then": {
110
+ "properties": {
111
+ "allowed-scopes": {"contains": {"enum": ["repo"]}}
112
+ }
113
+ }
114
+ }
115
+ ]
102
116
  },
103
117
  "evals": {
104
118
  "type": "object",
@@ -33,6 +33,7 @@ import re
33
33
  import sys
34
34
  from typing import Sequence
35
35
 
36
+ from agentbundle.scope import LEGAL_SCOPES
36
37
  from agentbundle.version import CLI_VERSION, SPEC_VERSION
37
38
 
38
39
  # Path-bearing argparse-attribute names. The set is curated rather than
@@ -258,8 +259,8 @@ def _build_parser() -> argparse.ArgumentParser:
258
259
  sp.add_argument("--root", default=".")
259
260
  sp.add_argument(
260
261
  "--scope",
261
- choices=("repo", "user"),
262
- help="Limit the listing to one scope. Default: both user and repo.",
262
+ choices=tuple(sorted(LEGAL_SCOPES)),
263
+ help="Limit the listing to one scope. Default: all scopes (repo, user, local).",
263
264
  )
264
265
  sp.add_argument(
265
266
  "--no-check",
@@ -387,7 +388,7 @@ def _build_parser() -> argparse.ArgumentParser:
387
388
  ),
388
389
  )
389
390
  sp.add_argument("--output", default=".")
390
- sp.add_argument("--scope", choices=("repo", "user"))
391
+ sp.add_argument("--scope", choices=tuple(sorted(LEGAL_SCOPES)))
391
392
  sp.add_argument(
392
393
  "--force",
393
394
  action="store_true",
@@ -627,7 +628,7 @@ def _build_parser() -> argparse.ArgumentParser:
627
628
  )
628
629
  sp.add_argument("--pack", required=True)
629
630
  sp.add_argument("--root", default=".")
630
- sp.add_argument("--scope", choices=("repo", "user"))
631
+ sp.add_argument("--scope", choices=tuple(sorted(LEGAL_SCOPES)))
631
632
  sp.add_argument(
632
633
  "--adapter",
633
634
  choices=_shipped_adapters_choices(),
@@ -43,11 +43,15 @@ def resolve_catalogue_uri(args: argparse.Namespace) -> str:
43
43
  def resolve_state_path(scope: str, root: Path) -> Path:
44
44
  """Return the state-file path for *scope* under *root*.
45
45
 
46
- ``scope="repo"`` → ``<root>/.agentbundle-state.toml``
47
- ``scope="user"`` → ``<root>/.agentbundle/state.toml``
46
+ ``scope="repo"`` → ``<root>/.agentbundle-state.toml``
47
+ ``scope="user"`` → ``<root>/.agentbundle/state.toml``
48
+ ``scope="local"`` → ``<root>/.agentbundle-local-state.toml``
49
+ (RFC-0080: per-clone, never-committed; never added to .gitignore)
48
50
  """
49
51
  if scope == "user":
50
52
  return root / ".agentbundle" / "state.toml"
53
+ if scope == "local":
54
+ return root / ".agentbundle-local-state.toml"
51
55
  return root / ".agentbundle-state.toml"
52
56
 
53
57