langchain-agentx-python 0.4.5__tar.gz → 0.4.7__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 (474) hide show
  1. {langchain-agentx-python-0.4.5/langchain_agentx_python.egg-info → langchain-agentx-python-0.4.7}/PKG-INFO +1 -1
  2. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/__init__.py +1 -1
  3. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/__init__.py +0 -2
  4. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/async_runner.py +0 -2
  5. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/context.py +2 -0
  6. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/orchestrator.py +4 -90
  7. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/runner.py +46 -28
  8. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +40 -4
  9. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/adapter.py +0 -5
  10. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/__init__.py +82 -0
  11. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/allowlist.py +89 -0
  12. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +42 -0
  13. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +368 -0
  14. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +172 -0
  15. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +188 -0
  16. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +80 -0
  17. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +221 -0
  18. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/config.py +94 -0
  19. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/decision.py +215 -0
  20. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/events.py +94 -0
  21. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/factory.py +154 -0
  22. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/hook.py +305 -0
  23. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +275 -0
  24. langchain-agentx-python-0.4.7/langchain_agentx/tool_runtime/auto_mode/state.py +98 -0
  25. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/base.py +26 -0
  26. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/models.py +75 -9
  27. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/policy.py +74 -12
  28. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/tool.py +5 -33
  29. langchain-agentx-python-0.4.7/langchain_agentx/tools/bash/auto_mode_adapter.py +137 -0
  30. langchain-agentx-python-0.4.7/langchain_agentx/tools/bash/events.py +117 -0
  31. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/tool.py +36 -0
  32. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/__init__.py +0 -4
  33. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/models.py +0 -17
  34. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/tool.py +2 -83
  35. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/__init__.py +0 -3
  36. langchain-agentx-python-0.4.7/langchain_agentx/tools/websearch/events.py +25 -0
  37. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/tool.py +20 -48
  38. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7/langchain_agentx_python.egg-info}/PKG-INFO +1 -1
  39. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx_python.egg-info/SOURCES.txt +17 -0
  40. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/pyproject.toml +1 -1
  41. langchain-agentx-python-0.4.5/langchain_agentx/tools/websearch/events.py +0 -58
  42. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/LICENSE +0 -0
  43. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/README.md +0 -0
  44. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/__init__.py +0 -0
  45. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/builtin/__init__.py +0 -0
  46. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/builtin/clear.py +0 -0
  47. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/builtin/compact.py +0 -0
  48. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/builtin/memory.py +0 -0
  49. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
  50. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/context.py +0 -0
  51. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/dispatcher.py +0 -0
  52. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/registry.py +0 -0
  53. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/result.py +0 -0
  54. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/command/types.py +0 -0
  55. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/config/__init__.py +0 -0
  56. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/config/model_profiles.yaml +0 -0
  57. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/config/model_profiles.yaml.example +0 -0
  58. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/__init__.py +0 -0
  59. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/__init__.py +0 -0
  60. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/agent_config.py +0 -0
  61. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/agent_loop_config.py +0 -0
  62. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
  63. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/runtime_settings.py +0 -0
  64. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/config/token_estimator.py +0 -0
  65. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/__init__.py +0 -0
  66. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/blocking_guard.py +0 -0
  67. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/compaction_service.py +0 -0
  68. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/message_utils.py +0 -0
  69. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/pipeline.py +0 -0
  70. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/settings.py +0 -0
  71. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/__init__.py +0 -0
  72. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
  73. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/base.py +0 -0
  74. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/collapse.py +0 -0
  75. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
  76. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/noop.py +0 -0
  77. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/snip.py +0 -0
  78. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
  79. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/context/types.py +0 -0
  80. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/exit/__init__.py +0 -0
  81. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/exit/exit_logic.py +0 -0
  82. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/exit/reason_codes.py +0 -0
  83. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/graph/__init__.py +0 -0
  84. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
  85. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/graph/factory.py +0 -0
  86. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/graph/graph_edges.py +0 -0
  87. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/__init__.py +0 -0
  88. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
  89. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/config.py +0 -0
  90. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/engine.py +0 -0
  91. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
  92. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/executors/agent.py +0 -0
  93. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/executors/command.py +0 -0
  94. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/executors/http.py +0 -0
  95. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
  96. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
  97. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/registry.py +0 -0
  98. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/trust.py +0 -0
  99. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/hook/types.py +0 -0
  100. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/injection/__init__.py +0 -0
  101. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/injection/dedup.py +0 -0
  102. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/loop_abort.py +0 -0
  103. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/__init__.py +0 -0
  104. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/model_node.py +0 -0
  105. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/model_nodes.py +0 -0
  106. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
  107. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/retrier.py +0 -0
  108. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/retry_bridge.py +0 -0
  109. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/retry_events.py +0 -0
  110. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/retry_policy.py +0 -0
  111. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/schema_and_format.py +0 -0
  112. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
  113. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
  114. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
  115. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/__init__.py +0 -0
  116. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/builder.py +0 -0
  117. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/builtin.py +0 -0
  118. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/compact.py +0 -0
  119. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/sections.py +0 -0
  120. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/prompt/session_context.py +0 -0
  121. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/runtime/__init__.py +0 -0
  122. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/runtime/context.py +0 -0
  123. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/runtime/context_factory.py +0 -0
  124. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
  125. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
  126. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/graph.py +0 -0
  127. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/progress.py +0 -0
  128. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/prompt.py +0 -0
  129. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/loop/subagent/transcript.py +0 -0
  130. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/__init__.py +0 -0
  131. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/__init__.py +0 -0
  132. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/loader.py +0 -0
  133. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/resolver.py +0 -0
  134. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/runtime.py +0 -0
  135. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/sections.py +0 -0
  136. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/instruction/types.py +0 -0
  137. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/__init__.py +0 -0
  138. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/age.py +0 -0
  139. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
  140. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/extractor.py +0 -0
  141. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/loader.py +0 -0
  142. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/paths.py +0 -0
  143. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/recall.py +0 -0
  144. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/runtime.py +0 -0
  145. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/scan.py +0 -0
  146. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/memdir/types.py +0 -0
  147. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/session/__init__.py +0 -0
  148. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/session/compact_bridge.py +0 -0
  149. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/session/prompts.py +0 -0
  150. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/memory/session/session_memory.py +0 -0
  151. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/__init__.py +0 -0
  152. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/__init__.py +0 -0
  153. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
  154. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
  155. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
  156. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
  157. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
  158. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
  159. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
  160. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
  161. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/service.py +0 -0
  162. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/state.py +0 -0
  163. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/evaluation/store.py +0 -0
  164. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/events/__init__.py +0 -0
  165. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/logging/__init__.py +0 -0
  166. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/logging/debug_burst.py +0 -0
  167. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/logging/logging_config.py +0 -0
  168. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/logging/logging_contract.py +0 -0
  169. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/replay/__init__.py +0 -0
  170. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/replay/cli.py +0 -0
  171. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/replay/service.py +0 -0
  172. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/replay/store.py +0 -0
  173. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/replay/ui.py +0 -0
  174. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/__init__.py +0 -0
  175. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/collector.py +0 -0
  176. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/event_emitter.py +0 -0
  177. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
  178. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/models.py +0 -0
  179. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
  180. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/trace_callback.py +0 -0
  181. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
  182. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/__init__.py +0 -0
  183. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/builtin.py +0 -0
  184. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/config.py +0 -0
  185. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/loader.py +0 -0
  186. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/manifest.py +0 -0
  187. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/registries.py +0 -0
  188. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/plugin/types.py +0 -0
  189. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/__init__.py +0 -0
  190. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/anthropic.py +0 -0
  191. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
  192. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/env.py +0 -0
  193. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/model_profile.py +0 -0
  194. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/provider/openai.py +0 -0
  195. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/__init__.py +0 -0
  196. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/agent_session.py +0 -0
  197. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/conversation_factory.py +0 -0
  198. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/conversation_recovery.py +0 -0
  199. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/conversation_session.py +0 -0
  200. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/factory.py +0 -0
  201. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/session/protocol.py +0 -0
  202. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/__init__.py +0 -0
  203. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/core/__init__.py +0 -0
  204. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/core/ids.py +0 -0
  205. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
  206. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
  207. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/core/types.py +0 -0
  208. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
  209. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
  210. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
  211. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
  212. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
  213. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
  214. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
  215. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
  216. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
  217. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
  218. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/output/__init__.py +0 -0
  219. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/output/sink.py +0 -0
  220. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
  221. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
  222. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
  223. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
  224. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
  225. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
  226. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
  227. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
  228. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/store/__init__.py +0 -0
  229. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
  230. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
  231. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
  232. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
  233. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
  234. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
  235. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
  236. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
  237. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
  238. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
  239. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
  240. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
  241. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
  242. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
  243. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
  244. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
  245. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
  246. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
  247. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
  248. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
  249. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
  250. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
  251. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
  252. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
  253. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
  254. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
  255. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
  256. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
  257. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
  258. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
  259. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
  260. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
  261. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
  262. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
  263. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
  264. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
  265. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
  266. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
  267. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
  268. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
  269. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
  270. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
  271. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
  272. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
  273. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
  274. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
  275. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
  276. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
  277. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
  278. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
  279. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
  280. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
  281. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
  282. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/__init__.py +0 -0
  283. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/errors.py +0 -0
  284. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
  285. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/loader.py +0 -0
  286. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/permission_context.py +0 -0
  287. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/pipeline.py +0 -0
  288. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/registry.py +0 -0
  289. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
  290. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
  291. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
  292. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
  293. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
  294. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
  295. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/session_store.py +0 -0
  296. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
  297. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
  298. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/__init__.py +0 -0
  299. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/__init__.py +0 -0
  300. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/backend.py +0 -0
  301. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
  302. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
  303. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
  304. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/general.py +0 -0
  305. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
  306. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
  307. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
  308. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
  309. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
  310. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/limits.py +0 -0
  311. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/loader.py +0 -0
  312. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/models.py +0 -0
  313. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/prompt.py +0 -0
  314. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
  315. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/registry/config.py +0 -0
  316. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/registry/registry.py +0 -0
  317. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/agent/scope.py +0 -0
  318. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
  319. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
  320. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
  321. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/models.py +0 -0
  322. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
  323. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
  324. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
  325. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/__init__.py +0 -0
  326. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/ast_security.py +0 -0
  327. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/backend.py +0 -0
  328. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
  329. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
  330. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
  331. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/limits.py +0 -0
  332. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/mode_validation.py +0 -0
  333. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/models.py +0 -0
  334. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/observability.py +0 -0
  335. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/output_utils.py +0 -0
  336. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/path_security.py +0 -0
  337. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/prompt.py +0 -0
  338. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
  339. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/result_presenter.py +0 -0
  340. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
  341. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/security.py +0 -0
  342. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
  343. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/sed_validation.py +0 -0
  344. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/semantics.py +0 -0
  345. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/session_manager.py +0 -0
  346. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/session_runtime.py +0 -0
  347. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/shell_locator.py +0 -0
  348. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/task_runtime.py +0 -0
  349. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
  350. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/__init__.py +0 -0
  351. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/backend.py +0 -0
  352. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/diff_generator.py +0 -0
  353. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
  354. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/limits.py +0 -0
  355. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/models.py +0 -0
  356. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/prompt.py +0 -0
  357. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/quote_match.py +0 -0
  358. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
  359. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/settings_validator.py +0 -0
  360. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/staleness.py +0 -0
  361. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/tool.py +0 -0
  362. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/edit/validator.py +0 -0
  363. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/__init__.py +0 -0
  364. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/models.py +0 -0
  365. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/pagination.py +0 -0
  366. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/prompt.py +0 -0
  367. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
  368. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
  369. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/glob/tool.py +0 -0
  370. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/__init__.py +0 -0
  371. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/backend.py +0 -0
  372. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/models.py +0 -0
  373. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/prompt.py +0 -0
  374. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
  375. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/grep/tool.py +0 -0
  376. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/__init__.py +0 -0
  377. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/backend.py +0 -0
  378. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/limits.py +0 -0
  379. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/models.py +0 -0
  380. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/prompt.py +0 -0
  381. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/read/tool.py +0 -0
  382. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
  383. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/__init__.py +0 -0
  384. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
  385. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/loader.py +0 -0
  386. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/models.py +0 -0
  387. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/policy.py +0 -0
  388. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/prompt.py +0 -0
  389. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/skill/tool.py +0 -0
  390. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/__init__.py +0 -0
  391. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/hooks.py +0 -0
  392. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/limits.py +0 -0
  393. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/models.py +0 -0
  394. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/prompt.py +0 -0
  395. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_create/tool.py +0 -0
  396. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_get/__init__.py +0 -0
  397. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_get/models.py +0 -0
  398. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_get/prompt.py +0 -0
  399. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_get/tool.py +0 -0
  400. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_list/__init__.py +0 -0
  401. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_list/models.py +0 -0
  402. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_list/prompt.py +0 -0
  403. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_list/tool.py +0 -0
  404. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_update/__init__.py +0 -0
  405. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_update/hooks.py +0 -0
  406. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_update/models.py +0 -0
  407. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_update/prompt.py +0 -0
  408. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/task_update/tool.py +0 -0
  409. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/__init__.py +0 -0
  410. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/attachments.py +0 -0
  411. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/models.py +0 -0
  412. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/prompt.py +0 -0
  413. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
  414. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/user_message/tool.py +0 -0
  415. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/backend.py +0 -0
  416. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/limits.py +0 -0
  417. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/loader.py +0 -0
  418. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
  419. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/prompt.py +0 -0
  420. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/webfetch/summary.py +0 -0
  421. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/backend.py +0 -0
  422. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/limits.py +0 -0
  423. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/loader.py +0 -0
  424. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/models.py +0 -0
  425. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/websearch/prompt.py +0 -0
  426. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/__init__.py +0 -0
  427. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/backend.py +0 -0
  428. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/limits.py +0 -0
  429. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/models.py +0 -0
  430. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/prompt.py +0 -0
  431. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/tool.py +0 -0
  432. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/tools/write/validator.py +0 -0
  433. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/__init__.py +0 -0
  434. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/cwd.py +0 -0
  435. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/host_platform.py +0 -0
  436. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/path_hierarchy.py +0 -0
  437. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/path_user_input.py +0 -0
  438. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/rg_executable.py +0 -0
  439. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/subprocess_text.py +0 -0
  440. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/temp_paths.py +0 -0
  441. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/unc_path.py +0 -0
  442. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/utils/win_reserved_paths.py +0 -0
  443. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/__init__.py +0 -0
  444. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/base.py +0 -0
  445. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/batch.py +0 -0
  446. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/dag.py +0 -0
  447. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
  448. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
  449. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
  450. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
  451. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
  452. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
  453. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
  454. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
  455. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/event_adapter/types.py +0 -0
  456. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/node.py +0 -0
  457. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/__init__.py +0 -0
  458. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/chaining.py +0 -0
  459. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
  460. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
  461. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
  462. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/patterns/routing.py +0 -0
  463. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workflow/state.py +0 -0
  464. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/__init__.py +0 -0
  465. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/capabilities.py +0 -0
  466. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/config.py +0 -0
  467. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
  468. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/resolver.py +0 -0
  469. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx/workspace/validators.py +0 -0
  470. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
  471. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
  472. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx_python.egg-info/requires.txt +0 -0
  473. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/langchain_agentx_python.egg-info/top_level.txt +0 -0
  474. {langchain-agentx-python-0.4.5 → langchain-agentx-python-0.4.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-agentx-python
3
- Version: 0.4.5
3
+ Version: 0.4.7
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.4.5"
14
+ __version__ = "0.4.7"
15
15
 
16
16
  from .loop import ( # noqa: F401
17
17
  create_loop_agent,
@@ -18,7 +18,6 @@ from langchain_agentx.loop.subagent.async_runner import (
18
18
  register_background_agent,
19
19
  run_async_agent_lifecycle,
20
20
  )
21
- from langchain_agentx.loop.subagent.progress import SubagentProgressEvent
22
21
  from langchain_agentx.loop.subagent.runner import (
23
22
  BackgroundLaunchedResult,
24
23
  _run_coroutine_sync,
@@ -37,7 +36,6 @@ __all__ = [
37
36
  "SubagentResult",
38
37
  "create_subagent_context",
39
38
  "cleanup_subagent_context",
40
- "SubagentProgressEvent",
41
39
  "run_subagent",
42
40
  "run_subagent_with_background_signal",
43
41
  "BackgroundLaunchedResult",
@@ -78,7 +78,6 @@ def register_background_agent(
78
78
  model: Any | None,
79
79
  output_dir: str,
80
80
  description: str,
81
- on_progress: Callable[[Any], None] | None = None,
82
81
  parent_ctx: Any | None = None,
83
82
  ) -> BackgroundAgentHandle:
84
83
  """注册并启动后台子 Agent。"""
@@ -94,7 +93,6 @@ def register_background_agent(
94
93
  ctx=ctx,
95
94
  loader=loader,
96
95
  model=model,
97
- on_progress=on_progress,
98
96
  )
99
97
  with open(output_file, "w", encoding="utf-8") as fp:
100
98
  fp.write(result.content)
@@ -54,6 +54,7 @@ class SubagentContext:
54
54
  parent_tool_call_id: str | None = None # 触发本子 Agent 的 tool_call_id
55
55
  parent_conversation_session_id: str | None = None
56
56
  enable_trace: bool = True
57
+ runnable_config: Any = None # 父 graph 的 runnable_config,用于子 graph 事件自动冒泡到父 graph
57
58
  isolation: str = "none"
58
59
  worktree_dir: str | None = None
59
60
  workspace_root: str = ""
@@ -209,6 +210,7 @@ def create_subagent_context(
209
210
  agent_home=str(parent_agent_home),
210
211
  cwd=effective_cwd,
211
212
  capabilities=getattr(parent_ctx, "capabilities", None),
213
+ runnable_config=getattr(parent_ctx, "runnable_config", None),
212
214
  )
213
215
 
214
216
 
@@ -11,11 +11,8 @@ CC 对照:src/tools/AgentTool/AgentTool.tsx call() 中 runAgent / registerAsyn
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- import asyncio
15
- import inspect
16
14
  import logging
17
15
  import os
18
- import time
19
16
  import uuid
20
17
  from pathlib import Path
21
18
  from typing import TYPE_CHECKING, Any
@@ -47,44 +44,6 @@ if TYPE_CHECKING:
47
44
 
48
45
  logger = logging.getLogger(__name__)
49
46
 
50
- def _make_progress_handler(
51
- subagent_type: str,
52
- started_at: float,
53
- parent_tool_use_id: str | None = None,
54
- tool_progress_callback: Any = None,
55
- ):
56
- """构造 on_progress 回调(事件冒泡 + 可选的 CLI 提示)。
57
-
58
- Args:
59
- subagent_type: 子 agent 类型
60
- started_at: 开始时间戳
61
- parent_tool_use_id: 父级 tool_use_id,用于事件冒泡(CC 对齐)
62
- tool_progress_callback: 父级的工具进度回调(异步路径用于 adispatch_custom_event)
63
-
64
- 事件流向:
65
- 同步路径: 子 agent 事件 → tool_progress_callback(Channel B)→ CLI 处理
66
- 异步路径: 子 agent 事件 → tool_progress_callback → adispatch_custom_event(Channel A)
67
- """
68
- def _on_progress(event: Any) -> None:
69
-
70
- # 设置 parent_tool_use_id(如果事件支持)
71
- if hasattr(event, "parent_tool_use_id") and event.parent_tool_use_id is None:
72
- object.__setattr__(event, "parent_tool_use_id", parent_tool_use_id)
73
-
74
- # 事件冒泡:转发到 tool_progress_callback
75
- # - 同步路径:转发到 CLI 的 tool_progress_callback(Channel B)
76
- # - 异步路径:转发到 _bubble_progress → adispatch_custom_event(Channel A)
77
- if tool_progress_callback is not None and callable(tool_progress_callback):
78
- try:
79
- result = tool_progress_callback(event)
80
- # 支持异步回调
81
- if inspect.iscoroutine(result):
82
- asyncio.create_task(result)
83
- except Exception:
84
- logger.debug("tool_progress_callback failed", exc_info=True)
85
-
86
- return _on_progress
87
-
88
47
 
89
48
  class SubagentOrchestrator:
90
49
  """子代理启动编排器。
@@ -181,16 +140,6 @@ class SubagentOrchestrator:
181
140
  # agent_id 由 RuntimeContextFactory 派生,同步到 subagent_ctx
182
141
  subagent_ctx.agent_id = child_agent_id
183
142
 
184
- # 获取 parent_tool_use_id 用于事件冒泡(CC 对齐)
185
- parent_tool_use_id = getattr(ctx, "tool_call_id", None)
186
- tool_progress_callback = getattr(ctx, "tool_progress_callback", None)
187
-
188
- _on_progress = _make_progress_handler(
189
- inp.subagent_type or "general-purpose",
190
- time.monotonic(),
191
- parent_tool_use_id=parent_tool_use_id,
192
- tool_progress_callback=tool_progress_callback,
193
- )
194
143
  os.makedirs(output_dir, exist_ok=True)
195
144
 
196
145
  if is_async:
@@ -200,7 +149,6 @@ class SubagentOrchestrator:
200
149
  loader=child_loader,
201
150
  model=runtime_ctx.model,
202
151
  description=inp.description,
203
- on_progress=_on_progress,
204
152
  parent_ctx=ctx,
205
153
  output_dir=output_dir,
206
154
  )
@@ -212,7 +160,6 @@ class SubagentOrchestrator:
212
160
  loader=child_loader,
213
161
  model=runtime_ctx.model,
214
162
  description=inp.description,
215
- on_progress=_on_progress,
216
163
  parent_ctx=ctx,
217
164
  background_signal=background_signal,
218
165
  allowed_tool_names=allowed_tool_names,
@@ -237,7 +184,6 @@ class SubagentOrchestrator:
237
184
  subagent_ctx=subagent_ctx,
238
185
  loader=child_loader,
239
186
  model=runtime_ctx.model,
240
- on_progress=_on_progress,
241
187
  allowed_tool_names=allowed_tool_names,
242
188
  )
243
189
 
@@ -258,19 +204,12 @@ class SubagentOrchestrator:
258
204
  inp: "AgentToolInput",
259
205
  ctx: "ToolExecutionContext",
260
206
  subagent_config: "SubagentConfig",
261
- on_progress: Any | None = None,
262
207
  ) -> "AgentToolOutput":
263
- """异步执行子代理(支持实时事件冒泡)。
264
-
265
- 与 invoke_subagent 的区别:
266
- - on_progress 回调支持异步(用于 adispatch_custom_event)
267
- - 不通过 _run_coroutine_sync,直接在异步上下文执行
268
- - 保留同步 invoke 路径用于兼容(非 ToolNode 场景)
208
+ """异步执行子代理。
269
209
 
270
- CC 对照:AgentTool.tsx call() onProgress 回调
210
+ graph 事件通过 config 自动冒泡到父 graph,无需手动回调。
271
211
  """
272
212
  from langchain_agentx.tools.agent.models import AgentToolOutput
273
- from langchain_agentx.loop.subagent.async_runner import run_async_agent_lifecycle
274
213
 
275
214
  log = self._build_logger(ctx)
276
215
  child_agent_id = str(uuid.uuid4())
@@ -333,15 +272,6 @@ class SubagentOrchestrator:
333
272
  )
334
273
  subagent_ctx.agent_id = child_agent_id
335
274
 
336
- parent_tool_use_id = getattr(ctx, "tool_call_id", None)
337
-
338
- # 构造异步进度回调
339
- _on_progress = _make_progress_handler(
340
- inp.subagent_type or "general-purpose",
341
- time.monotonic(),
342
- parent_tool_use_id=parent_tool_use_id,
343
- tool_progress_callback=on_progress, # 使用传入的异步回调
344
- )
345
275
  os.makedirs(output_dir, exist_ok=True)
346
276
 
347
277
  if is_async:
@@ -351,7 +281,6 @@ class SubagentOrchestrator:
351
281
  loader=child_loader,
352
282
  model=runtime_ctx.model,
353
283
  description=inp.description,
354
- on_progress=_on_progress,
355
284
  parent_ctx=ctx,
356
285
  output_dir=output_dir,
357
286
  )
@@ -361,7 +290,6 @@ class SubagentOrchestrator:
361
290
  ctx=subagent_ctx,
362
291
  loader=child_loader,
363
292
  model=runtime_ctx.model,
364
- on_progress=_on_progress,
365
293
  allowed_tool_names=allowed_tool_names,
366
294
  )
367
295
 
@@ -426,7 +354,6 @@ class SubagentOrchestrator:
426
354
  loader: Any,
427
355
  model: Any,
428
356
  description: str | None,
429
- on_progress: Any,
430
357
  parent_ctx: "ToolExecutionContext",
431
358
  output_dir: str,
432
359
  ) -> Any:
@@ -436,7 +363,6 @@ class SubagentOrchestrator:
436
363
  model=model,
437
364
  output_dir=output_dir,
438
365
  description=description,
439
- on_progress=on_progress,
440
366
  parent_ctx=parent_ctx,
441
367
  )
442
368
 
@@ -448,7 +374,6 @@ class SubagentOrchestrator:
448
374
  loader: Any,
449
375
  model: Any,
450
376
  description: str | None,
451
- on_progress: Any,
452
377
  parent_ctx: "ToolExecutionContext",
453
378
  output_dir: str,
454
379
  ) -> Any:
@@ -457,7 +382,6 @@ class SubagentOrchestrator:
457
382
  loader=loader,
458
383
  model=model,
459
384
  description=description,
460
- on_progress=on_progress,
461
385
  parent_ctx=parent_ctx,
462
386
  output_dir=output_dir,
463
387
  )
@@ -479,16 +403,12 @@ class SubagentOrchestrator:
479
403
  loader: Any,
480
404
  model: Any,
481
405
  description: str | None,
482
- on_progress: Any,
483
406
  parent_ctx: "ToolExecutionContext",
484
407
  output_dir: str,
485
408
  ) -> Any:
486
- """异步启动子 agent(支持实时进度回调)。
409
+ """异步启动子 agent
487
410
 
488
- _launch_async_subagent 的区别:
489
- - 使用 register_background_agent 但不等待完成
490
- - 返回 async_launched 状态
491
- - 进度通过 on_progress 回调实时上报
411
+ graph 事件通过 config 自动冒泡到父 graph。
492
412
  """
493
413
  handle = self._register_background_agent(
494
414
  subagent_ctx=subagent_ctx,
@@ -496,7 +416,6 @@ class SubagentOrchestrator:
496
416
  model=model,
497
417
  output_dir=output_dir,
498
418
  description=description,
499
- on_progress=on_progress,
500
419
  parent_ctx=parent_ctx,
501
420
  )
502
421
  return agent_output_cls(
@@ -516,7 +435,6 @@ class SubagentOrchestrator:
516
435
  loader: Any,
517
436
  model: Any,
518
437
  description: str | None,
519
- on_progress: Any,
520
438
  parent_ctx: "ToolExecutionContext",
521
439
  background_signal: Any,
522
440
  allowed_tool_names: set[str],
@@ -528,7 +446,6 @@ class SubagentOrchestrator:
528
446
  loader=loader,
529
447
  model=model,
530
448
  description=description,
531
- on_progress=on_progress,
532
449
  parent_ctx=parent_ctx,
533
450
  output_dir=output_dir,
534
451
  )
@@ -539,7 +456,6 @@ class SubagentOrchestrator:
539
456
  ctx=subagent_ctx,
540
457
  loader=loader,
541
458
  model=model,
542
- on_progress=on_progress,
543
459
  background_signal=background_signal,
544
460
  on_background_request=_register_from_signal,
545
461
  allowed_tool_names=allowed_tool_names,
@@ -561,7 +477,6 @@ class SubagentOrchestrator:
561
477
  subagent_ctx: Any,
562
478
  loader: Any,
563
479
  model: Any,
564
- on_progress: Any,
565
480
  allowed_tool_names: set[str],
566
481
  ) -> Any:
567
482
  return _run_coroutine_sync(
@@ -569,7 +484,6 @@ class SubagentOrchestrator:
569
484
  ctx=subagent_ctx,
570
485
  loader=loader,
571
486
  model=model,
572
- on_progress=on_progress,
573
487
  allowed_tool_names=allowed_tool_names,
574
488
  )
575
489
  )
@@ -192,26 +192,45 @@ def _build_graph_input_messages(initial_messages: list[Any]) -> list[Any]:
192
192
 
193
193
 
194
194
  async def _emit_progress(
195
- on_progress: Any,
195
+ ctx: SubagentContext,
196
196
  event: SubagentProgressEvent,
197
197
  ) -> None:
198
- """发射进度事件(支持异步回调)。
198
+ """发射子 Agent 进度事件到父 graph。
199
199
 
200
- 如果 on_progress 是异步函数,则使用 await 调用;
201
- 否则使用同步调用。这允许子 Agent 进度事件通过
202
- adispatch_custom_event 实时冒泡到主 graph。
200
+ 通过 adispatch_custom_event 将子 agent 事件冒泡到父 graph 的 astream_events 流。
201
+ graph 的 config 通过 ctx.runnable_config 传递(在 _collect_subagent_events 中合并)。
203
202
  """
204
- if on_progress:
205
- result = on_progress(event)
206
- if inspect.iscoroutine(result):
207
- await result
203
+ from langchain_core.callbacks import adispatch_custom_event
204
+
205
+ parent_config = getattr(ctx, "runnable_config", None)
206
+ if parent_config is None:
207
+ return
208
+
209
+ try:
210
+ await adispatch_custom_event(
211
+ name="tool_progress",
212
+ data={
213
+ "tool_name": event.tool_name or "Agent",
214
+ "tool_call_id": ctx.parent_tool_call_id,
215
+ "agent_id": event.agent_id,
216
+ "phase": event.type,
217
+ "data": {
218
+ "subagent_type": event.subagent_type,
219
+ "summary": event.summary,
220
+ "step": event.step,
221
+ "parent_tool_use_id": event.parent_tool_use_id,
222
+ },
223
+ },
224
+ config=parent_config,
225
+ )
226
+ except Exception:
227
+ logger.debug("adispatch_custom_event failed in subagent progress", exc_info=True)
208
228
 
209
229
 
210
230
  async def _handle_tool_start_event(
211
231
  *,
212
232
  ctx: SubagentContext,
213
233
  event: dict[str, Any],
214
- on_progress: Any,
215
234
  current_step: int,
216
235
  trace: SubagentExecutionTrace | None = None,
217
236
  ) -> tuple[int, str]:
@@ -235,7 +254,7 @@ async def _handle_tool_start_event(
235
254
  trace.add_tool_call(tool_call)
236
255
 
237
256
  await _emit_progress(
238
- on_progress,
257
+ ctx,
239
258
  SubagentProgressEvent(
240
259
  type="tool_use",
241
260
  subagent_type=ctx.subagent_type,
@@ -287,7 +306,6 @@ async def _handle_tool_end_event(
287
306
  event: dict[str, Any],
288
307
  data: dict[str, Any],
289
308
  transcript: SubagentTranscriptManager,
290
- on_progress: Any,
291
309
  step: int,
292
310
  trace: SubagentExecutionTrace | None = None,
293
311
  ) -> None:
@@ -316,7 +334,7 @@ async def _handle_tool_end_event(
316
334
  msg_dict = {"role": "tool", "tool_name": tool_name, "content": transcript_text}
317
335
  transcript.append(msg_dict)
318
336
  await _emit_progress(
319
- on_progress,
337
+ ctx,
320
338
  SubagentProgressEvent(
321
339
  type="tool_result",
322
340
  subagent_type=ctx.subagent_type,
@@ -332,7 +350,6 @@ async def _handle_chat_model_end_event(
332
350
  *,
333
351
  ctx: SubagentContext,
334
352
  data: dict[str, Any],
335
- on_progress: Any,
336
353
  collected_assistant_messages: list[Any],
337
354
  total_steps: int,
338
355
  ) -> int:
@@ -343,7 +360,7 @@ async def _handle_chat_model_end_event(
343
360
  if not has_tool_calls:
344
361
  total_steps += 1
345
362
  await _emit_progress(
346
- on_progress,
363
+ ctx,
347
364
  SubagentProgressEvent(
348
365
  type="model_step",
349
366
  subagent_type=ctx.subagent_type,
@@ -379,7 +396,6 @@ async def _collect_subagent_events(
379
396
  graph_input: dict[str, Any],
380
397
  run_tags: list[str],
381
398
  transcript: SubagentTranscriptManager,
382
- on_progress: Any,
383
399
  trace: SubagentExecutionTrace,
384
400
  ) -> _EventCollectionResult:
385
401
  collected_assistant_messages: list[Any] = []
@@ -389,10 +405,21 @@ async def _collect_subagent_events(
389
405
  last_tool_name = ""
390
406
  child_run_id: str | None = None
391
407
  tool_step = 0
408
+
409
+ # 构建子 graph config:合并父 runnable_config 使事件自动冒泡
410
+ config = {"tags": run_tags, "recursion_limit": 9999}
411
+ parent_runnable_config = getattr(ctx, "runnable_config", None)
412
+ if parent_runnable_config is not None:
413
+ if isinstance(parent_runnable_config, dict):
414
+ # 合并父 config 的 configurable 字段,使子 graph 事件冒泡到父 graph
415
+ configurable = parent_runnable_config.get("configurable", {})
416
+ if configurable:
417
+ config["configurable"] = configurable
418
+
392
419
  try:
393
420
  async for event in graph.astream_events(
394
421
  graph_input,
395
- config={"tags": run_tags, "recursion_limit": 9999},
422
+ config=config,
396
423
  version="v2",
397
424
  ):
398
425
  event_name = event.get("event", "")
@@ -401,7 +428,6 @@ async def _collect_subagent_events(
401
428
  tool_step, last_tool_name = await _handle_tool_start_event(
402
429
  ctx=ctx,
403
430
  event=event,
404
- on_progress=on_progress,
405
431
  current_step=tool_step,
406
432
  trace=trace,
407
433
  )
@@ -411,7 +437,6 @@ async def _collect_subagent_events(
411
437
  event=event,
412
438
  data=data,
413
439
  transcript=transcript,
414
- on_progress=on_progress,
415
440
  step=tool_step,
416
441
  trace=trace,
417
442
  )
@@ -419,7 +444,6 @@ async def _collect_subagent_events(
419
444
  total_steps = await _handle_chat_model_end_event(
420
445
  ctx=ctx,
421
446
  data=data,
422
- on_progress=on_progress,
423
447
  collected_assistant_messages=collected_assistant_messages,
424
448
  total_steps=total_steps,
425
449
  )
@@ -455,7 +479,6 @@ async def _build_subagent_result(
455
479
  collected: _EventCollectionResult,
456
480
  transcript: SubagentTranscriptManager,
457
481
  allowed_tool_names: set[str] | None,
458
- on_progress: Any,
459
482
  trace: SubagentExecutionTrace,
460
483
  ) -> SubagentResult:
461
484
  content = _extract_final_content(collected.collected_assistant_messages, allowed_tool_names)
@@ -473,7 +496,7 @@ async def _build_subagent_result(
473
496
  # 更新 trace 的 terminal_reason
474
497
  trace.terminal_reason = collected.terminal_reason
475
498
  await _emit_progress(
476
- on_progress,
499
+ ctx,
477
500
  SubagentProgressEvent(
478
501
  type="completed",
479
502
  subagent_type=ctx.subagent_type,
@@ -499,7 +522,6 @@ async def run_subagent(
499
522
  ctx: SubagentContext,
500
523
  loader: Any,
501
524
  model: Any | None = None,
502
- on_progress: Any = None,
503
525
  allowed_tool_names: set[str] | None = None,
504
526
  ) -> SubagentResult:
505
527
  """运行子 Agent(plain/fork 同步路径)。
@@ -508,7 +530,6 @@ async def run_subagent(
508
530
  ctx: 子 Agent 执行上下文
509
531
  loader: 子会话 ToolRuntimeLoader
510
532
  model: 语言模型(str 或 BaseChatModel),None 时继承 ctx.model
511
- on_progress: 进度回调(Channel B),每个工具调用步骤触发(支持异步)
512
533
  allowed_tool_names: 工具白名单,用于识别 XML 退化格式(如 <Read>...</Read>)
513
534
 
514
535
  Returns:
@@ -542,7 +563,6 @@ async def run_subagent(
542
563
  graph_input=graph_input,
543
564
  run_tags=run_tags,
544
565
  transcript=transcript,
545
- on_progress=on_progress,
546
566
  trace=trace,
547
567
  )
548
568
  return await _build_subagent_result(
@@ -550,7 +570,6 @@ async def run_subagent(
550
570
  collected=collected,
551
571
  transcript=transcript,
552
572
  allowed_tool_names=allowed_tool_names,
553
- on_progress=on_progress,
554
573
  trace=trace,
555
574
  )
556
575
 
@@ -563,14 +582,13 @@ async def run_subagent_with_background_signal(
563
582
  ctx: SubagentContext,
564
583
  loader: Any,
565
584
  model: Any | None = None,
566
- on_progress: Any = None,
567
585
  background_signal: asyncio.Event | None = None,
568
586
  on_background_request: Callable[[SubagentContext], str] | None = None,
569
587
  allowed_tool_names: set[str] | None = None,
570
588
  ) -> SubagentResult | BackgroundLaunchedResult:
571
589
  """同步执行中监听后台化信号(CC Promise.race 语义)。"""
572
590
  agent_task = asyncio.create_task(
573
- run_subagent(ctx=ctx, loader=loader, model=model, on_progress=on_progress, allowed_tool_names=allowed_tool_names)
591
+ run_subagent(ctx=ctx, loader=loader, model=model, allowed_tool_names=allowed_tool_names)
574
592
  )
575
593
  if background_signal is None:
576
594
  return await agent_task
@@ -68,6 +68,7 @@ class LangchainAgentEventType(Enum):
68
68
  TOOL_CALL = "tool-call"
69
69
  TOOL_RESULT = "tool-result"
70
70
  TOOL_ERROR = "tool-error"
71
+ TOOL_PROGRESS = "tool-progress"
71
72
 
72
73
  # 步骤/循环
73
74
  START_STEP = "start-step"
@@ -1079,12 +1080,25 @@ class LangGraphToLangchainAgentEventAdapter:
1079
1080
  async def _handle_custom_event(
1080
1081
  self, event: Dict[str, Any]
1081
1082
  ) -> AsyncGenerator[LangchainAgentEvent, None]:
1082
- """处理 on_custom_event(子 Agent 事件冒泡)。
1083
+ """处理 on_custom_event(工具/子 Agent 进度事件冒泡)。
1083
1084
 
1084
- 当子 Agent 通过 adispatch_custom_event 发射进度事件时,
1085
- 这些事件会通过主 graph 的 astream_events 流冒泡上来。
1085
+ 当工具通过 ctx.emit_progress() 或子 Agent 通过 adispatch_custom_event
1086
+ 发射进度事件时,这些事件会通过主 graph 的 astream_events 流冒泡上来。
1086
1087
 
1087
- 事件格式:
1088
+ 事件格式(tool_progress,主 agent 工具):
1089
+ {
1090
+ "event": "on_custom_event",
1091
+ "name": "tool_progress",
1092
+ "data": {
1093
+ "tool_name": str,
1094
+ "tool_call_id": str,
1095
+ "agent_id": str,
1096
+ "phase": str, # 如 "running", "query_update", "search_results_received"
1097
+ "data": dict, # 工具特定的业务数据
1098
+ }
1099
+ }
1100
+
1101
+ 事件格式(subagent_progress,子 agent 事件):
1088
1102
  {
1089
1103
  "event": "on_custom_event",
1090
1104
  "name": "subagent_progress",
@@ -1103,6 +1117,28 @@ class LangGraphToLangchainAgentEventAdapter:
1103
1117
  return
1104
1118
 
1105
1119
  event_name = event.get("name", "")
1120
+
1121
+ # 处理主 agent 的工具进度事件(Bash、WebSearch 等)
1122
+ if event_name == "tool_progress":
1123
+ data = event.get("data", {})
1124
+ if not isinstance(data, dict):
1125
+ return
1126
+
1127
+ yield self._event(
1128
+ event_type=LangchainAgentEventType.TOOL_PROGRESS,
1129
+ data={
1130
+ "tool_name": data.get("tool_name", ""),
1131
+ "tool_call_id": data.get("tool_call_id", ""),
1132
+ "agent_id": data.get("agent_id", ""),
1133
+ "phase": data.get("phase", ""),
1134
+ "data": data.get("data", {}),
1135
+ },
1136
+ step_index=self.state.step_index,
1137
+ tool_name=data.get("tool_name"),
1138
+ )
1139
+ return
1140
+
1141
+ # 处理子 agent 事件(兼容旧的 subagent_progress)
1106
1142
  if event_name != "subagent_progress":
1107
1143
  return
1108
1144
 
@@ -202,10 +202,6 @@ class LangChainAdapter:
202
202
  if "network_access_allowed" in configurable:
203
203
  network_access_allowed = bool(configurable.get("network_access_allowed"))
204
204
 
205
- tool_progress_callback: Any | None = configurable.get("tool_progress_callback")
206
- if tool_progress_callback is None and loop_config is not None:
207
- tool_progress_callback = getattr(loop_config, "tool_progress_callback", None)
208
-
209
205
  # 保留原始 RunnableConfig 用于 adispatch_custom_event(子 Agent 事件冒泡)
210
206
  # 只在 config 非空时传递,避免工具层直接访问 LangGraph 内部字段
211
207
  runnable_config_to_pass: Any | None = None
@@ -245,7 +241,6 @@ class LangChainAdapter:
245
241
  question_preview_format=question_preview_format,
246
242
  capabilities=capabilities,
247
243
  network_access_allowed=network_access_allowed,
248
- tool_progress_callback=tool_progress_callback,
249
244
  runnable_config=runnable_config_to_pass,
250
245
  )
251
246