langchain-agentx-python 1.0.7__tar.gz → 1.0.9__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 (622) hide show
  1. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/PKG-INFO +1 -1
  2. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/__init__.py +1 -1
  3. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/factory.py +73 -7
  4. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/builtin.py +5 -2
  5. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/tool_aware_sections.py +17 -5
  6. langchain-agentx-python-1.0.9/langchain_agentx/loop/prompt/using_your_tools.py +126 -0
  7. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/__init__.py +19 -0
  8. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/adapter.py +20 -2
  9. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/base.py +58 -1
  10. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/models.py +40 -0
  11. langchain-agentx-python-1.0.9/langchain_agentx/tool_runtime/permission_snapshot.py +53 -0
  12. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/pipeline.py +1 -0
  13. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/types.py +2 -0
  14. langchain-agentx-python-1.0.9/langchain_agentx/tool_runtime/prompt_context.py +91 -0
  15. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/registry.py +9 -1
  16. langchain-agentx-python-1.0.9/langchain_agentx/tool_runtime/tool_schema_cache.py +116 -0
  17. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/prompt.py +4 -5
  18. langchain-agentx-python-1.0.9/langchain_agentx/tools/agent/prompt_scope.py +78 -0
  19. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/tool.py +12 -3
  20. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/tool.py +9 -3
  21. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/prompt.py +3 -0
  22. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/tool.py +18 -1
  23. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/tool.py +6 -1
  24. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/tool.py +6 -1
  25. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/tool.py +7 -1
  26. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/tool.py +5 -0
  27. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/prompt.py +4 -1
  28. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/tool.py +18 -1
  29. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/tool.py +6 -1
  30. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_get/prompt.py +5 -0
  31. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_get/tool.py +6 -1
  32. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_list/prompt.py +5 -0
  33. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_list/tool.py +6 -1
  34. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_update/prompt.py +5 -0
  35. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_update/tool.py +6 -1
  36. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/prompt.py +14 -0
  37. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/tool.py +13 -1
  38. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/prompt.py +2 -2
  39. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/tool.py +15 -1
  40. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/tool.py +6 -1
  41. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/PKG-INFO +1 -1
  42. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/SOURCES.txt +5 -0
  43. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/pyproject.toml +1 -1
  44. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/LICENSE +0 -0
  45. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/README.md +0 -0
  46. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/__init__.py +0 -0
  47. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/builtin/__init__.py +0 -0
  48. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/builtin/clear.py +0 -0
  49. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/builtin/compact.py +0 -0
  50. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/builtin/memory.py +0 -0
  51. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
  52. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/context.py +0 -0
  53. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/dispatcher.py +0 -0
  54. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/registry.py +0 -0
  55. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/result.py +0 -0
  56. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/command/types.py +0 -0
  57. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/config/__init__.py +0 -0
  58. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/config/model_profiles.yaml +0 -0
  59. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/config/model_profiles.yaml.example +0 -0
  60. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/health/__init__.py +0 -0
  61. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/health/checks.py +0 -0
  62. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/health/models.py +0 -0
  63. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/health/preflight.py +0 -0
  64. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/__init__.py +0 -0
  65. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/benchmark_frozen_config.py +0 -0
  66. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/__init__.py +0 -0
  67. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/agent_config.py +0 -0
  68. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/loop_config.py +0 -0
  69. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
  70. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/runtime_settings.py +0 -0
  71. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/token_estimator.py +0 -0
  72. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/config/tool_execution_engine_resolver.py +0 -0
  73. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/__init__.py +0 -0
  74. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/blocking_guard.py +0 -0
  75. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/compaction_service.py +0 -0
  76. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/message_utils.py +0 -0
  77. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/pipeline.py +0 -0
  78. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/query_source.py +0 -0
  79. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/recovery_mode.py +0 -0
  80. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/settings.py +0 -0
  81. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/__init__.py +0 -0
  82. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
  83. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/base.py +0 -0
  84. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/collapse.py +0 -0
  85. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
  86. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/noop.py +0 -0
  87. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/snip.py +0 -0
  88. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
  89. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/context/types.py +0 -0
  90. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/__init__.py +0 -0
  91. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/exit_logic.py +0 -0
  92. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/query_source.py +0 -0
  93. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/reason_codes.py +0 -0
  94. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/resolution.py +0 -0
  95. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/terminal.py +0 -0
  96. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/exit/withheld_error.py +0 -0
  97. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/__init__.py +0 -0
  98. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
  99. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/graph_edges.py +0 -0
  100. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/reactive_compact_node.py +0 -0
  101. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/graph/runtime_tools_node.py +0 -0
  102. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/__init__.py +0 -0
  103. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
  104. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/config.py +0 -0
  105. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/engine.py +0 -0
  106. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
  107. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/executors/agent.py +0 -0
  108. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/executors/command.py +0 -0
  109. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/executors/http.py +0 -0
  110. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
  111. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
  112. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/hook_projection.py +0 -0
  113. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/post_sample_hook.py +0 -0
  114. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/progress_payload.py +0 -0
  115. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/registry.py +0 -0
  116. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/trust.py +0 -0
  117. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/hook/types.py +0 -0
  118. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/injection/__init__.py +0 -0
  119. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/injection/dedup.py +0 -0
  120. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/loop_abort.py +0 -0
  121. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/__init__.py +0 -0
  122. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/model_node.py +0 -0
  123. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/model_nodes.py +0 -0
  124. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
  125. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/retrier.py +0 -0
  126. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/retry_bridge.py +0 -0
  127. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/retry_events.py +0 -0
  128. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/retry_policy.py +0 -0
  129. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/retry_progress.py +0 -0
  130. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/schema_and_format.py +0 -0
  131. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
  132. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
  133. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
  134. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/__init__.py +0 -0
  135. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/builder.py +0 -0
  136. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/compact.py +0 -0
  137. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/sections.py +0 -0
  138. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/prompt/session_context.py +0 -0
  139. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/runtime/__init__.py +0 -0
  140. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/runtime/context.py +0 -0
  141. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/runtime/context_factory.py +0 -0
  142. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
  143. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/graph_driver.py +0 -0
  144. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/helpers.py +0 -0
  145. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/loop_driver.py +0 -0
  146. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/result.py +0 -0
  147. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/synthetic_events.py +0 -0
  148. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/stream/transcript_gate.py +0 -0
  149. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/__init__.py +0 -0
  150. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/async_runner.py +0 -0
  151. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/context.py +0 -0
  152. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/fork_boilerplate.py +0 -0
  153. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/fork_ports.py +0 -0
  154. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
  155. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/forked_runner.py +0 -0
  156. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/graph.py +0 -0
  157. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/orchestrator.py +0 -0
  158. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/progress.py +0 -0
  159. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/prompt.py +0 -0
  160. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/runner.py +0 -0
  161. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/subagent_termination_classifier.py +0 -0
  162. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/loop/subagent/transcript.py +0 -0
  163. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/__init__.py +0 -0
  164. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/__init__.py +0 -0
  165. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/exclusion.py +0 -0
  166. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/external_includes.py +0 -0
  167. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/loader.py +0 -0
  168. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/resolver.py +0 -0
  169. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/runtime.py +0 -0
  170. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/sections.py +0 -0
  171. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/types.py +0 -0
  172. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/instruction/worktree_skip.py +0 -0
  173. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/__init__.py +0 -0
  174. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/_deprecated/agent_memory/agent_memory.py +0 -0
  175. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/age.py +0 -0
  176. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/attachments.py +0 -0
  177. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/cursor_store.py +0 -0
  178. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/extractor.py +0 -0
  179. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/fork_concurrency.py +0 -0
  180. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/gate.py +0 -0
  181. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/loader.py +0 -0
  182. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/memory_saved.py +0 -0
  183. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/metrics.py +0 -0
  184. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/paths.py +0 -0
  185. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/prefetch.py +0 -0
  186. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/prompts/__init__.py +0 -0
  187. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/prompts/_shared.py +0 -0
  188. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/prompts/select_memories.py +0 -0
  189. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/recall.py +0 -0
  190. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/recall_service.py +0 -0
  191. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/runtime.py +0 -0
  192. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/scan.py +0 -0
  193. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/side_query.py +0 -0
  194. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/threshold.py +0 -0
  195. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/tool_scope.py +0 -0
  196. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/types.py +0 -0
  197. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/memdir/written_paths.py +0 -0
  198. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/__init__.py +0 -0
  199. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/compact_bridge.py +0 -0
  200. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/extractor.py +0 -0
  201. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/prompts.py +0 -0
  202. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/session_memory.py +0 -0
  203. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/memory/session/tool_scope.py +0 -0
  204. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/__init__.py +0 -0
  205. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/__init__.py +0 -0
  206. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
  207. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
  208. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
  209. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
  210. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
  211. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
  212. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
  213. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
  214. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/service.py +0 -0
  215. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/state.py +0 -0
  216. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/evaluation/store.py +0 -0
  217. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/events/__init__.py +0 -0
  218. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/events/finish_event_payload_composer.py +0 -0
  219. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/events/finish_outcome.py +0 -0
  220. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
  221. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/events/tool_call_id_resolver.py +0 -0
  222. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/logging/__init__.py +0 -0
  223. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/logging/debug_burst.py +0 -0
  224. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/logging/logging_config.py +0 -0
  225. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/logging/logging_contract.py +0 -0
  226. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/replay/__init__.py +0 -0
  227. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/replay/cli.py +0 -0
  228. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/replay/service.py +0 -0
  229. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/replay/store.py +0 -0
  230. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/replay/ui.py +0 -0
  231. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/__init__.py +0 -0
  232. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/collector.py +0 -0
  233. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/event_emitter.py +0 -0
  234. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
  235. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/models.py +0 -0
  236. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
  237. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/trace_callback.py +0 -0
  238. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
  239. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/__init__.py +0 -0
  240. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/builtin.py +0 -0
  241. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/config.py +0 -0
  242. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/loader.py +0 -0
  243. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/manifest.py +0 -0
  244. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/registries.py +0 -0
  245. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/plugin/types.py +0 -0
  246. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/__init__.py +0 -0
  247. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/anthropic.py +0 -0
  248. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
  249. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/env.py +0 -0
  250. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/model_profile.py +0 -0
  251. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/openai.py +0 -0
  252. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/__init__.py +0 -0
  253. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/answer_assembler.py +0 -0
  254. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/contracts.py +0 -0
  255. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/__init__.py +0 -0
  256. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/anthropic.py +0 -0
  257. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/anthropic_codec.py +0 -0
  258. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/anthropic_finish_reason.py +0 -0
  259. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/anthropic_interpreter.py +0 -0
  260. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/anthropic_normalizer.py +0 -0
  261. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/compatible_openai.py +0 -0
  262. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/compatible_openai_codec.py +0 -0
  263. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/compatible_openai_finish_reason.py +0 -0
  264. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/compatible_openai_interpreter.py +0 -0
  265. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/compatible_openai_normalizer.py +0 -0
  266. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/openai.py +0 -0
  267. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/openai_codec.py +0 -0
  268. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/openai_finish_reason.py +0 -0
  269. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/openai_interpreter.py +0 -0
  270. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/families/openai_normalizer.py +0 -0
  271. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/finish_reason_normalizer.py +0 -0
  272. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/message_normalizer.py +0 -0
  273. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/profile.py +0 -0
  274. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/registry.py +0 -0
  275. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/request_codec.py +0 -0
  276. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/runtime.py +0 -0
  277. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/stream_normalizer.py +0 -0
  278. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/tool_call_interpreter.py +0 -0
  279. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/provider/semantics/turn_accumulator.py +0 -0
  280. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/__init__.py +0 -0
  281. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/agent_session.py +0 -0
  282. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/conversation_factory.py +0 -0
  283. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/conversation_recovery.py +0 -0
  284. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/conversation_session.py +0 -0
  285. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/factory.py +0 -0
  286. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/protocol.py +0 -0
  287. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/session/recovery.py +0 -0
  288. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/__init__.py +0 -0
  289. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/core/__init__.py +0 -0
  290. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/core/ids.py +0 -0
  291. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
  292. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
  293. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/core/types.py +0 -0
  294. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
  295. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
  296. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
  297. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
  298. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
  299. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
  300. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
  301. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
  302. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
  303. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
  304. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/output/__init__.py +0 -0
  305. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/output/sink.py +0 -0
  306. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
  307. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
  308. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
  309. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
  310. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
  311. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
  312. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
  313. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
  314. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/store/__init__.py +0 -0
  315. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
  316. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
  317. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
  318. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
  319. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
  320. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
  321. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/notifier.py +0 -0
  322. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
  323. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/paths.py +0 -0
  324. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/reader.py +0 -0
  325. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
  326. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
  327. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
  328. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
  329. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
  330. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
  331. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
  332. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
  333. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
  334. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
  335. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
  336. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
  337. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
  338. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
  339. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
  340. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
  341. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
  342. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
  343. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
  344. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
  345. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
  346. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
  347. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
  348. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
  349. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
  350. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
  351. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
  352. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
  353. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
  354. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
  355. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
  356. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
  357. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
  358. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
  359. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
  360. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
  361. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
  362. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
  363. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
  364. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
  365. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
  366. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
  367. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
  368. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
  369. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
  370. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
  371. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/__init__.py +0 -0
  372. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/allowlist.py +0 -0
  373. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +0 -0
  374. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +0 -0
  375. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +0 -0
  376. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +0 -0
  377. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +0 -0
  378. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +0 -0
  379. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/config.py +0 -0
  380. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/config_update.py +0 -0
  381. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/decision.py +0 -0
  382. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/events.py +0 -0
  383. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/factory.py +0 -0
  384. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/feedback.py +0 -0
  385. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/hook.py +0 -0
  386. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +0 -0
  387. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/auto_mode/state.py +0 -0
  388. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/capabilities.py +0 -0
  389. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/errors.py +0 -0
  390. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/__init__.py +0 -0
  391. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/__init__.py +0 -0
  392. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/auto_approved.py +0 -0
  393. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/effort_override.py +0 -0
  394. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/model_override.py +0 -0
  395. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/set_cwd.py +0 -0
  396. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/appliers/stubs.py +0 -0
  397. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/callback_bridge.py +0 -0
  398. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/engine.py +0 -0
  399. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/message_adapter.py +0 -0
  400. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/models.py +0 -0
  401. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/parity.py +0 -0
  402. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/payload_validator.py +0 -0
  403. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/planner.py +0 -0
  404. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/policy.py +0 -0
  405. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/side_effect_collector.py +0 -0
  406. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/execution/side_effect_merge.py +0 -0
  407. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/failure_event_emitter.py +0 -0
  408. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
  409. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/limits.py +0 -0
  410. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/loader.py +0 -0
  411. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/loop_loader.py +0 -0
  412. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/loop_runtime_context.py +0 -0
  413. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/messages.py +0 -0
  414. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/override.py +0 -0
  415. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/path_safety.py +0 -0
  416. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/permission_context.py +0 -0
  417. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/permission_decision.py +0 -0
  418. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/policy.py +0 -0
  419. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/policy_decorator.py +0 -0
  420. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/process_loader.py +0 -0
  421. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/progress/__init__.py +0 -0
  422. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/progress/event.py +0 -0
  423. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/progress/sampler.py +0 -0
  424. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/__init__.py +0 -0
  425. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/_abort.py +0 -0
  426. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/cli_interactive.py +0 -0
  427. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/handler.py +0 -0
  428. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/headless.py +0 -0
  429. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py +0 -0
  430. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/messages.py +0 -0
  431. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/race.py +0 -0
  432. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/prompt/session_mode.py +0 -0
  433. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/read_ignore_patterns.py +0 -0
  434. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/read_permission.py +0 -0
  435. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
  436. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
  437. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
  438. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
  439. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
  440. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
  441. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/session_hints.py +0 -0
  442. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/session_store.py +0 -0
  443. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/shell_error.py +0 -0
  444. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
  445. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
  446. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tool_runtime/tool_message_status.py +0 -0
  447. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/__init__.py +0 -0
  448. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/__init__.py +0 -0
  449. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/backend.py +0 -0
  450. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
  451. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
  452. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
  453. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/general.py +0 -0
  454. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
  455. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
  456. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
  457. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
  458. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
  459. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/limits.py +0 -0
  460. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/loader.py +0 -0
  461. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/memory_paths.py +0 -0
  462. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/memory_prompt.py +0 -0
  463. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/memory_snapshot.py +0 -0
  464. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/models.py +0 -0
  465. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
  466. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/registry/config.py +0 -0
  467. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/registry/registry.py +0 -0
  468. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/agent/scope.py +0 -0
  469. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
  470. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
  471. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
  472. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/models.py +0 -0
  473. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
  474. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
  475. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/__init__.py +0 -0
  476. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/ast_security.py +0 -0
  477. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/auto_mode_adapter.py +0 -0
  478. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/backend.py +0 -0
  479. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
  480. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
  481. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/boundary_check.py +0 -0
  482. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
  483. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/events.py +0 -0
  484. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/limits.py +0 -0
  485. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/mode_validation.py +0 -0
  486. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/models.py +0 -0
  487. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/observability.py +0 -0
  488. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/output_tracker.py +0 -0
  489. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/output_utils.py +0 -0
  490. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/path_security.py +0 -0
  491. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
  492. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/result_presenter.py +0 -0
  493. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
  494. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/security.py +0 -0
  495. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
  496. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/sed_validation.py +0 -0
  497. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/semantics.py +0 -0
  498. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/shell_locator.py +0 -0
  499. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/shell_quoting.py +0 -0
  500. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/task_runtime.py +0 -0
  501. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
  502. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/__init__.py +0 -0
  503. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/backend.py +0 -0
  504. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/diff_generator.py +0 -0
  505. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
  506. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/limits.py +0 -0
  507. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/models.py +0 -0
  508. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/prompt.py +0 -0
  509. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/quote_match.py +0 -0
  510. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
  511. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/settings_validator.py +0 -0
  512. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/staleness.py +0 -0
  513. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/edit/validator.py +0 -0
  514. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/__init__.py +0 -0
  515. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/models.py +0 -0
  516. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/pagination.py +0 -0
  517. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/prompt.py +0 -0
  518. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
  519. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
  520. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/__init__.py +0 -0
  521. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/backend.py +0 -0
  522. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/models.py +0 -0
  523. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/prompt.py +0 -0
  524. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
  525. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/__init__.py +0 -0
  526. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/backend.py +0 -0
  527. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/limits.py +0 -0
  528. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/models.py +0 -0
  529. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/read/prompt.py +0 -0
  530. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
  531. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/__init__.py +0 -0
  532. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
  533. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/fork.py +0 -0
  534. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/loader.py +0 -0
  535. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/models.py +0 -0
  536. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/skill/policy.py +0 -0
  537. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/__init__.py +0 -0
  538. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/hooks.py +0 -0
  539. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/limits.py +0 -0
  540. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/models.py +0 -0
  541. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_create/prompt.py +0 -0
  542. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_get/__init__.py +0 -0
  543. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_get/models.py +0 -0
  544. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_list/__init__.py +0 -0
  545. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_list/models.py +0 -0
  546. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_update/__init__.py +0 -0
  547. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_update/hooks.py +0 -0
  548. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/task_update/models.py +0 -0
  549. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/__init__.py +0 -0
  550. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/backend.py +0 -0
  551. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/limits.py +0 -0
  552. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/loader.py +0 -0
  553. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/models.py +0 -0
  554. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
  555. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/webfetch/summary.py +0 -0
  556. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/__init__.py +0 -0
  557. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/backend.py +0 -0
  558. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/events.py +0 -0
  559. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/limits.py +0 -0
  560. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/loader.py +0 -0
  561. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/websearch/models.py +0 -0
  562. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/__init__.py +0 -0
  563. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/backend.py +0 -0
  564. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/limits.py +0 -0
  565. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/models.py +0 -0
  566. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/prompt.py +0 -0
  567. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/tools/write/validator.py +0 -0
  568. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/__init__.py +0 -0
  569. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/cwd.py +0 -0
  570. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/git_roots.py +0 -0
  571. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/host_platform.py +0 -0
  572. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/path.py +0 -0
  573. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/path_hierarchy.py +0 -0
  574. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/path_user_input.py +0 -0
  575. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/rg_executable.py +0 -0
  576. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/subprocess_text.py +0 -0
  577. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/temp_paths.py +0 -0
  578. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/tool_paths.py +0 -0
  579. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/tool_result_storage.py +0 -0
  580. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/unc_path.py +0 -0
  581. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/win_reserved_paths.py +0 -0
  582. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/utils/windows_paths.py +0 -0
  583. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/__init__.py +0 -0
  584. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/base.py +0 -0
  585. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/batch.py +0 -0
  586. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/dag.py +0 -0
  587. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
  588. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
  589. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
  590. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
  591. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
  592. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
  593. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
  594. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
  595. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/event_adapter/types.py +0 -0
  596. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/node.py +0 -0
  597. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/__init__.py +0 -0
  598. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/chaining.py +0 -0
  599. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
  600. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
  601. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
  602. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/patterns/routing.py +0 -0
  603. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/runtime.py +0 -0
  604. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workflow/state.py +0 -0
  605. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/__init__.py +0 -0
  606. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/boundary.py +0 -0
  607. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/capabilities.py +0 -0
  608. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/config.py +0 -0
  609. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/errors.py +0 -0
  610. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/grant.py +0 -0
  611. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/l3_root_grant.py +0 -0
  612. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
  613. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/resolver.py +0 -0
  614. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/root_grant_manager.py +0 -0
  615. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/tool_boundary.py +0 -0
  616. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/validators.py +0 -0
  617. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx/workspace/view.py +0 -0
  618. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
  619. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
  620. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/requires.txt +0 -0
  621. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/langchain_agentx_python.egg-info/top_level.txt +0 -0
  622. {langchain-agentx-python-1.0.7 → langchain-agentx-python-1.0.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-agentx-python
3
- Version: 1.0.7
3
+ Version: 1.0.9
4
4
  Summary: LangChain/LangGraph-based agent utilities for CodeBaseX.
5
5
  Author-email: GoodMood2008 <GoodMood2008@users.noreply.github.com>
6
6
  License: Apache License
@@ -11,7 +11,7 @@ from langchain_agentx import create_loop_agent
11
11
  ```
12
12
  """
13
13
 
14
- __version__ = "1.0.7"
14
+ __version__ = "1.0.9"
15
15
 
16
16
  from .loop import ( # noqa: F401
17
17
  create_loop_agent,
@@ -365,13 +365,16 @@ class LoopGraphBuilder:
365
365
  self._dynamic_sections: list[SystemPromptSection] = list(self._config.prompt.dynamic_sections)
366
366
  append_system_prompt = self._config.prompt.append_system
367
367
  self._resolve_workspace_config()
368
- self._setup_loader_tools()
368
+ self._setup_loader_tools(
369
+ session_store=session_store,
370
+ model=model,
371
+ schema_cache_namespace=session_id or "",
372
+ )
369
373
  from ...loop.prompt.tool_aware_sections import (
370
374
  build_tool_aware_prompt_sections,
371
- collect_enabled_tool_names,
372
375
  )
373
376
 
374
- self._enabled_tool_names = collect_enabled_tool_names(self._loader_tools)
377
+ runtime_tools = getattr(self, "_runtime_tools", None) or []
375
378
  # P0-3: 初始化 session_store.cwd
376
379
  # 从 config.workspace.runtime_cwd 或回退到 workspace_root
377
380
  if session_store is not None and hasattr(session_store, "set_cwd"):
@@ -463,7 +466,7 @@ class LoopGraphBuilder:
463
466
  self._dynamic_sections.extend(
464
467
  build_tool_aware_prompt_sections(
465
468
  self._enabled_tool_names,
466
- loader_tools=self._loader_tools,
469
+ runtime_tools=runtime_tools,
467
470
  include_session_memory_mechanics=self._config.enable_session_memory,
468
471
  is_subagent=False,
469
472
  )
@@ -644,8 +647,17 @@ class LoopGraphBuilder:
644
647
  if self._services.prompt_handler is not None:
645
648
  loader.set_prompt_handler(self._services.prompt_handler)
646
649
 
647
- def _setup_loader_tools(self) -> None:
650
+ def _setup_loader_tools(
651
+ self,
652
+ *,
653
+ session_store: Any | None = None,
654
+ model: Any | None = None,
655
+ schema_cache_namespace: str | None = None,
656
+ ) -> None:
648
657
  self._loader_tools = []
658
+ self._runtime_tools = []
659
+ self._tool_prompt_ctx = None
660
+ self._enabled_tool_names = frozenset()
649
661
  self._skill_runtime_tool = None
650
662
  self._loop_loader = None
651
663
  if self._services.loader is not None:
@@ -665,11 +677,65 @@ class LoopGraphBuilder:
665
677
  for tool in self._services.loader.registry.list():
666
678
  if tool.name not in self._loop_loader.registry._tools:
667
679
  self._loop_loader.register(tool)
668
- self._loader_tools = self._loop_loader.registry.to_langchain_tools()
669
- for rt in self._loop_loader.registry.list():
680
+ self._runtime_tools = self._loop_loader.registry.list()
681
+ from ...loop.prompt.tool_aware_sections import collect_enabled_tool_names
682
+
683
+ self._enabled_tool_names = collect_enabled_tool_names(self._runtime_tools)
684
+ self._tool_prompt_ctx = self._build_tool_prompt_context(
685
+ session_store=session_store,
686
+ model=model,
687
+ schema_cache_namespace=schema_cache_namespace,
688
+ )
689
+ self._loader_tools = self._loop_loader.registry.to_langchain_tools(
690
+ prompt_ctx=self._tool_prompt_ctx,
691
+ )
692
+ for rt in self._runtime_tools:
670
693
  if self._skill_runtime_tool is None and rt.__class__.__name__ == "SkillRuntimeTool":
671
694
  self._skill_runtime_tool = rt
672
695
 
696
+ def _resolve_policy_config(self) -> Any | None:
697
+ loader = self._loop_loader or self._services.loader
698
+ if loader is None:
699
+ return None
700
+ policy_cfg = getattr(loader, "policy_config", None)
701
+ if policy_cfg is None and hasattr(loader, "_process"):
702
+ policy_cfg = getattr(loader._process, "policy_config", None)
703
+ return policy_cfg
704
+
705
+ def _snapshot_permission_context(
706
+ self,
707
+ *,
708
+ session_store: Any | None = None,
709
+ ) -> Any:
710
+ from ...tool_runtime.permission_snapshot import build_permission_snapshot
711
+
712
+ return build_permission_snapshot(
713
+ permission_mode=self._config.permission_mode,
714
+ policy_config=self._resolve_policy_config(),
715
+ session_store=session_store,
716
+ )
717
+
718
+ def _build_tool_prompt_context(
719
+ self,
720
+ *,
721
+ session_store: Any | None = None,
722
+ model: Any | None = None,
723
+ schema_cache_namespace: str | None = None,
724
+ ) -> Any:
725
+ from ...tool_runtime.prompt_context import build_tool_prompt_context
726
+
727
+ resolved_model = model if model is not None else self._config.model
728
+ model_name = getattr(resolved_model, "model_name", None)
729
+ return build_tool_prompt_context(
730
+ runtime_tools=self._runtime_tools,
731
+ enabled_tool_names=self._enabled_tool_names,
732
+ permission_snapshot=self._snapshot_permission_context(session_store=session_store),
733
+ workspace_cfg=getattr(self, "_workspace_cfg", None),
734
+ headless=self._config.headless,
735
+ model_name=model_name,
736
+ schema_cache_namespace=schema_cache_namespace,
737
+ )
738
+
673
739
  def _build_memory_extraction_coordinator(
674
740
  self,
675
741
  *,
@@ -165,9 +165,12 @@ def task_execution_baseline_section() -> SystemPromptSection:
165
165
 
166
166
 
167
167
  def get_coding_sections() -> list[SystemPromptSection]:
168
- """编码场景推荐 section 组合(仅返回列表,是否注入由调用方决定)。"""
168
+ """编码场景推荐 section 组合(仅返回列表,是否注入由调用方决定)。
169
+
170
+ 不含 tool_routing_guard:专用工具路由由 build_tool_aware_prompt_sections
171
+ 的 using_your_tools 段按 enabled 工具集注入(CLI-E1 / Phase D SSOT)。
172
+ """
169
173
  return [
170
- tool_routing_guard_section(),
171
174
  git_safety_section(),
172
175
  actions_safety_section(),
173
176
  failure_diagnosis_section(),
@@ -2,16 +2,16 @@
2
2
  loop/prompt/tool_aware_sections.py — 工具感知 Prompt 段与纠偏白名单 SSOT。
3
3
 
4
4
  职责:
5
- _loader_tools 提取 enabled_tool_names,统一 gate session_memory_mechanics、
5
+ _runtime_tools 提取 enabled_tool_names,统一 gate session_memory_mechanics、
6
6
  agent_tool_guidance 注入,并为 ToolCallDegradationCorrector 白名单提供同源集合。
7
7
 
8
8
  链路位置:
9
- LoopGraphBuilder._setup_loader_tools() → collect_enabled_tool_names
9
+ LoopGraphBuilder._setup_loader_tools() → _runtime_tools + _tool_prompt_ctx
10
10
  _prepare_compile_context() → build_tool_aware_prompt_sections(Phase B);
11
11
  _prepare_for_model_nodes() → build_degradation_allowed_tool_names(Phase C)。
12
12
 
13
13
  当前裁剪范围:
14
- v1 仅收拢 session_memory_mechanics、agent_tool_guidance 两段 gate;
14
+ v1 收拢 session_memory_mechanics、using_your_tools、agent_tool_guidance 三段 gate;
15
15
  不含 MemoryPromptBootstrap / get_coding_sections / CLI session_guidance。
16
16
  """
17
17
 
@@ -56,7 +56,7 @@ def has_enabled_tool(
56
56
  def build_tool_aware_prompt_sections(
57
57
  enabled: set[str] | frozenset[str],
58
58
  *,
59
- loader_tools: Sequence[Any],
59
+ runtime_tools: Sequence[Any],
60
60
  include_session_memory_mechanics: bool = True,
61
61
  is_subagent: bool = False,
62
62
  ) -> list[SystemPromptSection]:
@@ -73,13 +73,25 @@ def build_tool_aware_prompt_sections(
73
73
  sections.append(
74
74
  section("session_memory_mechanics", build_session_memory_mechanics_prompt)
75
75
  )
76
+ from langchain_agentx.loop.prompt.using_your_tools import (
77
+ build_using_your_tools_section,
78
+ should_include_using_your_tools_section,
79
+ )
80
+
81
+ if should_include_using_your_tools_section(enabled):
82
+ sections.append(
83
+ section(
84
+ "using_your_tools",
85
+ lambda: build_using_your_tools_section(enabled),
86
+ )
87
+ )
76
88
  if has_enabled_tool(enabled, AGENT_TOOL_NAME, legacy=LEGACY_TOOL_NAME):
77
89
  from langchain_agentx.tools.agent.prompt import build_agent_guidance_section
78
90
 
79
91
  sections.append(
80
92
  section(
81
93
  "agent_tool_guidance",
82
- lambda: build_agent_guidance_section(list(loader_tools)),
94
+ lambda: build_agent_guidance_section(list(runtime_tools)),
83
95
  )
84
96
  )
85
97
  return sections
@@ -0,0 +1,126 @@
1
+ """
2
+ loop/prompt/using_your_tools.py — 跨工具路由 system 段(CC getUsingYourToolsSection)
3
+
4
+ 职责:
5
+ 按 enabled 工具集生成「专用工具优于 bash」路由护栏,供主 Loop system 动态段注入。
6
+
7
+ 链路位置:
8
+ build_tool_aware_prompt_sections() → section("using_your_tools");
9
+ 不注入子 agent(factory is_subagent gate)。
10
+
11
+ CC 对照:
12
+ C:/git_code/claude-code-main-ghuntley-03-31/src/constants/prompts.ts getUsingYourToolsSection()
13
+
14
+ 当前裁剪范围:
15
+ 按 enabled 逐项 gate read_file/edit/write/glob/grep/bash/TaskCreate;
16
+ 无 REPL / embedded search 分支(本工程 v1 不启用)。
17
+ """
18
+
19
+ from __future__ import annotations
20
+
21
+ from langchain_agentx.tools.bash.prompt import TOOL_NAME as BASH_TOOL_NAME
22
+ from langchain_agentx.tools.edit.prompt import TOOL_NAME as EDIT_TOOL_NAME
23
+ from langchain_agentx.tools.glob.prompt import TOOL_NAME as GLOB_TOOL_NAME
24
+ from langchain_agentx.tools.grep.prompt import TOOL_NAME as GREP_TOOL_NAME
25
+ from langchain_agentx.tools.read.prompt import TOOL_NAME as READ_TOOL_NAME
26
+ from langchain_agentx.tools.task_create.prompt import TOOL_NAME as TASK_CREATE_TOOL_NAME
27
+ from langchain_agentx.tools.write.prompt import TOOL_NAME as WRITE_TOOL_NAME
28
+
29
+ SECTION_HEADER = "# Using your tools"
30
+
31
+ _PARALLEL_BULLET = (
32
+ "You can call multiple tools in a single response. If you intend to call multiple tools "
33
+ "and there are no dependencies between them, make all independent tool calls in parallel. "
34
+ "Maximize use of parallel tool calls where possible to increase efficiency. However, if "
35
+ "some tool calls depend on previous calls to inform dependent values, do NOT call these "
36
+ "tools in parallel and instead call them sequentially. For instance, if one operation must "
37
+ "complete before another starts, run these operations sequentially instead."
38
+ )
39
+
40
+ _TASK_BULLET = (
41
+ f"Break down and manage your work with the {TASK_CREATE_TOOL_NAME} tool. These tools are "
42
+ "helpful for planning your work and helping the user track your progress. Mark each task "
43
+ "as completed as soon as you are done with the task. Do not batch up multiple tasks before "
44
+ "marking them as completed."
45
+ )
46
+
47
+ _BASH_CRITICAL_INTRO = (
48
+ f"Do NOT use the {BASH_TOOL_NAME} to run commands when a relevant dedicated tool is "
49
+ "provided. Using dedicated tools allows the user to better understand and review your "
50
+ f"work. This is CRITICAL to assisting the user:"
51
+ )
52
+
53
+
54
+ def _collect_routing_subitems(enabled: set[str] | frozenset[str]) -> list[str]:
55
+ """按 enabled 集收集专用工具路由子项(对齐 CC providedToolSubitems + gate)。"""
56
+ items: list[str] = []
57
+ if READ_TOOL_NAME in enabled:
58
+ items.append(
59
+ f"To read files use {READ_TOOL_NAME} instead of cat, head, tail, or sed"
60
+ )
61
+ if EDIT_TOOL_NAME in enabled:
62
+ items.append(f"To edit files use {EDIT_TOOL_NAME} instead of sed or awk")
63
+ if WRITE_TOOL_NAME in enabled:
64
+ items.append(
65
+ f"To create files use {WRITE_TOOL_NAME} instead of cat with heredoc or echo redirection"
66
+ )
67
+ if GLOB_TOOL_NAME in enabled:
68
+ items.append(f"To search for files use {GLOB_TOOL_NAME} instead of find or ls")
69
+ if GREP_TOOL_NAME in enabled:
70
+ items.append(
71
+ f"To search the content of files, use {GREP_TOOL_NAME} instead of grep or rg"
72
+ )
73
+ if BASH_TOOL_NAME in enabled:
74
+ items.append(
75
+ f"Reserve using the {BASH_TOOL_NAME} exclusively for system commands and terminal "
76
+ "operations that require shell execution. If you are unsure and there is a relevant "
77
+ f"dedicated tool, default to using the dedicated tool and only fallback on using "
78
+ f"the {BASH_TOOL_NAME} tool for these if it is absolutely necessary."
79
+ )
80
+ return items
81
+
82
+
83
+ def _format_top_level_bullet(text: str) -> str:
84
+ if "\n" in text:
85
+ head, *rest = text.split("\n")
86
+ return "- " + head + "\n" + "\n".join(rest)
87
+ return f"- {text}"
88
+
89
+
90
+ def should_include_using_your_tools_section(enabled: set[str] | frozenset[str]) -> bool:
91
+ """至少有一种可写路由说明的工具 enabled 时才注入段。"""
92
+ keys = {
93
+ READ_TOOL_NAME,
94
+ EDIT_TOOL_NAME,
95
+ WRITE_TOOL_NAME,
96
+ GLOB_TOOL_NAME,
97
+ GREP_TOOL_NAME,
98
+ BASH_TOOL_NAME,
99
+ TASK_CREATE_TOOL_NAME,
100
+ }
101
+ return bool(keys & set(enabled))
102
+
103
+
104
+ def build_using_your_tools_section(enabled: set[str] | frozenset[str]) -> str | None:
105
+ """生成 using_your_tools 段正文;无相关内容时返回 None(跳过注入)。"""
106
+ if not should_include_using_your_tools_section(enabled):
107
+ return None
108
+
109
+ subitems = _collect_routing_subitems(enabled)
110
+ bullets: list[str] = []
111
+
112
+ if BASH_TOOL_NAME in enabled and subitems:
113
+ nested = "\n".join(f" - {line}" for line in subitems)
114
+ bullets.append(f"{_BASH_CRITICAL_INTRO}\n{nested}")
115
+ elif subitems:
116
+ bullets.extend(subitems)
117
+
118
+ if TASK_CREATE_TOOL_NAME in enabled:
119
+ bullets.append(_TASK_BULLET)
120
+
121
+ if not bullets:
122
+ return None
123
+
124
+ bullets.append(_PARALLEL_BULLET)
125
+ body = "\n".join(_format_top_level_bullet(b) for b in bullets)
126
+ return f"{SECTION_HEADER}\n{body}"
@@ -23,12 +23,22 @@ from .models import (
23
23
  ToolErrorInfo,
24
24
  ToolExecutionContext,
25
25
  ToolHint,
26
+ PermissionSnapshot,
27
+ ToolPromptContext,
26
28
  ToolResultEnvelope,
27
29
  ValidationResult,
28
30
  )
29
31
  from .identical_call_cache import IdenticalCallMemo
30
32
  from .loader import ToolRuntimeLoader
31
33
  from .pipeline import PermissionAskInterrupt, ToolExecutorPipeline, ToolOutputManager
34
+ from .prompt_context import (
35
+ AGENT_TOOL_NAMES,
36
+ build_minimal_prompt_ctx,
37
+ build_tool_prompt_context,
38
+ minimal_prompt_ctx,
39
+ resolve_agent_registry,
40
+ )
41
+ from .permission_snapshot import build_permission_snapshot, collect_denied_agent_types
32
42
  from .path_safety import PathSafetyConfig, PathSafetyEvaluator
33
43
  from .policy import DefaultPolicyEngine, PolicyEngine, ToolPolicyConfig
34
44
  from .read_ignore_patterns import ReadDenyPatternCollector, normalize_read_deny_pattern
@@ -77,6 +87,15 @@ __all__ = [
77
87
  "ToolResultEnvelope",
78
88
  "ValidationResult",
79
89
  "AuthorizationDecision",
90
+ "PermissionSnapshot",
91
+ "ToolPromptContext",
92
+ "build_minimal_prompt_ctx",
93
+ "build_tool_prompt_context",
94
+ "resolve_agent_registry",
95
+ "AGENT_TOOL_NAMES",
96
+ "minimal_prompt_ctx",
97
+ "build_permission_snapshot",
98
+ "collect_denied_agent_types",
80
99
  "ToolErrorInfo",
81
100
  "ToolHint",
82
101
  "ToolArtifact",
@@ -48,7 +48,7 @@ from langgraph.prebuilt.tool_node import ToolRuntime
48
48
  from langchain_core.runnables import RunnableConfig
49
49
  from langchain_core.tools import StructuredTool
50
50
 
51
- from .models import ToolExecutionContext, ToolResultEnvelope, PipelineRunResult
51
+ from .models import ToolExecutionContext, ToolPromptContext, ToolResultEnvelope, PipelineRunResult
52
52
  from .errors import truncate_error_text
53
53
  from .shell_error import wrap_tool_use_error
54
54
  from langchain_agentx.observability.replay.store import (
@@ -361,11 +361,13 @@ class LangChainAdapter:
361
361
  tool: Any, # RuntimeTool,避免循环导入用 Any
362
362
  pipeline: ToolExecutorPipeline,
363
363
  state_getter: Callable[[], MutableMapping[str, Any]] | None = None,
364
+ prompt_ctx: ToolPromptContext | None = None,
364
365
  ) -> StructuredTool:
365
366
  """
366
367
  将 RuntimeTool 导出为 LangChain StructuredTool。
367
368
 
368
369
  args_schema 直接使用 tool.input_model,保证模型可见 schema 稳定。
370
+ description 来自 ``tool.prompt_for_model(prompt_ctx)``(Phase B;对齐 CC toolToAPISchema)。
369
371
  内部 func / coroutine 调用 pipeline.run / arun,
370
372
  通过 LangChain 的 config 参数获取 RunnableConfig。
371
373
 
@@ -380,6 +382,22 @@ class LangChainAdapter:
380
382
  ``invoke()`` 对外仍只暴露 content 字符串;artifact 由 ToolNode 写入 ``ToolMessage.artifact``。
381
383
  """
382
384
  adapter = self
385
+ if prompt_ctx is None:
386
+ prompt_ctx = ToolPromptContext(
387
+ runtime_tools=(tool,),
388
+ enabled_tool_names=frozenset({tool.name}),
389
+ )
390
+ from .tool_schema_cache import get_tool_schema_cache
391
+ from .prompt_context import compute_schema_cache_variant
392
+
393
+ namespace = prompt_ctx.schema_cache_namespace or ""
394
+ cache_variant = compute_schema_cache_variant(tool, prompt_ctx)
395
+ model_description = get_tool_schema_cache().get_or_render(
396
+ namespace=namespace,
397
+ tool_name=tool.name,
398
+ render_fn=lambda: tool.prompt_for_model(prompt_ctx),
399
+ input_schema_hash=cache_variant,
400
+ )
383
401
  # 在 StructuredTool 构造时从类属性提取,避免每次调用重复读取
384
402
  _tool_flags: dict[str, Any] = {
385
403
  "is_read_only": getattr(tool, "is_read_only", False),
@@ -487,7 +505,7 @@ class LangChainAdapter:
487
505
 
488
506
  return StructuredTool(
489
507
  name=tool.name,
490
- description=tool.description,
508
+ description=model_description,
491
509
  args_schema=tool.input_model,
492
510
  func=_func,
493
511
  coroutine=_afunc,
@@ -109,6 +109,7 @@ from .models import (
109
109
  AuthorizationDecision,
110
110
  ToolExecutionContext,
111
111
  ToolHint,
112
+ ToolPromptContext,
112
113
  ToolResultEnvelope,
113
114
  ValidationResult,
114
115
  )
@@ -126,9 +127,14 @@ class RuntimeTool(ABC):
126
127
 
127
128
  子类必须定义:
128
129
  name — 工具名(唯一,面向模型暴露)
129
- description — 工具描述(面向模型暴露)
130
+ description — UI 短摘要(类属性;语义同 summary_for_ui,不用于 API schema)
130
131
  input_model — Pydantic BaseModel,直接作为 StructuredTool.args_schema
131
132
 
133
+ Prompt 分层(对齐 CC description vs prompt):
134
+ summary_for_ui — UI/权限短句(类属性或由 description 自动桥接)
135
+ prompt_for_model — API schema 文案(子类覆写 get_prompt 等;Adapter 唯一出口)
136
+ summary_for_ui_call — 单次调用 UI 摘要
137
+
132
138
  子类可覆盖的生命周期 hook(默认均为 fail-open / no-op):
133
139
  normalize_input — 输入预处理(路径规范化、默认值填充)
134
140
  validate_input — 语义校验(失败告知模型,可重试)
@@ -149,6 +155,10 @@ class RuntimeTool(ABC):
149
155
  # ---- 子类必须定义的类属性 ----
150
156
  name: str
151
157
  description: str
158
+ """UI 短摘要类属性;语义同 summary_for_ui。API schema 须经 prompt_for_model。"""
159
+
160
+ summary_for_ui: str = ""
161
+ """UI/权限短句真源;子类未显式定义时由 __init_subclass__ 从 description 桥接。"""
152
162
 
153
163
  # input_model 必须是 pydantic BaseModel 子类
154
164
  # 直接作为 StructuredTool.args_schema 暴露给模型
@@ -186,6 +196,53 @@ class RuntimeTool(ABC):
186
196
  对应 CC Tool.maxResultSizeChars。
187
197
  """
188
198
 
199
+ def __init_subclass__(cls, **kwargs: Any) -> None:
200
+ super().__init_subclass__(**kwargs)
201
+ if cls is RuntimeTool:
202
+ return
203
+ if "summary_for_ui" not in cls.__dict__:
204
+ desc = cls.__dict__.get("description")
205
+ if isinstance(desc, str):
206
+ cls.summary_for_ui = desc
207
+
208
+ def _resolve_summary_for_ui(self) -> str:
209
+ """解析 UI 短摘要:summary_for_ui 类属性 → 静态 description → 动态 description property。"""
210
+ cls = type(self)
211
+ ui_summary = cls.__dict__.get("summary_for_ui")
212
+ if isinstance(ui_summary, str) and ui_summary:
213
+ return ui_summary
214
+ desc = cls.__dict__.get("description")
215
+ if isinstance(desc, str):
216
+ return desc
217
+ if isinstance(desc, property):
218
+ value = self.description
219
+ return value if isinstance(value, str) else str(value)
220
+ raw = getattr(self, "description", "")
221
+ return raw if isinstance(raw, str) else str(raw)
222
+
223
+ @property
224
+ def resolved_summary_for_ui(self) -> str:
225
+ """实例级 UI 短摘要(兼容类属性 summary_for_ui 与动态 description)。"""
226
+ return self._resolve_summary_for_ui()
227
+
228
+ def prompt_for_model(self, ctx: ToolPromptContext) -> str:
229
+ """
230
+ 面向模型的 API schema 文案;对齐 CC Tool.prompt()。
231
+
232
+ 默认回落 summary_for_ui;含 get_prompt SSOT 的工具须子类覆写。
233
+ """
234
+ _ = ctx
235
+ return self._resolve_summary_for_ui()
236
+
237
+ def summary_for_ui_call(
238
+ self,
239
+ data: dict[str, Any],
240
+ ctx: ToolExecutionContext,
241
+ ) -> str:
242
+ """对齐 CC description(input, ctx);Bash 等工具在 Phase B 覆写。"""
243
+ _ = data, ctx
244
+ return self._resolve_summary_for_ui()
245
+
189
246
  # ---- 调用级能力解析(Phase 1+;默认回落到类属性)----
190
247
 
191
248
  def compute_is_read_only(
@@ -7,6 +7,7 @@ runtime/models.py — 工具运行时框架核心数据模型
7
7
  - ToolResultEnvelope:工具执行统一内部结果协议,分离模型可见输出与内部数据
8
8
  - ValidationResult:输入语义校验结果(失败时告知模型,模型可修正重试)
9
9
  - AuthorizationDecision:权限授权决策(失败时策略拒绝,不可绕过)
10
+ - PermissionSnapshot / ToolPromptContext:compile 时工具 prompt 上下文(对齐 CC prompt options)
10
11
  - ToolErrorInfo / ToolHint / ToolArtifact:辅助结构
11
12
 
12
13
  与 CC 对比:
@@ -30,6 +31,7 @@ from dataclasses import dataclass, field
30
31
  from typing import TYPE_CHECKING, Any, Literal, MutableMapping
31
32
 
32
33
  if TYPE_CHECKING:
34
+ from .base import RuntimeTool
33
35
  from .prompt.types import PermissionUpdate
34
36
 
35
37
 
@@ -430,3 +432,41 @@ class AuthorizationDecision:
430
432
  updated_input: dict[str, Any] | None = None
431
433
  ask_prompt: str | None = None
432
434
  metadata: dict[str, Any] | None = None
435
+
436
+
437
+ # ---------------------------------------------------------------------------
438
+ # Tool prompt context(compile 时构建;对齐 CC tool.prompt(options))
439
+ # ---------------------------------------------------------------------------
440
+
441
+ @dataclass(frozen=True)
442
+ class PermissionSnapshot:
443
+ """compile 时权限快照;对齐 CC ToolPermissionContext 子集。"""
444
+
445
+ mode: str
446
+ """权限模式:default | acceptEdits | bypassPermissions 等。"""
447
+
448
+ denied_agent_types: frozenset[str] = field(default_factory=frozenset)
449
+ """对应 CC filterDeniedAgents。"""
450
+
451
+ auto_approved_tools: frozenset[str] = field(default_factory=frozenset)
452
+ """自动放行工具名集合。"""
453
+
454
+
455
+ @dataclass(frozen=True)
456
+ class ToolPromptContext:
457
+ """
458
+ compile 时工具 prompt 上下文;供 RuntimeTool.prompt_for_model() 与 Adapter 消费。
459
+
460
+ 对齐 CC tool.prompt(options) / toolToAPISchema 传参;在 graph compile 时同步构建,
461
+ 非 invoke 时懒建。
462
+ """
463
+
464
+ runtime_tools: Sequence["RuntimeTool"]
465
+ enabled_tool_names: frozenset[str]
466
+ agent_registry: Any | None = None
467
+ permission_snapshot: PermissionSnapshot | None = None
468
+ workspace_cfg: Any | None = None
469
+ headless: bool = False
470
+ allowed_agent_types: frozenset[str] | None = None
471
+ model_name: str | None = None
472
+ schema_cache_namespace: str | None = None
@@ -0,0 +1,53 @@
1
+ """
2
+ tool_runtime/permission_snapshot.py — compile 时 PermissionSnapshot 构建
3
+
4
+ 职责:
5
+ 从 loop_config / ToolPolicyConfig / session_store 同步快照权限上下文,
6
+ 供 ToolPromptContext 与 Agent prompt_scope 过滤消费。
7
+
8
+ 链路位置:
9
+ LoopGraphBuilder._snapshot_permission_context() → ToolPromptContext.permission_snapshot
10
+
11
+ 当前裁剪范围:
12
+ denied_agent_types 解析 Agent(subagent) deny_globs;MCP 过滤在 prompt_scope。
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ import re
18
+
19
+ from .models import PermissionSnapshot
20
+ from .permission_context import get_active_auto_approved_tools
21
+ from .policy import ToolPolicyConfig
22
+ from .session_store import AgentSessionStore
23
+
24
+ _AGENT_DENY_RE = re.compile(r"^Agent\(([^)]+)\)$", re.I)
25
+
26
+
27
+ def collect_denied_agent_types(
28
+ policy_config: ToolPolicyConfig | None,
29
+ ) -> frozenset[str]:
30
+ """从 deny_globs 提取 Agent(Explore) 等子 agent 拒绝名(≡ CC agentType)。"""
31
+ if policy_config is None:
32
+ return frozenset()
33
+ denied: set[str] = set()
34
+ for pattern in policy_config.deny_globs:
35
+ m = _AGENT_DENY_RE.match(pattern.strip())
36
+ if m:
37
+ denied.add(m.group(1).strip())
38
+ return frozenset(denied)
39
+
40
+
41
+ def build_permission_snapshot(
42
+ *,
43
+ permission_mode: str,
44
+ policy_config: ToolPolicyConfig | None,
45
+ session_store: AgentSessionStore | None = None,
46
+ ) -> PermissionSnapshot:
47
+ """compile 时构建权限快照;invoke 时不再重算。"""
48
+ active = get_active_auto_approved_tools(session_store)
49
+ return PermissionSnapshot(
50
+ mode=permission_mode,
51
+ denied_agent_types=collect_denied_agent_types(policy_config),
52
+ auto_approved_tools=frozenset(active),
53
+ )
@@ -1077,6 +1077,7 @@ class ToolExecutorPipeline:
1077
1077
  ctx=ctx,
1078
1078
  ask_decision=auth,
1079
1079
  ask_prompt=auth.ask_prompt,
1080
+ display_label=tool.summary_for_ui_call(parsed_data, ctx),
1080
1081
  suggestions=self._suggestions_from_auth(auth),
1081
1082
  headless=False,
1082
1083
  session_headless=self._headless,
@@ -104,6 +104,8 @@ class PromptRequest:
104
104
  session_headless: bool = False
105
105
  """会话级 headless(对齐 CC shouldAvoidPermissionPrompts)。"""
106
106
  ask_prompt: str | None = None
107
+ display_label: str | None = None
108
+ """UI 短摘要;来自 tool.summary_for_ui_call()。None 时 L3 fallback tool_name。"""
107
109
  suggestions: tuple[PermissionUpdate, ...] = field(default_factory=tuple)
108
110
 
109
111