langchain-agentx-python 0.6.2__tar.gz → 0.6.5__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 (508) hide show
  1. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/PKG-INFO +1 -1
  2. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/__init__.py +1 -1
  3. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/__init__.py +1 -1
  4. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/loop_config.py +74 -14
  5. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/model_context_resolver.py +1 -1
  6. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/graph/factory.py +80 -325
  7. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/runtime/context_factory.py +20 -7
  8. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/graph.py +38 -21
  9. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/orchestrator.py +6 -6
  10. langchain-agentx-python-0.6.5/langchain_agentx/session/conversation_factory.py +179 -0
  11. langchain-agentx-python-0.6.5/langchain_agentx/session/factory.py +196 -0
  12. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/hook.py +8 -9
  13. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/cwd_resolution.py +1 -1
  14. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/__init__.py +13 -0
  15. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/base.py +10 -8
  16. langchain-agentx-python-0.6.5/langchain_agentx/workflow/runtime.py +112 -0
  17. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/tool_boundary.py +1 -1
  18. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/PKG-INFO +1 -1
  19. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/SOURCES.txt +1 -1
  20. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/requires.txt +1 -0
  21. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/pyproject.toml +2 -1
  22. langchain-agentx-python-0.6.2/langchain_agentx/loop/config/agent_loop_config.py +0 -78
  23. langchain-agentx-python-0.6.2/langchain_agentx/session/conversation_factory.py +0 -94
  24. langchain-agentx-python-0.6.2/langchain_agentx/session/factory.py +0 -157
  25. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/LICENSE +0 -0
  26. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/README.md +0 -0
  27. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/__init__.py +0 -0
  28. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/builtin/__init__.py +0 -0
  29. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/builtin/clear.py +0 -0
  30. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/builtin/compact.py +0 -0
  31. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/builtin/memory.py +0 -0
  32. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
  33. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/context.py +0 -0
  34. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/dispatcher.py +0 -0
  35. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/registry.py +0 -0
  36. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/result.py +0 -0
  37. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/command/types.py +0 -0
  38. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/config/__init__.py +0 -0
  39. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/config/model_profiles.yaml +0 -0
  40. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/config/model_profiles.yaml.example +0 -0
  41. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/__init__.py +0 -0
  42. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/benchmark_frozen_config.py +0 -0
  43. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/agent_config.py +0 -0
  44. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/runtime_settings.py +0 -0
  45. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/config/token_estimator.py +0 -0
  46. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/__init__.py +0 -0
  47. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/blocking_guard.py +0 -0
  48. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/compaction_service.py +0 -0
  49. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/message_utils.py +0 -0
  50. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/pipeline.py +0 -0
  51. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/settings.py +0 -0
  52. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/__init__.py +0 -0
  53. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
  54. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/base.py +0 -0
  55. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/collapse.py +0 -0
  56. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
  57. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/noop.py +0 -0
  58. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/snip.py +0 -0
  59. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
  60. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/context/types.py +0 -0
  61. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/exit/__init__.py +0 -0
  62. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/exit/exit_logic.py +0 -0
  63. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/exit/reason_codes.py +0 -0
  64. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/graph/__init__.py +0 -0
  65. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
  66. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/graph/graph_edges.py +0 -0
  67. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/__init__.py +0 -0
  68. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
  69. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/config.py +0 -0
  70. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/engine.py +0 -0
  71. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
  72. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/executors/agent.py +0 -0
  73. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/executors/command.py +0 -0
  74. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/executors/http.py +0 -0
  75. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
  76. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
  77. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/hook_projection.py +0 -0
  78. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/registry.py +0 -0
  79. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/trust.py +0 -0
  80. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/hook/types.py +0 -0
  81. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/injection/__init__.py +0 -0
  82. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/injection/dedup.py +0 -0
  83. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/loop_abort.py +0 -0
  84. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/__init__.py +0 -0
  85. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/model_node.py +0 -0
  86. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/model_nodes.py +0 -0
  87. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
  88. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/retrier.py +0 -0
  89. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/retry_bridge.py +0 -0
  90. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/retry_events.py +0 -0
  91. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/retry_policy.py +0 -0
  92. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/schema_and_format.py +0 -0
  93. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
  94. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
  95. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
  96. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/__init__.py +0 -0
  97. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/builder.py +0 -0
  98. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/builtin.py +0 -0
  99. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/compact.py +0 -0
  100. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/sections.py +0 -0
  101. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/prompt/session_context.py +0 -0
  102. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/runtime/__init__.py +0 -0
  103. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/runtime/context.py +0 -0
  104. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
  105. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/__init__.py +0 -0
  106. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/async_runner.py +0 -0
  107. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/context.py +0 -0
  108. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
  109. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/progress.py +0 -0
  110. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/prompt.py +0 -0
  111. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/runner.py +0 -0
  112. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/loop/subagent/transcript.py +0 -0
  113. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/__init__.py +0 -0
  114. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/__init__.py +0 -0
  115. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/loader.py +0 -0
  116. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/resolver.py +0 -0
  117. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/runtime.py +0 -0
  118. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/sections.py +0 -0
  119. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/instruction/types.py +0 -0
  120. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/__init__.py +0 -0
  121. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/age.py +0 -0
  122. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
  123. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/extractor.py +0 -0
  124. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/loader.py +0 -0
  125. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/paths.py +0 -0
  126. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/recall.py +0 -0
  127. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/runtime.py +0 -0
  128. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/scan.py +0 -0
  129. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/memdir/types.py +0 -0
  130. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/session/__init__.py +0 -0
  131. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/session/compact_bridge.py +0 -0
  132. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/session/prompts.py +0 -0
  133. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/memory/session/session_memory.py +0 -0
  134. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/__init__.py +0 -0
  135. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/__init__.py +0 -0
  136. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
  137. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
  138. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
  139. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
  140. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
  141. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
  142. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
  143. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
  144. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/service.py +0 -0
  145. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/state.py +0 -0
  146. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/evaluation/store.py +0 -0
  147. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/events/__init__.py +0 -0
  148. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
  149. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/logging/__init__.py +0 -0
  150. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/logging/debug_burst.py +0 -0
  151. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/logging/logging_config.py +0 -0
  152. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/logging/logging_contract.py +0 -0
  153. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/replay/__init__.py +0 -0
  154. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/replay/cli.py +0 -0
  155. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/replay/service.py +0 -0
  156. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/replay/store.py +0 -0
  157. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/replay/ui.py +0 -0
  158. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/__init__.py +0 -0
  159. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/collector.py +0 -0
  160. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/event_emitter.py +0 -0
  161. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
  162. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/models.py +0 -0
  163. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
  164. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/trace_callback.py +0 -0
  165. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
  166. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/__init__.py +0 -0
  167. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/builtin.py +0 -0
  168. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/config.py +0 -0
  169. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/loader.py +0 -0
  170. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/manifest.py +0 -0
  171. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/registries.py +0 -0
  172. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/plugin/types.py +0 -0
  173. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/__init__.py +0 -0
  174. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/anthropic.py +0 -0
  175. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
  176. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/env.py +0 -0
  177. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/model_profile.py +0 -0
  178. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/provider/openai.py +0 -0
  179. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/session/__init__.py +0 -0
  180. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/session/agent_session.py +0 -0
  181. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/session/conversation_recovery.py +0 -0
  182. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/session/conversation_session.py +0 -0
  183. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/session/protocol.py +0 -0
  184. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/__init__.py +0 -0
  185. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/core/__init__.py +0 -0
  186. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/core/ids.py +0 -0
  187. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
  188. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
  189. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/core/types.py +0 -0
  190. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
  191. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
  192. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
  193. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
  194. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
  195. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
  196. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
  197. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
  198. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
  199. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
  200. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/output/__init__.py +0 -0
  201. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/output/sink.py +0 -0
  202. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
  203. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
  204. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
  205. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
  206. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
  207. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
  208. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
  209. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
  210. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/store/__init__.py +0 -0
  211. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
  212. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
  213. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
  214. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
  215. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
  216. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
  217. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
  218. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
  219. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
  220. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
  221. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
  222. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
  223. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
  224. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
  225. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
  226. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
  227. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
  228. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
  229. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
  230. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
  231. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
  232. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
  233. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
  234. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
  235. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
  236. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
  237. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
  238. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
  239. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
  240. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
  241. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
  242. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
  243. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
  244. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
  245. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
  246. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
  247. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
  248. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
  249. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
  250. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
  251. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
  252. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
  253. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
  254. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
  255. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
  256. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
  257. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
  258. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
  259. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
  260. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
  261. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
  262. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
  263. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
  264. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/__init__.py +0 -0
  265. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/adapter.py +0 -0
  266. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/__init__.py +0 -0
  267. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/allowlist.py +0 -0
  268. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +0 -0
  269. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +0 -0
  270. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +0 -0
  271. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +0 -0
  272. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +0 -0
  273. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +0 -0
  274. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/config.py +0 -0
  275. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/config_update.py +0 -0
  276. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/decision.py +0 -0
  277. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/events.py +0 -0
  278. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/factory.py +0 -0
  279. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/feedback.py +0 -0
  280. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +0 -0
  281. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/auto_mode/state.py +0 -0
  282. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/base.py +0 -0
  283. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/errors.py +0 -0
  284. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
  285. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/loader.py +0 -0
  286. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/loop_loader.py +0 -0
  287. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/models.py +0 -0
  288. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/override.py +0 -0
  289. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/path_safety.py +0 -0
  290. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/permission_context.py +0 -0
  291. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/permission_decision.py +0 -0
  292. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/pipeline.py +0 -0
  293. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/policy.py +0 -0
  294. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/policy_decorator.py +0 -0
  295. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/process_loader.py +0 -0
  296. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/__init__.py +0 -0
  297. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/_abort.py +0 -0
  298. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/cli_interactive.py +0 -0
  299. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/handler.py +0 -0
  300. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/headless.py +0 -0
  301. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py +0 -0
  302. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/messages.py +0 -0
  303. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/race.py +0 -0
  304. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/session_mode.py +0 -0
  305. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/prompt/types.py +0 -0
  306. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/read_ignore_patterns.py +0 -0
  307. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/read_permission.py +0 -0
  308. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/registry.py +0 -0
  309. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
  310. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
  311. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
  312. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
  313. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
  314. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
  315. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/session_store.py +0 -0
  316. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
  317. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
  318. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/__init__.py +0 -0
  319. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/__init__.py +0 -0
  320. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/backend.py +0 -0
  321. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
  322. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
  323. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
  324. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/general.py +0 -0
  325. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
  326. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
  327. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
  328. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
  329. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/limits.py +0 -0
  330. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/loader.py +0 -0
  331. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/models.py +0 -0
  332. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/prompt.py +0 -0
  333. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
  334. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/registry/config.py +0 -0
  335. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/registry/registry.py +0 -0
  336. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/scope.py +0 -0
  337. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/agent/tool.py +0 -0
  338. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
  339. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
  340. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
  341. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/models.py +0 -0
  342. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
  343. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
  344. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
  345. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/__init__.py +0 -0
  346. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/ast_security.py +0 -0
  347. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/auto_mode_adapter.py +0 -0
  348. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/backend.py +0 -0
  349. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
  350. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
  351. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/boundary_check.py +0 -0
  352. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
  353. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/events.py +0 -0
  354. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/limits.py +0 -0
  355. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/mode_validation.py +0 -0
  356. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/models.py +0 -0
  357. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/observability.py +0 -0
  358. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/output_utils.py +0 -0
  359. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/path_security.py +0 -0
  360. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/prompt.py +0 -0
  361. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
  362. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/result_presenter.py +0 -0
  363. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
  364. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/security.py +0 -0
  365. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
  366. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/sed_validation.py +0 -0
  367. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/semantics.py +0 -0
  368. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/session_manager.py +0 -0
  369. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/session_runtime.py +0 -0
  370. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/shell_locator.py +0 -0
  371. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/shell_quoting.py +0 -0
  372. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/task_runtime.py +0 -0
  373. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/tool.py +0 -0
  374. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
  375. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/__init__.py +0 -0
  376. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/backend.py +0 -0
  377. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/diff_generator.py +0 -0
  378. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
  379. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/limits.py +0 -0
  380. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/models.py +0 -0
  381. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/prompt.py +0 -0
  382. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/quote_match.py +0 -0
  383. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
  384. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/settings_validator.py +0 -0
  385. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/staleness.py +0 -0
  386. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/tool.py +0 -0
  387. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/edit/validator.py +0 -0
  388. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/__init__.py +0 -0
  389. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/models.py +0 -0
  390. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/pagination.py +0 -0
  391. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/prompt.py +0 -0
  392. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
  393. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
  394. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/glob/tool.py +0 -0
  395. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/__init__.py +0 -0
  396. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/backend.py +0 -0
  397. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/models.py +0 -0
  398. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/prompt.py +0 -0
  399. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
  400. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/grep/tool.py +0 -0
  401. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/__init__.py +0 -0
  402. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/backend.py +0 -0
  403. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/limits.py +0 -0
  404. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/models.py +0 -0
  405. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/prompt.py +0 -0
  406. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/read/tool.py +0 -0
  407. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
  408. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/__init__.py +0 -0
  409. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
  410. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/loader.py +0 -0
  411. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/models.py +0 -0
  412. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/policy.py +0 -0
  413. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/prompt.py +0 -0
  414. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/skill/tool.py +0 -0
  415. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/__init__.py +0 -0
  416. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/hooks.py +0 -0
  417. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/limits.py +0 -0
  418. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/models.py +0 -0
  419. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/prompt.py +0 -0
  420. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_create/tool.py +0 -0
  421. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_get/__init__.py +0 -0
  422. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_get/models.py +0 -0
  423. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_get/prompt.py +0 -0
  424. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_get/tool.py +0 -0
  425. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_list/__init__.py +0 -0
  426. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_list/models.py +0 -0
  427. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_list/prompt.py +0 -0
  428. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_list/tool.py +0 -0
  429. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_update/__init__.py +0 -0
  430. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_update/hooks.py +0 -0
  431. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_update/models.py +0 -0
  432. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_update/prompt.py +0 -0
  433. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/task_update/tool.py +0 -0
  434. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/__init__.py +0 -0
  435. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/attachments.py +0 -0
  436. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/models.py +0 -0
  437. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/prompt.py +0 -0
  438. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
  439. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/user_message/tool.py +0 -0
  440. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/__init__.py +0 -0
  441. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/backend.py +0 -0
  442. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/limits.py +0 -0
  443. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/loader.py +0 -0
  444. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/models.py +0 -0
  445. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
  446. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/prompt.py +0 -0
  447. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/summary.py +0 -0
  448. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/webfetch/tool.py +0 -0
  449. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/__init__.py +0 -0
  450. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/backend.py +0 -0
  451. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/events.py +0 -0
  452. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/limits.py +0 -0
  453. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/loader.py +0 -0
  454. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/models.py +0 -0
  455. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/prompt.py +0 -0
  456. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/websearch/tool.py +0 -0
  457. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/__init__.py +0 -0
  458. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/backend.py +0 -0
  459. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/limits.py +0 -0
  460. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/models.py +0 -0
  461. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/prompt.py +0 -0
  462. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/tool.py +0 -0
  463. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/tools/write/validator.py +0 -0
  464. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/__init__.py +0 -0
  465. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/cwd.py +0 -0
  466. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/host_platform.py +0 -0
  467. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/path_hierarchy.py +0 -0
  468. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/path_user_input.py +0 -0
  469. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/rg_executable.py +0 -0
  470. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/subprocess_text.py +0 -0
  471. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/temp_paths.py +0 -0
  472. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/unc_path.py +0 -0
  473. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/utils/win_reserved_paths.py +0 -0
  474. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/batch.py +0 -0
  475. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/dag.py +0 -0
  476. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
  477. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
  478. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
  479. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
  480. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
  481. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
  482. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
  483. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
  484. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/event_adapter/types.py +0 -0
  485. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/node.py +0 -0
  486. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/__init__.py +0 -0
  487. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/chaining.py +0 -0
  488. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
  489. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
  490. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
  491. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/patterns/routing.py +0 -0
  492. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workflow/state.py +0 -0
  493. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/__init__.py +0 -0
  494. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/boundary.py +0 -0
  495. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/capabilities.py +0 -0
  496. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/config.py +0 -0
  497. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/errors.py +0 -0
  498. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/grant.py +0 -0
  499. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/l3_root_grant.py +0 -0
  500. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
  501. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/resolver.py +0 -0
  502. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/root_grant_manager.py +0 -0
  503. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/validators.py +0 -0
  504. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx/workspace/view.py +0 -0
  505. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
  506. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
  507. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/langchain_agentx_python.egg-info/top_level.txt +0 -0
  508. {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-agentx-python
3
- Version: 0.6.2
3
+ Version: 0.6.5
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__ = "0.6.2"
14
+ __version__ = "0.6.5"
15
15
 
16
16
  from .loop import ( # noqa: F401
17
17
  create_loop_agent,
@@ -1,5 +1,5 @@
1
1
  from .agent_config import build_agent_config, merge_run_config
2
- from .agent_loop_config import AgentLoopConfig
2
+ from .loop_config import AgentLoopConfig
3
3
  from .model_context_resolver import ModelContextResolver
4
4
  from .token_estimator import TokenEstimator
5
5
  from .runtime_settings import (
@@ -1,4 +1,4 @@
1
- """loop_config.py — Agent Loop 配置数据结构(Phase 1 双轨上线)
1
+ """loop_config.py — Agent Loop 配置数据结构(config-first 模式)
2
2
 
3
3
  职责:
4
4
  定义 AgentLoopConfig(数据控制面)和 LoopServices(资源控制面),
@@ -12,24 +12,22 @@ CC 对照:
12
12
  ToolUseContext.options(控制面)的组合。
13
13
 
14
14
  当前裁剪范围:
15
- Phase 1 双轨上线:新旧签名共存,legacy_kwargs 转换函数兼容。
15
+ Phase 3 已完成:config-first 模式为唯一入口,legacy kwargs 已删除。
16
16
  本文件包含嵌套子结构定义,暂不引入 LoopDeps(等触发条件满足)。
17
-
18
- Phase 1 后续:
19
- Phase 2 迁移期:旧 kwargs 升 DeprecationWarning
20
- Phase 3 终态:删除 legacy 转换层
21
17
  """
22
18
 
23
19
  from __future__ import annotations
24
20
 
25
- from dataclasses import dataclass, field
26
- from typing import Any, Callable
21
+ from dataclasses import dataclass, field, replace
22
+ from pathlib import Path
23
+ from typing import Any, Callable, Sequence
27
24
 
28
25
  from langchain_core.messages import SystemMessage
29
26
  from langchain_core.language_models.chat_models import BaseChatModel
30
27
 
31
28
  from langchain_agentx.loop.prompt import SystemPromptSection
32
29
  from langchain_agentx.provider.model_profile import ModelProfile, ModelProfileRegistry
30
+ from langchain_agentx.task_runtime import QueuePriority
33
31
 
34
32
 
35
33
  # ============================================================================
@@ -58,7 +56,7 @@ class WorkspaceConfig:
58
56
 
59
57
  CC 对照:无直接对应,SDK 特化的边界控制。
60
58
  """
61
- workspace_root: str | None = None
59
+ workspace_root: str | Path | None = None
62
60
  agent_home: str = ".langchain_agentx"
63
61
  read_roots: tuple[str, ...] = ()
64
62
  write_roots: tuple[str, ...] = ()
@@ -118,8 +116,8 @@ class AgentLoopConfig:
118
116
  # -----------------------------------------------------------------------
119
117
  # 标识
120
118
  # -----------------------------------------------------------------------
121
- session_id: str = ""
122
- conversation_session_id: str = ""
119
+ session_id: str | None = None
120
+ conversation_session_id: str | None = None
123
121
  agent_id: str | None = None
124
122
  name: str | None = None
125
123
  container_type: str | None = None
@@ -138,7 +136,27 @@ class AgentLoopConfig:
138
136
  # 运行模式
139
137
  # -----------------------------------------------------------------------
140
138
  debug: bool = False
141
- headless: bool = False
139
+ headless: bool | None = None
140
+
141
+ # permission_mode 双生命周期说明:
142
+ #
143
+ # [Compile-time] AgentLoopConfig.permission_mode 是编译期快照,用于
144
+ # - 子代理派生时的初始值继承(父代理 configurable → 子代理 config)
145
+ # - _FlatLoopConfig.loop_config.permission_mode(只读,运行期不可变)
146
+ #
147
+ # [Runtime] configurable["permission_mode"] 是运行期权威值,用于
148
+ # - AutoModeAuthHook._get_permission_mode()(只从此路径读取)
149
+ # - PolicyEngine.decide() 的动态权限模式切换
150
+ # - 用户通过 graph.with_config({"configurable": {"permission_mode": "auto"}}) 切换
151
+ #
152
+ # 切换规则:运行期 configurable 优先于编译期 config.permission_mode。
153
+ # - 每次工具调用时,AutoModeAuthHook 从 configurable["permission_mode"] 读取
154
+ # - 若需切换权限模式,使用 agent.invoke(..., config={"configurable": {"permission_mode": "..."}})
155
+ #
156
+ # 禁止:运行期直接修改 _FlatLoopConfig.permission_mode(会触发 AttributeError)。
157
+ #
158
+ # 参见:langchain_agentx/loop/graph/factory.py _FlatLoopConfig.__setattr__
159
+ # langchain_agentx/tool_runtime/auto_mode/hook.py _get_permission_mode()
142
160
  permission_mode: str = "default"
143
161
  network_access_allowed: bool = True
144
162
  enable_session_memory: bool = False
@@ -148,7 +166,7 @@ class AgentLoopConfig:
148
166
  # -----------------------------------------------------------------------
149
167
  # 任务规则
150
168
  # -----------------------------------------------------------------------
151
- task_notification_max_priority: Any = "NEXT" # QueuePriority
169
+ task_notification_max_priority: QueuePriority = QueuePriority.NEXT
152
170
  managed_rules: str | None = None
153
171
 
154
172
  # -----------------------------------------------------------------------
@@ -166,6 +184,48 @@ class AgentLoopConfig:
166
184
  trace: TraceConfig = field(default_factory=TraceConfig)
167
185
  subagent: SubagentLinkage = field(default_factory=SubagentLinkage)
168
186
 
187
+ # -----------------------------------------------------------------------
188
+ # 便捷构造器
189
+ # -----------------------------------------------------------------------
190
+
191
+ @classmethod
192
+ def simple(
193
+ cls,
194
+ *,
195
+ system_prompt: str | SystemMessage | None = None,
196
+ max_steps: int | None = None,
197
+ workspace_root: str | Path | None = None,
198
+ agent_home: str = ".langchain_agentx",
199
+ read_roots: tuple[str, ...] = (),
200
+ write_roots: tuple[str, ...] = (),
201
+ **flat_overrides: Any,
202
+ ) -> "AgentLoopConfig":
203
+ """便捷构造:覆盖最常见的 5-6 个字段,其它走默认。
204
+
205
+ Args:
206
+ system_prompt: 系统提示词
207
+ max_steps: 最大步数
208
+ workspace_root: 工作区根目录
209
+ agent_home: agent_home 目录
210
+ read_roots: 只读根目录
211
+ write_roots: 只写根目录
212
+ **flat_overrides: 其他字段直接透传到 AgentLoopConfig
213
+
214
+ Returns:
215
+ 配置好的 AgentLoopConfig 实例
216
+ """
217
+ return cls(
218
+ max_steps=max_steps,
219
+ prompt=PromptConfig(system=system_prompt),
220
+ workspace=WorkspaceConfig(
221
+ workspace_root=workspace_root,
222
+ agent_home=agent_home,
223
+ read_roots=read_roots,
224
+ write_roots=write_roots,
225
+ ),
226
+ **flat_overrides,
227
+ )
228
+
169
229
 
170
230
  # ============================================================================
171
231
  # LoopServices — 资源控制面(全 optional)
@@ -199,7 +259,7 @@ class LoopServices:
199
259
  trace_collector: Any = None # TraceCollector
200
260
 
201
261
  # 外部队列与活跃文件
202
- queued_command_providers: tuple[Any, ...] = ()
262
+ queued_command_providers: Sequence[Any] = field(default_factory=tuple)
203
263
  active_files_getter: Callable[[], list[str]] | None = None
204
264
 
205
265
 
@@ -19,7 +19,7 @@ from typing import Any
19
19
 
20
20
  from langchain_agentx.provider.model_profile import ModelProfileRegistry
21
21
 
22
- from .agent_loop_config import AgentLoopConfig
22
+ from .loop_config import AgentLoopConfig
23
23
 
24
24
 
25
25
  class ModelContextResolver:
@@ -99,7 +99,6 @@ from ..prompt import SystemPromptSection, build_effective_system_prompt
99
99
  from ..prompt.session_context import get_default_session_context_sections
100
100
  from ...tools.agent.prompt import build_explore_plan_guidance
101
101
  from ..config import ModelContextResolver
102
- from ..config.agent_loop_config import AgentLoopConfig as LegacyAgentLoopConfig
103
102
  from ..config.loop_config import (
104
103
  AgentLoopConfig,
105
104
  LoopServices,
@@ -126,147 +125,6 @@ DYNAMIC_TOOL_ERROR_TEMPLATE = (
126
125
  # ═══════════════════════════════════════════════════════════════════════════════
127
126
 
128
127
 
129
- def _legacy_kwargs_to_config_services(
130
- model: str | BaseChatModel,
131
- *,
132
- system_prompt: str | SystemMessage | None = None,
133
- override_system_prompt: str | None = None,
134
- append_system_prompt: str | None = None,
135
- dynamic_sections: "Sequence[SystemPromptSection] | None" = None,
136
- response_format: Any = None,
137
- fallback_model: "BaseChatModel | None" = None,
138
- enable_tool_call_degradation_fix: bool = True,
139
- session_id: str | None = None,
140
- session_store: "AgentSessionStore | None" = None,
141
- loader: "ToolRuntimeLoader | None" = None,
142
- prompt_handler: Any = None,
143
- permission_resolver: Any = None,
144
- state_schema: type | None = None,
145
- context_schema: type | None = None,
146
- debug: bool = False,
147
- name: str | None = None,
148
- max_steps: int | None = None,
149
- max_turns: int | None = None,
150
- is_subagent: bool = False,
151
- subagent_type: str | None = None,
152
- container_type: str | None = None,
153
- enable_trace: bool = True,
154
- trace_collector: TraceCollector | None = None,
155
- parent_run_id: str | None = None,
156
- parent_tool_call_id: str | None = None,
157
- parent_conversation_session_id: str | None = None,
158
- trace_visibility: str | None = None,
159
- task_runtime: TaskRuntime | None = None,
160
- task_notification_max_priority: Any = "NEXT",
161
- queued_command_providers: "Sequence[Any]" = (),
162
- managed_rules: str | None = None,
163
- active_files_getter: "Callable[[], list[str]] | None" = None,
164
- workspace_root: str | Path | None = None,
165
- read_roots: "list[str | Path] | None" = None,
166
- write_roots: "list[str | Path] | None" = None,
167
- agent_home: str = ".langchain_agentx",
168
- workspace_trust_accepted: bool | None = None,
169
- raw_hooks: "HookRegistry | None" = None,
170
- enable_session_memory: bool = False,
171
- capabilities: "RuntimeCapabilities | None" = None,
172
- enable_git_snapshot: bool | None = None,
173
- include_default_session_context: bool = True,
174
- enable_dynamic_root_grant: bool = False,
175
- headless: bool | None = None,
176
- ) -> tuple[AgentLoopConfig, LoopServices, type | None, type | None]:
177
- """将 legacy kwargs 转换为 config + services 双对象。
178
-
179
- Phase 1 双轨上线:本函数负责兼容旧 44 kwargs 调用方式。
180
- 未来 Phase 3 将删除此函数。
181
-
182
- Returns:
183
- (AgentLoopConfig, LoopServices, state_schema, context_schema)
184
- """
185
- # 动态 sections 转为 tuple
186
- dynamic_sections_tuple = tuple(dynamic_sections or [])
187
-
188
- # read_roots / write_roots 转为 tuple
189
- read_roots_tuple = tuple(str(p) for p in read_roots) if read_roots else ()
190
- write_roots_tuple = tuple(str(p) for p in write_roots) if write_roots else ()
191
-
192
- # queued_command_providers 转为 tuple
193
- queued_providers_tuple = tuple(queued_command_providers) if queued_command_providers else ()
194
-
195
- # 构造嵌套子结构
196
- prompt_config = PromptConfig(
197
- system=system_prompt,
198
- override_system=override_system_prompt,
199
- append_system=append_system_prompt,
200
- dynamic_sections=dynamic_sections_tuple,
201
- )
202
-
203
- workspace_config = WorkspaceConfig(
204
- workspace_root=str(workspace_root) if workspace_root else None,
205
- agent_home=agent_home,
206
- read_roots=read_roots_tuple,
207
- write_roots=write_roots_tuple,
208
- workspace_trust_accepted=workspace_trust_accepted,
209
- enable_dynamic_root_grant=enable_dynamic_root_grant,
210
- )
211
-
212
- trace_config = TraceConfig(
213
- enabled=enable_trace,
214
- visibility=trace_visibility,
215
- parent_run_id=parent_run_id,
216
- parent_tool_call_id=parent_tool_call_id,
217
- parent_conversation_session_id=parent_conversation_session_id,
218
- )
219
-
220
- subagent_config = SubagentLinkage(
221
- is_subagent=is_subagent,
222
- subagent_type=subagent_type,
223
- agent_depth=0, # 将在 _resolve_session_headless() 中从父继承
224
- parent_agent_id=None, # 将在子代理派生时设置
225
- )
226
-
227
- # 构造 AgentLoopConfig
228
- config = AgentLoopConfig(
229
- model=model,
230
- fallback_model=fallback_model,
231
- response_format=response_format,
232
- enable_tool_call_degradation_fix=enable_tool_call_degradation_fix,
233
- session_id=session_id or "",
234
- conversation_session_id=parent_conversation_session_id or "",
235
- agent_id=None,
236
- name=name,
237
- container_type=container_type,
238
- max_steps=max_steps,
239
- max_turns=max_turns,
240
- debug=debug,
241
- headless=headless if headless is not None else False,
242
- permission_mode="default",
243
- network_access_allowed=True,
244
- enable_session_memory=enable_session_memory,
245
- enable_git_snapshot=enable_git_snapshot,
246
- include_default_session_context=include_default_session_context,
247
- task_notification_max_priority=task_notification_max_priority,
248
- managed_rules=managed_rules,
249
- prompt=prompt_config,
250
- workspace=workspace_config,
251
- trace=trace_config,
252
- subagent=subagent_config,
253
- )
254
-
255
- # 构造 LoopServices
256
- services = LoopServices(
257
- loader=loader,
258
- prompt_handler=prompt_handler,
259
- permission_resolver=permission_resolver,
260
- capabilities=capabilities,
261
- session_store=session_store,
262
- hooks=raw_hooks,
263
- task_runtime=task_runtime,
264
- trace_collector=trace_collector,
265
- queued_command_providers=queued_providers_tuple,
266
- active_files_getter=active_files_getter,
267
- )
268
-
269
- return config, services, state_schema, context_schema
270
128
 
271
129
 
272
130
  def _resolve_model_conflict(
@@ -332,15 +190,71 @@ def _sanity_check_config(
332
190
  )
333
191
 
334
192
 
335
- def _convert_to_legacy_config(config: AgentLoopConfig) -> LegacyAgentLoopConfig:
336
- """将新的 AgentLoopConfig 转换为旧的 LegacyAgentLoopConfig。
193
+ class _FlatLoopConfig:
194
+ """扁平化的 LoopConfig,支持属性访问(兼容 getattr)。
195
+
196
+ 下游代码使用 getattr(loop_config, "key", default) 访问配置,
197
+ 因此不能用普通 dict。本类提供属性访问接口。
198
+
199
+ __getattr__ 对缺失字段返回 None,与 legacy dataclass 行为对齐。
200
+
201
+ ═══════════════════════════════════════════════════════════════════════
202
+ permission_mode 双生命周期(重要)
203
+ ═══════════════════════════════════════════════════════════════════════
204
+ [Compile-time] _FlatLoopConfig.permission_mode 是编译期快照:
205
+ - 用途:子代理派生时的初始值继承(父代理 → 子代理)
206
+ - 特性:只读,运行期不可变(__setattr__ 拦截)
207
+ - 来源:AgentLoopConfig.permission_mode → _flatten_config_for_runtime()
208
+
209
+ [Runtime] configurable["permission_mode"] 是运行期权威值:
210
+ - 用途:AutoModeAuthHook._get_permission_mode()(唯一读源)
211
+ - 切换:agent.invoke(..., config={"configurable": {"permission_mode": "auto"}})
212
+ - 特性:每次工具调用时从 configurable 读取最新值
337
213
 
338
- 用于 Phase 1 双轨兼容:下游代码(如 ModelContextResolver、configurable 注入)
339
- 仍期望旧的 mutable dataclass。
214
+ 切换规则:运行期 configurable 优先于编译期 config.permission_mode。
215
+ - AutoModeAuthHook 只从 configurable["permission_mode"] 读取
216
+ - 禁止运行期修改 _FlatLoopConfig.permission_mode(触发 AttributeError)
340
217
 
341
- TODO Phase 3: 删除本函数,下游直接使用新的 AgentLoopConfig。
218
+ 参见:
219
+ - langchain_agentx/tool_runtime/auto_mode/hook.py _get_permission_mode()
220
+ - langchain_agentx/loop/config/loop_config.py permission_mode 字段注释
221
+ ═══════════════════════════════════════════════════════════════════════
342
222
  """
343
- return LegacyAgentLoopConfig(
223
+
224
+ _FROZEN_AFTER_INIT = False
225
+
226
+ def __init__(self, **kwargs: Any) -> None:
227
+ object.__setattr__(self, "_data", kwargs)
228
+ object.__setattr__(self, "_FROZEN_AFTER_INIT", True)
229
+
230
+ def __setattr__(self, name: str, value: Any) -> None:
231
+ if getattr(self, "_FROZEN_AFTER_INIT", False) and name != "_data":
232
+ raise AttributeError(
233
+ f"_FlatLoopConfig is internal and immutable. "
234
+ f"To change runtime fields like permission_mode, use "
235
+ f'graph.with_config({{"configurable": {{"permission_mode": "..."}}}}). '
236
+ f"Attempted to set: {name}"
237
+ )
238
+ object.__setattr__(self, name, value)
239
+
240
+ def __getattr__(self, name: str) -> Any:
241
+ # 返回 None 而非抛出异常,与 legacy dataclass 行为对齐
242
+ return self._data.get(name)
243
+
244
+ def get(self, key: str, default: Any = None) -> Any:
245
+ return self._data.get(key, default)
246
+
247
+ def __contains__(self, key: str) -> bool:
248
+ return key in self._data
249
+
250
+
251
+ def _flatten_config_for_runtime(config: AgentLoopConfig) -> _FlatLoopConfig:
252
+ """将嵌套的 AgentLoopConfig 扁平化为运行时兼容的对象。
253
+
254
+ 下游代码期望扁平结构(如 workspace_root、trace_enabled),但新 config 使用嵌套结构。
255
+ 本函数创建一个扁平视图,支持属性访问以兼容 getattr()。
256
+ """
257
+ return _FlatLoopConfig(
344
258
  model=config.model,
345
259
  fallback_model=config.fallback_model,
346
260
  max_steps=config.max_steps,
@@ -351,12 +265,9 @@ def _convert_to_legacy_config(config: AgentLoopConfig) -> LegacyAgentLoopConfig:
351
265
  available_tools=[], # 由 _prepare_for_model_nodes 填充
352
266
  network_access_allowed=config.network_access_allowed,
353
267
  permission_mode=config.permission_mode,
354
- permission_resolver=None, # 使用 prompt_handler 替代
355
- prompt_handler=None, # 由 services 提供
356
268
  workspace_root=config.workspace.workspace_root,
357
269
  agent_home=config.workspace.agent_home,
358
270
  cwd=None, # 由 boundary_view.resolve_cwd() 动态计算
359
- boundary=None, # 由 _resolve_workspace_config 设置
360
271
  enable_dynamic_root_grant=config.workspace.enable_dynamic_root_grant,
361
272
  session_id=config.session_id,
362
273
  conversation_session_id=config.conversation_session_id,
@@ -545,16 +456,7 @@ class LoopGraphBuilder:
545
456
  )
546
457
 
547
458
  # 使用已有的 config(frozen,不可修改),但需要添加运行时计算的值
548
- # 注意:AgentLoopConfig 是 frozen,所以不能直接修改字段
549
459
  # 运行时需要的额外值存储在 self._* 字段中
550
- self._loop_config_runtime = {
551
- "available_tools": self._available_tools,
552
- "permission_resolver": self._services.permission_resolver,
553
- "prompt_handler": self._services.prompt_handler,
554
- "boundary": self._workspace_boundary,
555
- "trace_enabled": self._config.trace.enabled,
556
- "headless_runtime": self._resolve_session_headless(),
557
- }
558
460
 
559
461
  self._compaction_settings = self._build_compaction_settings()
560
462
  self._loop_context_compaction = default_loop_context_compaction().with_default_pipeline(
@@ -1534,9 +1436,15 @@ class LoopGraphBuilder:
1534
1436
  )
1535
1437
  # Consolidate all configurable keys to avoid with_config overwrite bug
1536
1438
  # (RunnableBinding.with_config does shallow merge, so second "configurable" replaces first)
1537
- # Phase 1: 转换为旧 AgentLoopConfig 以保持下游兼容性
1439
+ # 将嵌套的 AgentLoopConfig 扁平化以兼容下游代码
1440
+ flat_config = _flatten_config_for_runtime(self._config)
1441
+ # P1 #4: 注入 boundary 和 available_tools 到 flat_config
1442
+ flat_config._data["boundary"] = self._workspace_boundary
1443
+ flat_config._data["available_tools"] = self._available_tools
1538
1444
  configurable_dict: dict[str, Any] = {
1539
- "loop_config": _convert_to_legacy_config(self._config)
1445
+ "loop_config": flat_config,
1446
+ "permission_resolver": self._services.permission_resolver,
1447
+ "prompt_handler": self._services.prompt_handler,
1540
1448
  }
1541
1449
  if self._services.capabilities is not None:
1542
1450
  configurable_dict["capabilities"] = self._services.capabilities
@@ -1580,184 +1488,31 @@ class LoopGraphBuilder:
1580
1488
  def create_loop_agent(
1581
1489
  model: str | BaseChatModel,
1582
1490
  *,
1583
- # Phase 1 新增:config + services 双对象入参
1584
1491
  config: "AgentLoopConfig | None" = None,
1585
1492
  services: "LoopServices | None" = None,
1586
- # Phase 1 兼容:保留 legacy kwargs(44 个)
1587
- # Prompt 配置
1588
- system_prompt: str | SystemMessage | None = None,
1589
- override_system_prompt: str | None = None,
1590
- append_system_prompt: str | None = None,
1591
- dynamic_sections: Sequence[SystemPromptSection] = (),
1592
- # Model 配置
1593
- response_format: ResponseFormat[ResponseT] | type[ResponseT] | dict[str, Any] | None = None,
1594
- fallback_model: BaseChatModel | None = None,
1595
- enable_tool_call_degradation_fix: bool = True,
1596
- # Session / Runtime 配置
1597
- session_id: str | None = None,
1598
- session_store: "AgentSessionStore | None" = None,
1599
- loader: "ToolRuntimeLoader | None" = None,
1600
- prompt_handler: Any | None = None,
1601
- permission_resolver: Any | None = None,
1602
- # Graph / Runtime 基础配置
1603
1493
  state_schema: type[AgentState[ResponseT]] | None = None,
1604
1494
  context_schema: type[ContextT] | None = None,
1605
- debug: bool = False,
1606
- name: str | None = None,
1607
- # LangChain AgentX 特有参数
1608
- max_steps: int | None = None,
1609
- max_turns: int | None = None,
1610
- is_subagent: bool = False,
1611
- subagent_type: str | None = None,
1612
- container_type: str | None = None,
1613
- # Observability
1614
- enable_trace: bool = True,
1615
- trace_collector: TraceCollector | None = None,
1616
- parent_run_id: str | None = None,
1617
- parent_tool_call_id: str | None = None,
1618
- parent_conversation_session_id: str | None = None,
1619
- trace_visibility: str | None = None,
1620
- # Task Runtime / Provider
1621
- task_runtime: TaskRuntime | None = None,
1622
- task_notification_max_priority: QueuePriority = QueuePriority.NEXT,
1623
- queued_command_providers: Sequence[QueuedCommandProvider] = (),
1624
- managed_rules: str | None = None,
1625
- active_files_getter: "Callable[[], list[str]] | None" = None,
1626
- workspace_root: str | Path | None = None,
1627
- read_roots: list[str | Path] | None = None,
1628
- write_roots: list[str | Path] | None = None,
1629
- agent_home: str = ".langchain_agentx",
1630
- workspace_trust_accepted: bool | None = None,
1631
- hooks: "HookRegistry | None" = None,
1632
- enable_session_memory: bool = False,
1633
- capabilities: "RuntimeCapabilities | None" = None,
1634
- enable_git_snapshot: bool | None = None,
1635
- include_default_session_context: bool = True,
1636
- enable_dynamic_root_grant: bool = False,
1637
- headless: bool | None = None,
1638
1495
  ) -> CompiledStateGraph[
1639
1496
  AgentState[ResponseT], ContextT, _InputAgentState, _OutputAgentState[ResponseT]
1640
1497
  ]:
1641
1498
  """创建 LangChain AgentX agent loop。
1642
1499
 
1643
- Phase 1 双轨上线:
1644
- - 新调用方式:config=AgentLoopConfig(...), services=LoopServices(...)
1645
- - 旧调用方式:保持 44 kwargs 兼容(静默,无 warning)
1500
+ Phase 3 终态:config-first 模式为唯一入口。
1646
1501
 
1647
1502
  Args:
1648
1503
  model: 模型 id 字符串或 BaseChatModel 实例。
1649
1504
  可与 config.model 协调(双源规则见 _resolve_model_conflict)。
1650
1505
  config: AgentLoopConfig 数据控制面。未填用全默认。
1651
- services: LoopServices 资源控制面。所有字段 optional。
1652
- **kwargs: 44 kwargs(Phase 1 兼容,Phase 3 删除)。
1506
+ services: LoopServices 资源控制面。未填用全默认。
1507
+ state_schema: 可选的自定义状态 schema。
1508
+ context_schema: 可选的自定义上下文 schema。
1653
1509
 
1654
1510
  Returns:
1655
1511
  CompiledStateGraph: 编译后的 agent 图。
1656
1512
  """
1657
- # 检测是否使用旧 kwargs(任意一个非默认值)
1658
- has_legacy_kwargs = any(
1659
- v is not None
1660
- for v in [
1661
- system_prompt,
1662
- override_system_prompt,
1663
- append_system_prompt,
1664
- response_format,
1665
- fallback_model,
1666
- session_id,
1667
- session_store,
1668
- loader,
1669
- prompt_handler,
1670
- permission_resolver,
1671
- debug,
1672
- name,
1673
- max_steps,
1674
- max_turns,
1675
- is_subagent,
1676
- subagent_type,
1677
- container_type,
1678
- enable_trace,
1679
- trace_collector,
1680
- parent_run_id,
1681
- parent_tool_call_id,
1682
- parent_conversation_session_id,
1683
- trace_visibility,
1684
- task_runtime,
1685
- managed_rules,
1686
- active_files_getter,
1687
- workspace_root,
1688
- read_roots,
1689
- write_roots,
1690
- workspace_trust_accepted,
1691
- hooks,
1692
- enable_session_memory,
1693
- capabilities,
1694
- enable_git_snapshot,
1695
- include_default_session_context,
1696
- enable_dynamic_root_grant,
1697
- headless,
1698
- ]
1699
- ) or dynamic_sections or queued_command_providers or task_notification_max_priority != "NEXT"
1700
-
1701
- if has_legacy_kwargs:
1702
- # Phase 1:使用 legacy kwargs 转换函数
1703
- cfg, svcs, st_schema, ctx_schema = _legacy_kwargs_to_config_services(
1704
- model,
1705
- system_prompt=system_prompt,
1706
- override_system_prompt=override_system_prompt,
1707
- append_system_prompt=append_system_prompt,
1708
- dynamic_sections=dynamic_sections,
1709
- response_format=response_format,
1710
- fallback_model=fallback_model,
1711
- enable_tool_call_degradation_fix=enable_tool_call_degradation_fix,
1712
- session_id=session_id,
1713
- session_store=session_store,
1714
- loader=loader,
1715
- prompt_handler=prompt_handler,
1716
- permission_resolver=permission_resolver,
1717
- state_schema=state_schema,
1718
- context_schema=context_schema,
1719
- debug=debug,
1720
- name=name,
1721
- max_steps=max_steps,
1722
- max_turns=max_turns,
1723
- is_subagent=is_subagent,
1724
- subagent_type=subagent_type,
1725
- container_type=container_type,
1726
- enable_trace=enable_trace,
1727
- trace_collector=trace_collector,
1728
- parent_run_id=parent_run_id,
1729
- parent_tool_call_id=parent_tool_call_id,
1730
- parent_conversation_session_id=parent_conversation_session_id,
1731
- trace_visibility=trace_visibility,
1732
- task_runtime=task_runtime,
1733
- task_notification_max_priority=task_notification_max_priority,
1734
- queued_command_providers=queued_command_providers,
1735
- managed_rules=managed_rules,
1736
- active_files_getter=active_files_getter,
1737
- workspace_root=workspace_root,
1738
- read_roots=read_roots,
1739
- write_roots=write_roots,
1740
- agent_home=agent_home,
1741
- workspace_trust_accepted=workspace_trust_accepted,
1742
- raw_hooks=hooks,
1743
- enable_session_memory=enable_session_memory,
1744
- capabilities=capabilities,
1745
- enable_git_snapshot=enable_git_snapshot,
1746
- include_default_session_context=include_default_session_context,
1747
- enable_dynamic_root_grant=enable_dynamic_root_grant,
1748
- headless=headless,
1749
- )
1750
- # 使用显式 state_schema/context_schema(如果有)
1751
- if state_schema is not None:
1752
- st_schema = state_schema
1753
- if context_schema is not None:
1754
- ctx_schema = context_schema
1755
- else:
1756
- # Phase 1:使用新的 config + services
1757
- cfg = config if config is not None else AgentLoopConfig()
1758
- svcs = services if services is not None else LoopServices()
1759
- st_schema = state_schema
1760
- ctx_schema = context_schema
1513
+ # 使用 config + services(未填时用默认值)
1514
+ cfg = config if config is not None else AgentLoopConfig()
1515
+ svcs = services if services is not None else LoopServices()
1761
1516
 
1762
1517
  # model 双源协调
1763
1518
  resolved_model = _resolve_model_conflict(model, cfg.model)
@@ -1773,13 +1528,13 @@ def create_loop_agent(
1773
1528
  builder = LoopGraphBuilder(
1774
1529
  config=cfg,
1775
1530
  services=svcs,
1776
- state_schema=st_schema,
1777
- context_schema=ctx_schema,
1531
+ state_schema=state_schema,
1532
+ context_schema=context_schema,
1778
1533
  )
1779
1534
  tool_node = builder._build_tool_node()
1780
1535
  model_node = builder._build_model_nodes(tool_node)
1781
1536
  state_schemas: set[type] = set()
1782
- base_state = st_schema if st_schema is not None else AgentState
1537
+ base_state = state_schema if state_schema is not None else AgentState
1783
1538
  state_schemas.add(base_state)
1784
1539
  state_schemas.add(LoopAgentStateFields)
1785
1540
  resolved_state_schema = _resolve_schema(state_schemas, "StateSchema", None)