langchain-agentx-python 1.0.5__tar.gz → 1.0.8__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 (624) hide show
  1. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/PKG-INFO +1 -1
  2. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/__init__.py +1 -1
  3. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/loop_config.py +1 -0
  4. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/query_source.py +14 -38
  5. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/exit_logic.py +4 -0
  6. langchain-agentx-python-1.0.8/langchain_agentx/loop/exit/query_source.py +54 -0
  7. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/factory.py +228 -65
  8. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/graph_wiring.py +5 -10
  9. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +12 -19
  10. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/builtin.py +6 -3
  11. langchain-agentx-python-1.0.8/langchain_agentx/loop/prompt/tool_aware_sections.py +124 -0
  12. langchain-agentx-python-1.0.8/langchain_agentx/loop/prompt/using_your_tools.py +126 -0
  13. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/__init__.py +13 -0
  14. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/context.py +29 -1
  15. langchain-agentx-python-1.0.8/langchain_agentx/loop/subagent/fork_boilerplate.py +125 -0
  16. langchain-agentx-python-1.0.8/langchain_agentx/loop/subagent/fork_ports.py +48 -0
  17. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/forked_runner.py +20 -22
  18. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/orchestrator.py +112 -10
  19. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/runner.py +1 -0
  20. langchain-agentx-python-1.0.8/langchain_agentx/memory/instruction/exclusion.py +73 -0
  21. langchain-agentx-python-1.0.8/langchain_agentx/memory/instruction/external_includes.py +62 -0
  22. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/loader.py +60 -9
  23. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/runtime.py +12 -1
  24. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/types.py +2 -0
  25. langchain-agentx-python-1.0.8/langchain_agentx/memory/instruction/worktree_skip.py +58 -0
  26. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/__init__.py +0 -24
  27. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/attachments.py +66 -0
  28. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/extractor.py +60 -8
  29. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/gate.py +82 -0
  30. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/loader.py +81 -0
  31. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/memory_saved.py +52 -0
  32. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/prefetch.py +254 -0
  33. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/prompts/select_memories.py +24 -0
  34. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/recall.py +84 -0
  35. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/recall_service.py +462 -0
  36. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/scan.py +41 -15
  37. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/side_query.py +101 -0
  38. langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/written_paths.py +147 -0
  39. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/session/__init__.py +17 -0
  40. langchain-agentx-python-1.0.8/langchain_agentx/memory/session/extractor.py +85 -0
  41. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/session/prompts.py +13 -0
  42. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/session/session_memory.py +80 -20
  43. langchain-agentx-python-1.0.8/langchain_agentx/memory/session/tool_scope.py +53 -0
  44. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/agent_session.py +0 -2
  45. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/conversation_session.py +0 -2
  46. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/__init__.py +19 -0
  47. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/adapter.py +20 -2
  48. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/base.py +58 -1
  49. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/models.py +40 -0
  50. langchain-agentx-python-1.0.8/langchain_agentx/tool_runtime/permission_snapshot.py +53 -0
  51. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/pipeline.py +1 -0
  52. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/types.py +2 -0
  53. langchain-agentx-python-1.0.8/langchain_agentx/tool_runtime/prompt_context.py +91 -0
  54. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/registry.py +9 -1
  55. langchain-agentx-python-1.0.8/langchain_agentx/tool_runtime/tool_schema_cache.py +116 -0
  56. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/backend.py +41 -2
  57. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/loader.py +58 -1
  58. langchain-agentx-python-1.0.8/langchain_agentx/tools/agent/memory_paths.py +102 -0
  59. langchain-agentx-python-1.0.8/langchain_agentx/tools/agent/memory_prompt.py +74 -0
  60. langchain-agentx-python-1.0.8/langchain_agentx/tools/agent/memory_snapshot.py +410 -0
  61. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/prompt.py +59 -24
  62. langchain-agentx-python-1.0.8/langchain_agentx/tools/agent/prompt_scope.py +78 -0
  63. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/registry/config.py +14 -0
  64. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/tool.py +22 -7
  65. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/tool.py +9 -3
  66. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/prompt.py +5 -2
  67. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/semantics.py +10 -0
  68. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/tool.py +18 -1
  69. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/tool.py +6 -1
  70. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/tool.py +6 -1
  71. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/tool.py +7 -1
  72. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/tool.py +5 -0
  73. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/fork.py +9 -3
  74. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/tool.py +6 -1
  75. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/tool.py +6 -1
  76. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/prompt.py +14 -0
  77. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/tool.py +13 -1
  78. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/prompt.py +2 -2
  79. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/tool.py +15 -1
  80. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/tool.py +6 -1
  81. langchain-agentx-python-1.0.8/langchain_agentx/utils/git_roots.py +142 -0
  82. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/base.py +3 -7
  83. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/config.py +34 -7
  84. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/tool_boundary.py +24 -0
  85. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/PKG-INFO +1 -1
  86. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/SOURCES.txt +26 -1
  87. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/pyproject.toml +1 -1
  88. langchain-agentx-python-1.0.5/langchain_agentx/memory/memdir/gate.py +0 -54
  89. langchain-agentx-python-1.0.5/langchain_agentx/memory/memdir/recall.py +0 -45
  90. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/LICENSE +0 -0
  91. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/README.md +0 -0
  92. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/__init__.py +0 -0
  93. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/builtin/__init__.py +0 -0
  94. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/builtin/clear.py +0 -0
  95. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/builtin/compact.py +0 -0
  96. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/builtin/memory.py +0 -0
  97. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
  98. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/context.py +0 -0
  99. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/dispatcher.py +0 -0
  100. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/registry.py +0 -0
  101. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/result.py +0 -0
  102. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/command/types.py +0 -0
  103. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/config/__init__.py +0 -0
  104. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/config/model_profiles.yaml +0 -0
  105. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/config/model_profiles.yaml.example +0 -0
  106. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/health/__init__.py +0 -0
  107. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/health/checks.py +0 -0
  108. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/health/models.py +0 -0
  109. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/health/preflight.py +0 -0
  110. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/__init__.py +0 -0
  111. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/benchmark_frozen_config.py +0 -0
  112. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/__init__.py +0 -0
  113. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/agent_config.py +0 -0
  114. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
  115. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/runtime_settings.py +0 -0
  116. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/token_estimator.py +0 -0
  117. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/config/tool_execution_engine_resolver.py +0 -0
  118. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/__init__.py +0 -0
  119. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/blocking_guard.py +0 -0
  120. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/compaction_service.py +0 -0
  121. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/message_utils.py +0 -0
  122. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/pipeline.py +0 -0
  123. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/recovery_mode.py +0 -0
  124. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/settings.py +0 -0
  125. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/__init__.py +0 -0
  126. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
  127. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/base.py +0 -0
  128. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/collapse.py +0 -0
  129. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
  130. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/noop.py +0 -0
  131. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/snip.py +0 -0
  132. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
  133. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/context/types.py +0 -0
  134. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/__init__.py +0 -0
  135. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/reason_codes.py +0 -0
  136. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/resolution.py +0 -0
  137. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/terminal.py +0 -0
  138. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/exit/withheld_error.py +0 -0
  139. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/__init__.py +0 -0
  140. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
  141. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/graph_edges.py +0 -0
  142. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/reactive_compact_node.py +0 -0
  143. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/graph/runtime_tools_node.py +0 -0
  144. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/__init__.py +0 -0
  145. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
  146. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/config.py +0 -0
  147. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/engine.py +0 -0
  148. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
  149. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/executors/agent.py +0 -0
  150. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/executors/command.py +0 -0
  151. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/executors/http.py +0 -0
  152. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
  153. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/hook_projection.py +0 -0
  154. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/post_sample_hook.py +0 -0
  155. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/progress_payload.py +0 -0
  156. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/registry.py +0 -0
  157. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/trust.py +0 -0
  158. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/hook/types.py +0 -0
  159. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/injection/__init__.py +0 -0
  160. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/injection/dedup.py +0 -0
  161. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/loop_abort.py +0 -0
  162. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/__init__.py +0 -0
  163. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/model_node.py +0 -0
  164. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/model_nodes.py +0 -0
  165. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
  166. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/retrier.py +0 -0
  167. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/retry_bridge.py +0 -0
  168. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/retry_events.py +0 -0
  169. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/retry_policy.py +0 -0
  170. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/retry_progress.py +0 -0
  171. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/schema_and_format.py +0 -0
  172. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
  173. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
  174. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/__init__.py +0 -0
  175. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/builder.py +0 -0
  176. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/compact.py +0 -0
  177. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/sections.py +0 -0
  178. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/prompt/session_context.py +0 -0
  179. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/runtime/__init__.py +0 -0
  180. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/runtime/context.py +0 -0
  181. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/runtime/context_factory.py +0 -0
  182. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
  183. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/graph_driver.py +0 -0
  184. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/helpers.py +0 -0
  185. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/loop_driver.py +0 -0
  186. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/result.py +0 -0
  187. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/synthetic_events.py +0 -0
  188. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/stream/transcript_gate.py +0 -0
  189. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/async_runner.py +0 -0
  190. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
  191. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/graph.py +0 -0
  192. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/progress.py +0 -0
  193. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/prompt.py +0 -0
  194. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/subagent_termination_classifier.py +0 -0
  195. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/loop/subagent/transcript.py +0 -0
  196. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/__init__.py +0 -0
  197. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/__init__.py +0 -0
  198. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/resolver.py +0 -0
  199. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/instruction/sections.py +0 -0
  200. {langchain-agentx-python-1.0.5/langchain_agentx/memory/memdir → langchain-agentx-python-1.0.8/langchain_agentx/memory/memdir/_deprecated/agent_memory}/agent_memory.py +0 -0
  201. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/age.py +0 -0
  202. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/cursor_store.py +0 -0
  203. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/fork_concurrency.py +0 -0
  204. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/metrics.py +0 -0
  205. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/paths.py +0 -0
  206. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/prompts/__init__.py +0 -0
  207. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/prompts/_shared.py +0 -0
  208. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/runtime.py +0 -0
  209. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/threshold.py +0 -0
  210. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/tool_scope.py +0 -0
  211. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/memdir/types.py +0 -0
  212. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/memory/session/compact_bridge.py +0 -0
  213. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/__init__.py +0 -0
  214. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/__init__.py +0 -0
  215. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
  216. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
  217. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
  218. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
  219. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
  220. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
  221. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
  222. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
  223. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/service.py +0 -0
  224. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/state.py +0 -0
  225. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/evaluation/store.py +0 -0
  226. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/events/__init__.py +0 -0
  227. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/events/finish_event_payload_composer.py +0 -0
  228. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/events/finish_outcome.py +0 -0
  229. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
  230. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/events/tool_call_id_resolver.py +0 -0
  231. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/logging/__init__.py +0 -0
  232. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/logging/debug_burst.py +0 -0
  233. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/logging/logging_config.py +0 -0
  234. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/logging/logging_contract.py +0 -0
  235. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/replay/__init__.py +0 -0
  236. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/replay/cli.py +0 -0
  237. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/replay/service.py +0 -0
  238. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/replay/store.py +0 -0
  239. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/replay/ui.py +0 -0
  240. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/__init__.py +0 -0
  241. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/collector.py +0 -0
  242. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/event_emitter.py +0 -0
  243. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
  244. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/models.py +0 -0
  245. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
  246. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/trace_callback.py +0 -0
  247. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
  248. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/__init__.py +0 -0
  249. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/builtin.py +0 -0
  250. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/config.py +0 -0
  251. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/loader.py +0 -0
  252. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/manifest.py +0 -0
  253. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/registries.py +0 -0
  254. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/plugin/types.py +0 -0
  255. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/__init__.py +0 -0
  256. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/anthropic.py +0 -0
  257. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
  258. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/env.py +0 -0
  259. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/model_profile.py +0 -0
  260. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/openai.py +0 -0
  261. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/__init__.py +0 -0
  262. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/answer_assembler.py +0 -0
  263. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/contracts.py +0 -0
  264. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/__init__.py +0 -0
  265. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/anthropic.py +0 -0
  266. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/anthropic_codec.py +0 -0
  267. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/anthropic_finish_reason.py +0 -0
  268. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/anthropic_interpreter.py +0 -0
  269. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/anthropic_normalizer.py +0 -0
  270. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/compatible_openai.py +0 -0
  271. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/compatible_openai_codec.py +0 -0
  272. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/compatible_openai_finish_reason.py +0 -0
  273. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/compatible_openai_interpreter.py +0 -0
  274. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/compatible_openai_normalizer.py +0 -0
  275. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/openai.py +0 -0
  276. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/openai_codec.py +0 -0
  277. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/openai_finish_reason.py +0 -0
  278. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/openai_interpreter.py +0 -0
  279. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/families/openai_normalizer.py +0 -0
  280. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/finish_reason_normalizer.py +0 -0
  281. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/message_normalizer.py +0 -0
  282. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/profile.py +0 -0
  283. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/registry.py +0 -0
  284. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/request_codec.py +0 -0
  285. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/runtime.py +0 -0
  286. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/stream_normalizer.py +0 -0
  287. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/tool_call_interpreter.py +0 -0
  288. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/provider/semantics/turn_accumulator.py +0 -0
  289. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/__init__.py +0 -0
  290. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/conversation_factory.py +0 -0
  291. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/conversation_recovery.py +0 -0
  292. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/factory.py +0 -0
  293. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/protocol.py +0 -0
  294. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/session/recovery.py +0 -0
  295. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/__init__.py +0 -0
  296. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/core/__init__.py +0 -0
  297. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/core/ids.py +0 -0
  298. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
  299. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
  300. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/core/types.py +0 -0
  301. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
  302. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
  303. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
  304. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
  305. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
  306. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
  307. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
  308. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
  309. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
  310. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
  311. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/output/__init__.py +0 -0
  312. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/output/sink.py +0 -0
  313. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
  314. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
  315. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
  316. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
  317. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
  318. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
  319. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
  320. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
  321. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/store/__init__.py +0 -0
  322. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
  323. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
  324. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
  325. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
  326. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
  327. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
  328. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/notifier.py +0 -0
  329. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
  330. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/paths.py +0 -0
  331. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/reader.py +0 -0
  332. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
  333. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
  334. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
  335. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
  336. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
  337. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
  338. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
  339. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
  340. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
  341. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
  342. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
  343. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
  344. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
  345. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
  346. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
  347. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
  348. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
  349. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
  350. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
  351. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
  352. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
  353. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
  354. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
  355. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
  356. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
  357. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
  358. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
  359. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
  360. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
  361. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
  362. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
  363. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
  364. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
  365. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
  366. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
  367. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
  368. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
  369. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
  370. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
  371. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
  372. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
  373. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
  374. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
  375. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
  376. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
  377. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
  378. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/__init__.py +0 -0
  379. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/allowlist.py +0 -0
  380. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +0 -0
  381. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +0 -0
  382. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +0 -0
  383. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +0 -0
  384. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +0 -0
  385. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +0 -0
  386. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/config.py +0 -0
  387. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/config_update.py +0 -0
  388. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/decision.py +0 -0
  389. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/events.py +0 -0
  390. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/factory.py +0 -0
  391. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/feedback.py +0 -0
  392. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/hook.py +0 -0
  393. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +0 -0
  394. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/auto_mode/state.py +0 -0
  395. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/capabilities.py +0 -0
  396. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/errors.py +0 -0
  397. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/__init__.py +0 -0
  398. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/__init__.py +0 -0
  399. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/auto_approved.py +0 -0
  400. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/effort_override.py +0 -0
  401. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/model_override.py +0 -0
  402. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/set_cwd.py +0 -0
  403. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/appliers/stubs.py +0 -0
  404. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/callback_bridge.py +0 -0
  405. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/engine.py +0 -0
  406. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/message_adapter.py +0 -0
  407. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/models.py +0 -0
  408. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/parity.py +0 -0
  409. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/payload_validator.py +0 -0
  410. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/planner.py +0 -0
  411. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/policy.py +0 -0
  412. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/side_effect_collector.py +0 -0
  413. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/execution/side_effect_merge.py +0 -0
  414. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/failure_event_emitter.py +0 -0
  415. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
  416. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/limits.py +0 -0
  417. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/loader.py +0 -0
  418. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/loop_loader.py +0 -0
  419. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/loop_runtime_context.py +0 -0
  420. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/messages.py +0 -0
  421. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/override.py +0 -0
  422. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/path_safety.py +0 -0
  423. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/permission_context.py +0 -0
  424. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/permission_decision.py +0 -0
  425. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/policy.py +0 -0
  426. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/policy_decorator.py +0 -0
  427. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/process_loader.py +0 -0
  428. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/progress/__init__.py +0 -0
  429. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/progress/event.py +0 -0
  430. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/progress/sampler.py +0 -0
  431. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/__init__.py +0 -0
  432. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/_abort.py +0 -0
  433. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/cli_interactive.py +0 -0
  434. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/handler.py +0 -0
  435. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/headless.py +0 -0
  436. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py +0 -0
  437. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/messages.py +0 -0
  438. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/race.py +0 -0
  439. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/prompt/session_mode.py +0 -0
  440. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/read_ignore_patterns.py +0 -0
  441. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/read_permission.py +0 -0
  442. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
  443. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
  444. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
  445. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
  446. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
  447. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
  448. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/session_hints.py +0 -0
  449. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/session_store.py +0 -0
  450. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/shell_error.py +0 -0
  451. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
  452. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
  453. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tool_runtime/tool_message_status.py +0 -0
  454. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/__init__.py +0 -0
  455. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/__init__.py +0 -0
  456. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
  457. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
  458. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
  459. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/general.py +0 -0
  460. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
  461. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
  462. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
  463. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
  464. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
  465. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/limits.py +0 -0
  466. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/models.py +0 -0
  467. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
  468. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/registry/registry.py +0 -0
  469. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/agent/scope.py +0 -0
  470. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
  471. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
  472. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
  473. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/models.py +0 -0
  474. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
  475. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
  476. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/__init__.py +0 -0
  477. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/ast_security.py +0 -0
  478. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/auto_mode_adapter.py +0 -0
  479. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/backend.py +0 -0
  480. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
  481. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
  482. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/boundary_check.py +0 -0
  483. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
  484. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/events.py +0 -0
  485. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/limits.py +0 -0
  486. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/mode_validation.py +0 -0
  487. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/models.py +0 -0
  488. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/observability.py +0 -0
  489. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/output_tracker.py +0 -0
  490. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/output_utils.py +0 -0
  491. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/path_security.py +0 -0
  492. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
  493. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/result_presenter.py +0 -0
  494. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
  495. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/security.py +0 -0
  496. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
  497. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/sed_validation.py +0 -0
  498. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/shell_locator.py +0 -0
  499. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/shell_quoting.py +0 -0
  500. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/task_runtime.py +0 -0
  501. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
  502. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/__init__.py +0 -0
  503. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/backend.py +0 -0
  504. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/diff_generator.py +0 -0
  505. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
  506. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/limits.py +0 -0
  507. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/models.py +0 -0
  508. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/prompt.py +0 -0
  509. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/quote_match.py +0 -0
  510. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
  511. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/settings_validator.py +0 -0
  512. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/staleness.py +0 -0
  513. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/edit/validator.py +0 -0
  514. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/__init__.py +0 -0
  515. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/models.py +0 -0
  516. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/pagination.py +0 -0
  517. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/prompt.py +0 -0
  518. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
  519. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
  520. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/__init__.py +0 -0
  521. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/backend.py +0 -0
  522. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/models.py +0 -0
  523. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/prompt.py +0 -0
  524. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
  525. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/__init__.py +0 -0
  526. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/backend.py +0 -0
  527. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/limits.py +0 -0
  528. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/models.py +0 -0
  529. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/read/prompt.py +0 -0
  530. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
  531. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/__init__.py +0 -0
  532. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
  533. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/loader.py +0 -0
  534. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/models.py +0 -0
  535. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/policy.py +0 -0
  536. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/skill/prompt.py +0 -0
  537. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/__init__.py +0 -0
  538. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/hooks.py +0 -0
  539. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/limits.py +0 -0
  540. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/models.py +0 -0
  541. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_create/prompt.py +0 -0
  542. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_get/__init__.py +0 -0
  543. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_get/models.py +0 -0
  544. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_get/prompt.py +0 -0
  545. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_get/tool.py +0 -0
  546. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_list/__init__.py +0 -0
  547. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_list/models.py +0 -0
  548. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_list/prompt.py +0 -0
  549. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_list/tool.py +0 -0
  550. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_update/__init__.py +0 -0
  551. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_update/hooks.py +0 -0
  552. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_update/models.py +0 -0
  553. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_update/prompt.py +0 -0
  554. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/task_update/tool.py +0 -0
  555. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/__init__.py +0 -0
  556. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/backend.py +0 -0
  557. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/limits.py +0 -0
  558. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/loader.py +0 -0
  559. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/models.py +0 -0
  560. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
  561. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/webfetch/summary.py +0 -0
  562. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/__init__.py +0 -0
  563. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/backend.py +0 -0
  564. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/events.py +0 -0
  565. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/limits.py +0 -0
  566. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/loader.py +0 -0
  567. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/websearch/models.py +0 -0
  568. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/__init__.py +0 -0
  569. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/backend.py +0 -0
  570. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/limits.py +0 -0
  571. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/models.py +0 -0
  572. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/prompt.py +0 -0
  573. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/tools/write/validator.py +0 -0
  574. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/__init__.py +0 -0
  575. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/cwd.py +0 -0
  576. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/host_platform.py +0 -0
  577. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/path.py +0 -0
  578. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/path_hierarchy.py +0 -0
  579. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/path_user_input.py +0 -0
  580. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/rg_executable.py +0 -0
  581. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/subprocess_text.py +0 -0
  582. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/temp_paths.py +0 -0
  583. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/tool_paths.py +0 -0
  584. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/tool_result_storage.py +0 -0
  585. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/unc_path.py +0 -0
  586. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/win_reserved_paths.py +0 -0
  587. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/utils/windows_paths.py +0 -0
  588. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/__init__.py +0 -0
  589. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/batch.py +0 -0
  590. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/dag.py +0 -0
  591. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
  592. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
  593. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
  594. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
  595. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
  596. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
  597. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
  598. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
  599. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/event_adapter/types.py +0 -0
  600. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/node.py +0 -0
  601. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/__init__.py +0 -0
  602. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/chaining.py +0 -0
  603. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
  604. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
  605. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
  606. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/patterns/routing.py +0 -0
  607. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/runtime.py +0 -0
  608. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workflow/state.py +0 -0
  609. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/__init__.py +0 -0
  610. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/boundary.py +0 -0
  611. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/capabilities.py +0 -0
  612. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/errors.py +0 -0
  613. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/grant.py +0 -0
  614. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/l3_root_grant.py +0 -0
  615. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
  616. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/resolver.py +0 -0
  617. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/root_grant_manager.py +0 -0
  618. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/validators.py +0 -0
  619. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx/workspace/view.py +0 -0
  620. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
  621. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
  622. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/requires.txt +0 -0
  623. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/langchain_agentx_python.egg-info/top_level.txt +0 -0
  624. {langchain-agentx-python-1.0.5 → langchain-agentx-python-1.0.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-agentx-python
3
- Version: 1.0.5
3
+ Version: 1.0.8
4
4
  Summary: LangChain/LangGraph-based agent utilities for CodeBaseX.
5
5
  Author-email: GoodMood2008 <GoodMood2008@users.noreply.github.com>
6
6
  License: Apache License
@@ -11,7 +11,7 @@ from langchain_agentx import create_loop_agent
11
11
  ```
12
12
  """
13
13
 
14
- __version__ = "1.0.5"
14
+ __version__ = "1.0.8"
15
15
 
16
16
  from .loop import ( # noqa: F401
17
17
  create_loop_agent,
@@ -251,6 +251,7 @@ class AgentLoopConfig:
251
251
  # -----------------------------------------------------------------------
252
252
  task_notification_max_priority: QueuePriority = QueuePriority.NEXT
253
253
  managed_rules: str | None = None
254
+ claude_md_excludes: tuple[str, ...] = ()
254
255
 
255
256
  # -----------------------------------------------------------------------
256
257
  # 模型 profile
@@ -1,16 +1,16 @@
1
1
  """
2
- query_source.py Query Source 单一来源与 Loop 守卫策略
2
+ query_source 守卫策略(Compaction / Fork / UI 路由)。
3
3
 
4
4
  职责:
5
- 定义所有 query_source 官方常量,并提供 autocompact / microcompact /
6
- token_blocking / persist_replacements 的统一跳过判定。
5
+ autocompact / microcompact / token_blocking / persist_replacements 的统一跳过判定。
7
6
 
8
7
  链路位置:
9
8
  ForkedAgentRunner / Loop 编译 → QuerySourcePolicy.compile_loop_context()
10
9
  → ContextCompactionContext / CompactionSettings / model_node 守卫。
11
10
 
12
11
  当前裁剪范围:
13
- 不实现 fork 执行与 Coordinator 触发;仅提供常量与策略判定基座。
12
+ 常量定义在 loop.exit.query_source(对齐 CC constants/querySource.ts);
13
+ 本模块仅承载与 compaction 相关的策略类。
14
14
  """
15
15
 
16
16
  from __future__ import annotations
@@ -18,6 +18,8 @@ from __future__ import annotations
18
18
  from dataclasses import dataclass
19
19
  from typing import Final, FrozenSet, Literal
20
20
 
21
+ from langchain_agentx.loop.exit.query_source import QuerySource
22
+
21
23
  CompactionGuardStage = Literal[
22
24
  "autocompact",
23
25
  "microcompact",
@@ -27,40 +29,6 @@ CompactionGuardStage = Literal[
27
29
 
28
30
  EmitterRoute = Literal["main", "sidechain", "drop"]
29
31
 
30
-
31
- class QuerySource:
32
- """官方 query_source 常量(禁止在业务代码散落字面量)。"""
33
-
34
- MAIN_THREAD: Final[str] = "main_thread"
35
- EXTRACT_MEMORIES: Final[str] = "extract_memories"
36
- SESSION_MEMORY: Final[str] = "session_memory"
37
- COMPACT: Final[str] = "compact"
38
- AGENT_SUMMARY: Final[str] = "agent_summary"
39
- AGENT_PREFIX: Final[str] = "agent:"
40
-
41
- @classmethod
42
- def all_official(cls) -> FrozenSet[str]:
43
- return frozenset(
44
- {
45
- cls.MAIN_THREAD,
46
- cls.EXTRACT_MEMORIES,
47
- cls.SESSION_MEMORY,
48
- cls.COMPACT,
49
- cls.AGENT_SUMMARY,
50
- }
51
- )
52
-
53
- @classmethod
54
- def is_agent_subagent(cls, query_source: str | None) -> bool:
55
- return isinstance(query_source, str) and query_source.startswith(cls.AGENT_PREFIX)
56
-
57
- @classmethod
58
- def normalize(cls, query_source: str | None) -> str:
59
- if isinstance(query_source, str) and query_source.strip():
60
- return query_source.strip()
61
- return cls.MAIN_THREAD
62
-
63
-
64
32
  # 后台 fork 任务:跳过 autocompact / microcompact
65
33
  _BACKGROUND_COMPACTION_SKIP: Final[FrozenSet[str]] = frozenset(
66
34
  {
@@ -142,6 +110,14 @@ class QuerySourcePolicy:
142
110
  persist_replacements=cls.should_persist_replacements(normalized),
143
111
  )
144
112
 
113
+ @classmethod
114
+ def is_main_repl_thread(cls, query_source: str | None) -> bool:
115
+ """对齐 CC querySource === 'repl_main_thread';缺省 / None 视为 main。"""
116
+ normalized = QuerySource.normalize(query_source)
117
+ if normalized == QuerySource.MAIN_THREAD:
118
+ return True
119
+ return normalized == "repl_main_thread" or normalized.startswith("repl_main_thread:")
120
+
145
121
  @classmethod
146
122
  def default_ui_visible(cls, query_source: str | None) -> bool:
147
123
  normalized = QuerySource.normalize(query_source)
@@ -25,6 +25,8 @@ from typing import Any, NotRequired, TypedDict
25
25
 
26
26
  from langchain_core.messages import AIMessage
27
27
 
28
+ from .query_source import QuerySource
29
+
28
30
  from .resolution import LoopResolution
29
31
  from .terminal import LoopTerminal
30
32
 
@@ -219,6 +221,7 @@ def create_initial_state(
219
221
  "finish_reason": None,
220
222
  "finish_reasons": [],
221
223
  "section_cache": {},
224
+ "query_source": QuerySource.MAIN_THREAD,
222
225
  }
223
226
 
224
227
 
@@ -264,6 +267,7 @@ class AgentLoopState(TypedDict):
264
267
  finish_reason: str | None # Provider 协议层:这一轮 completion 为何停
265
268
  finish_reasons: list[str] # finish_reason 历史(观测用)
266
269
  section_cache: dict[str, str | None] # SystemPromptSection session 级缓存(key=name, value=compute() 结果)
270
+ query_source: NotRequired[str] # Loop 来源标签;主 REPL 为 main_thread,Fork 子图透传
267
271
 
268
272
 
269
273
  # 状态字段契约别名(对外统一使用 LoopAgentStateFields)
@@ -0,0 +1,54 @@
1
+ """
2
+ query_source 官方常量(对齐 CC constants/querySource.ts)。
3
+
4
+ 职责:
5
+ Loop 来源标签的单一字面量来源;与 compaction / fork 策略解耦。
6
+
7
+ 链路位置:
8
+ AgentLoopState 默认值(exit_logic)与各层通过 query_source 字段透传。
9
+
10
+ 当前裁剪范围:
11
+ 仅常量与 normalize;守卫策略见 loop.context.query_source.QuerySourcePolicy。
12
+ """
13
+
14
+ from __future__ import annotations
15
+
16
+ from typing import Final, FrozenSet
17
+
18
+
19
+ class QuerySource:
20
+ """官方 query_source 常量(禁止在业务代码散落字面量)。"""
21
+
22
+ MAIN_THREAD: Final[str] = "main_thread"
23
+ EXTRACT_MEMORIES: Final[str] = "extract_memories"
24
+ SESSION_MEMORY: Final[str] = "session_memory"
25
+ COMPACT: Final[str] = "compact"
26
+ AGENT_SUMMARY: Final[str] = "agent_summary"
27
+ MEMDIR_RELEVANCE: Final[str] = "memdir_relevance"
28
+ AGENT_PREFIX: Final[str] = "agent:"
29
+
30
+ @classmethod
31
+ def all_official(cls) -> FrozenSet[str]:
32
+ return frozenset(
33
+ {
34
+ cls.MAIN_THREAD,
35
+ cls.EXTRACT_MEMORIES,
36
+ cls.SESSION_MEMORY,
37
+ cls.COMPACT,
38
+ cls.AGENT_SUMMARY,
39
+ cls.MEMDIR_RELEVANCE,
40
+ }
41
+ )
42
+
43
+ @classmethod
44
+ def is_agent_subagent(cls, query_source: str | None) -> bool:
45
+ return isinstance(query_source, str) and query_source.startswith(cls.AGENT_PREFIX)
46
+
47
+ @classmethod
48
+ def normalize(cls, query_source: str | None) -> str:
49
+ if isinstance(query_source, str) and query_source.strip():
50
+ return query_source.strip()
51
+ return cls.MAIN_THREAD
52
+
53
+
54
+ __all__ = ["QuerySource"]
@@ -89,10 +89,6 @@ from ...memory.instruction.runtime import (
89
89
  CallbackActiveFilesProvider,
90
90
  InstructionMemoryBootstrap,
91
91
  )
92
- from ...memory.memdir.agent_memory import (
93
- AgentMemoryPromptBootstrap,
94
- get_default_agent_memory_extraction_coordinator,
95
- )
96
92
  from ...memory.memdir.runtime import MemoryPromptBootstrap
97
93
  from ...memory.memdir.extractor import MemoryExtractionCoordinator
98
94
  from ...memory.memdir.paths import is_memory_enabled
@@ -101,7 +97,6 @@ from ..hook.post_sample_hook import PostSampleHook
101
97
  # SessionMemoryCompactBridge uses lazy import to avoid circular dependency with memory.session.session_memory
102
98
  from ..prompt import SystemPromptSection, build_effective_system_prompt
103
99
  from ..prompt.session_context import get_default_session_context_sections
104
- from ...tools.agent.prompt import build_explore_plan_guidance
105
100
  from ..config import ModelContextResolver
106
101
  from ..config.loop_config import (
107
102
  AgentLoopConfig,
@@ -352,6 +347,7 @@ class LoopGraphBuilder:
352
347
  self._state_schema = state_schema
353
348
  self._context_schema = context_schema
354
349
  self._prepared = False
350
+ self._memory_prefetch_coordinator: Any | None = None
355
351
 
356
352
  def _prepare_compile_context(self) -> None:
357
353
  if self._prepared:
@@ -369,7 +365,16 @@ class LoopGraphBuilder:
369
365
  self._dynamic_sections: list[SystemPromptSection] = list(self._config.prompt.dynamic_sections)
370
366
  append_system_prompt = self._config.prompt.append_system
371
367
  self._resolve_workspace_config()
372
- self._setup_loader_tools()
368
+ self._setup_loader_tools(
369
+ session_store=session_store,
370
+ model=model,
371
+ schema_cache_namespace=session_id or "",
372
+ )
373
+ from ...loop.prompt.tool_aware_sections import (
374
+ build_tool_aware_prompt_sections,
375
+ )
376
+
377
+ runtime_tools = getattr(self, "_runtime_tools", None) or []
373
378
  # P0-3: 初始化 session_store.cwd
374
379
  # 从 config.workspace.runtime_cwd 或回退到 workspace_root
375
380
  if session_store is not None and hasattr(session_store, "set_cwd"):
@@ -405,10 +410,20 @@ class LoopGraphBuilder:
405
410
  from ...memory.session.compact_bridge import SessionMemoryCompactBridge
406
411
 
407
412
  session_memory_path = self._workspace_cfg.session_memory_path(session_id)
413
+ session_memory_extractor = None
414
+ if not self._config.subagent.is_subagent:
415
+ session_memory_extractor = self._build_session_memory_extractor(
416
+ model=model,
417
+ session_store=session_store,
418
+ session_id=session_id or "",
419
+ session_memory_path=session_memory_path,
420
+ base_prompt=base_prompt,
421
+ )
408
422
  self._session_memory_manager = SessionMemoryManager(
409
423
  session_memory_path=session_memory_path,
410
424
  llm=model,
411
425
  is_subagent=self._config.subagent.is_subagent,
426
+ extractor=session_memory_extractor,
412
427
  )
413
428
  self._session_memory_compact_bridge = SessionMemoryCompactBridge(
414
429
  session_memory_path=session_memory_path,
@@ -432,6 +447,7 @@ class LoopGraphBuilder:
432
447
  workspace_root=Path(self._workspace_root),
433
448
  agent_home_segment=self._agent_home_segment,
434
449
  managed_rules=self._config.managed_rules,
450
+ claude_md_excludes=self._config.claude_md_excludes,
435
451
  active_files_provider=(
436
452
  CallbackActiveFilesProvider(self._services.active_files_getter)
437
453
  if self._services.active_files_getter is not None
@@ -446,14 +462,15 @@ class LoopGraphBuilder:
446
462
  available_tools=self._loader_tools,
447
463
  ).build_sections()
448
464
  )
449
- self._dynamic_sections.extend(
450
- AgentMemoryPromptBootstrap(
451
- workspace_cfg=self._workspace_cfg,
452
- is_subagent=self._config.subagent.is_subagent,
453
- subagent_type=self._config.subagent.subagent_type,
454
- available_tools=self._loader_tools,
455
- ).build_sections()
456
- )
465
+ if not self._config.subagent.is_subagent:
466
+ self._dynamic_sections.extend(
467
+ build_tool_aware_prompt_sections(
468
+ self._enabled_tool_names,
469
+ runtime_tools=runtime_tools,
470
+ include_session_memory_mechanics=self._config.enable_session_memory,
471
+ is_subagent=False,
472
+ )
473
+ )
457
474
  system_message = self._build_system_message(
458
475
  base_prompt=base_prompt,
459
476
  append_system_prompt=append_system_prompt,
@@ -467,12 +484,6 @@ class LoopGraphBuilder:
467
484
  self._built_in_tools = []
468
485
  self._available_tools = list(self._loader_tools)
469
486
 
470
- if not self._config.subagent.is_subagent:
471
- append_system_prompt, system_message = self._apply_explore_guidance(
472
- append_system_prompt=append_system_prompt,
473
- base_prompt=base_prompt,
474
- )
475
-
476
487
  # 使用已有的 config(frozen,不可修改),但需要添加运行时计算的值
477
488
  # 运行时需要的额外值存储在 self._* 字段中
478
489
 
@@ -553,17 +564,21 @@ class LoopGraphBuilder:
553
564
  model=model,
554
565
  session_store=session_store,
555
566
  session_id=session_id or "",
567
+ trace_collector=collector,
568
+ )
569
+ self._memory_prefetch_coordinator = self._build_memory_prefetch_coordinator(
570
+ model=model,
571
+ session_store=session_store,
556
572
  )
557
573
  self._hook_graph_wiring = HookGraphWiring(
558
574
  hook_engine,
559
575
  trace_lifecycle_collector=trace_lifecycle_collector,
560
576
  session_memory=self._session_memory_manager,
561
577
  memory_extractor=memory_extractor,
562
- agent_memory_extractor=get_default_agent_memory_extraction_coordinator(),
578
+ memory_prefetch_coordinator=self._memory_prefetch_coordinator,
563
579
  workspace_cfg=self._workspace_cfg,
564
580
  session_id=session_id or "",
565
581
  container_type=container_type,
566
- subagent_type=self._config.subagent.subagent_type,
567
582
  post_sample_hook=PostSampleHook(memory_extractor=memory_extractor),
568
583
  )
569
584
  if self._config.trace.enabled:
@@ -632,8 +647,17 @@ class LoopGraphBuilder:
632
647
  if self._services.prompt_handler is not None:
633
648
  loader.set_prompt_handler(self._services.prompt_handler)
634
649
 
635
- def _setup_loader_tools(self) -> None:
650
+ def _setup_loader_tools(
651
+ self,
652
+ *,
653
+ session_store: Any | None = None,
654
+ model: Any | None = None,
655
+ schema_cache_namespace: str | None = None,
656
+ ) -> None:
636
657
  self._loader_tools = []
658
+ self._runtime_tools = []
659
+ self._tool_prompt_ctx = None
660
+ self._enabled_tool_names = frozenset()
637
661
  self._skill_runtime_tool = None
638
662
  self._loop_loader = None
639
663
  if self._services.loader is not None:
@@ -653,20 +677,76 @@ class LoopGraphBuilder:
653
677
  for tool in self._services.loader.registry.list():
654
678
  if tool.name not in self._loop_loader.registry._tools:
655
679
  self._loop_loader.register(tool)
656
- self._loader_tools = self._loop_loader.registry.to_langchain_tools()
657
- for rt in self._loop_loader.registry.list():
680
+ self._runtime_tools = self._loop_loader.registry.list()
681
+ from ...loop.prompt.tool_aware_sections import collect_enabled_tool_names
682
+
683
+ self._enabled_tool_names = collect_enabled_tool_names(self._runtime_tools)
684
+ self._tool_prompt_ctx = self._build_tool_prompt_context(
685
+ session_store=session_store,
686
+ model=model,
687
+ schema_cache_namespace=schema_cache_namespace,
688
+ )
689
+ self._loader_tools = self._loop_loader.registry.to_langchain_tools(
690
+ prompt_ctx=self._tool_prompt_ctx,
691
+ )
692
+ for rt in self._runtime_tools:
658
693
  if self._skill_runtime_tool is None and rt.__class__.__name__ == "SkillRuntimeTool":
659
694
  self._skill_runtime_tool = rt
660
695
 
696
+ def _resolve_policy_config(self) -> Any | None:
697
+ loader = self._loop_loader or self._services.loader
698
+ if loader is None:
699
+ return None
700
+ policy_cfg = getattr(loader, "policy_config", None)
701
+ if policy_cfg is None and hasattr(loader, "_process"):
702
+ policy_cfg = getattr(loader._process, "policy_config", None)
703
+ return policy_cfg
704
+
705
+ def _snapshot_permission_context(
706
+ self,
707
+ *,
708
+ session_store: Any | None = None,
709
+ ) -> Any:
710
+ from ...tool_runtime.permission_snapshot import build_permission_snapshot
711
+
712
+ return build_permission_snapshot(
713
+ permission_mode=self._config.permission_mode,
714
+ policy_config=self._resolve_policy_config(),
715
+ session_store=session_store,
716
+ )
717
+
718
+ def _build_tool_prompt_context(
719
+ self,
720
+ *,
721
+ session_store: Any | None = None,
722
+ model: Any | None = None,
723
+ schema_cache_namespace: str | None = None,
724
+ ) -> Any:
725
+ from ...tool_runtime.prompt_context import build_tool_prompt_context
726
+
727
+ resolved_model = model if model is not None else self._config.model
728
+ model_name = getattr(resolved_model, "model_name", None)
729
+ return build_tool_prompt_context(
730
+ runtime_tools=self._runtime_tools,
731
+ enabled_tool_names=self._enabled_tool_names,
732
+ permission_snapshot=self._snapshot_permission_context(session_store=session_store),
733
+ workspace_cfg=getattr(self, "_workspace_cfg", None),
734
+ headless=self._config.headless,
735
+ model_name=model_name,
736
+ schema_cache_namespace=schema_cache_namespace,
737
+ )
738
+
661
739
  def _build_memory_extraction_coordinator(
662
740
  self,
663
741
  *,
664
742
  model: Any,
665
743
  session_store: Any,
666
744
  session_id: str,
745
+ trace_collector: Any | None = None,
667
746
  ) -> MemoryExtractionCoordinator:
668
747
  from ..subagent.context import ForkedParentRuntime
669
748
  from ..subagent.forked_runner import ForkedAgentRunner
749
+ from ...memory.memdir.extractor import build_trace_memory_saved_callback
670
750
 
671
751
  if (
672
752
  self._is_subagent
@@ -689,6 +769,7 @@ class LoopGraphBuilder:
689
769
  capabilities=self._services.capabilities,
690
770
  cwd=runtime_cwd,
691
771
  )
772
+ from ...memory.memdir.fork_concurrency import default_fork_concurrency_limiter
692
773
  from ...memory.memdir.metrics import default_memory_fork_metrics
693
774
 
694
775
  metrics = default_memory_fork_metrics()
@@ -696,9 +777,100 @@ class LoopGraphBuilder:
696
777
  forked_runner=ForkedAgentRunner(
697
778
  parent_runtime=parent_runtime,
698
779
  metrics=metrics,
780
+ concurrency_limiter=default_fork_concurrency_limiter(),
699
781
  ),
700
782
  metrics=metrics,
783
+ on_memory_saved=build_trace_memory_saved_callback(trace_collector, session_id),
784
+ )
785
+
786
+ def _build_session_memory_extractor(
787
+ self,
788
+ *,
789
+ model: Any,
790
+ session_store: Any,
791
+ session_id: str,
792
+ session_memory_path: Any,
793
+ base_prompt: str,
794
+ ) -> Any | None:
795
+ """为 L3 Session Memory 组装 Fork 抽取器(对齐 memdir coordinator 构造)。"""
796
+ from pathlib import Path as StdPath
797
+
798
+ from ..subagent.context import ForkedParentRuntime
799
+ from ..subagent.forked_runner import ForkedAgentRunner
800
+ from ...memory.memdir.fork_concurrency import default_fork_concurrency_limiter
801
+ from ...memory.session.extractor import SessionMemoryExtractor
802
+
803
+ if self._services.loader is None or self._loop_loader is None:
804
+ return None
805
+
806
+ runtime_cwd = str(self._config.workspace.runtime_cwd or self._workspace_root)
807
+ parent_runtime = ForkedParentRuntime(
808
+ session_store=session_store,
809
+ tool_registry=self._loop_loader.registry,
810
+ tool_loader=self._services.loader,
811
+ model=model,
812
+ workspace_root=str(self._workspace_root),
813
+ agent_home_segment=self._workspace_cfg.agent_home_segment,
814
+ parent_run_id=session_id or None,
815
+ parent_conversation_session_id=session_id or None,
816
+ system_prompt=base_prompt,
817
+ capabilities=self._services.capabilities,
818
+ cwd=runtime_cwd,
819
+ )
820
+ forked_runner = ForkedAgentRunner(
821
+ parent_runtime=parent_runtime,
822
+ concurrency_limiter=default_fork_concurrency_limiter(),
823
+ )
824
+ return SessionMemoryExtractor(
825
+ forked_runner=forked_runner,
826
+ parent_runtime=parent_runtime,
827
+ session_memory_path=StdPath(session_memory_path),
828
+ )
829
+
830
+ def _build_memory_prefetch_coordinator(
831
+ self,
832
+ *,
833
+ model: Any,
834
+ session_store: Any,
835
+ ) -> Any | None:
836
+ from ...memory.memdir.gate import is_memory_prefetch_enabled
837
+ from ...memory.memdir.prefetch import MemoryPrefetchCoordinator
838
+ from ...memory.memdir.recall_service import MemoryRecallService
839
+
840
+ if self._is_subagent or not is_memory_enabled(self._workspace_cfg):
841
+ return None
842
+ if not is_memory_prefetch_enabled(self._workspace_cfg):
843
+ return None
844
+ recall_service = MemoryRecallService(
845
+ workspace_cfg=self._workspace_cfg,
846
+ model=model,
701
847
  )
848
+ return MemoryPrefetchCoordinator(
849
+ recall_service=recall_service,
850
+ workspace_cfg=self._workspace_cfg,
851
+ session_store=session_store,
852
+ )
853
+
854
+ def _consume_memory_prefetch_attachment_messages(self, state: dict[str, Any]) -> list[dict[str, Any]]:
855
+ coordinator = self._memory_prefetch_coordinator
856
+ if coordinator is None:
857
+ return []
858
+ iteration = int(state.get("turn_count", 0) or 0)
859
+ return coordinator.consume_attachment_messages(state, iteration=iteration)
860
+
861
+ def _patch_messages_with_memory_prefetch(
862
+ self,
863
+ state: dict[str, Any],
864
+ patch: dict[str, Any],
865
+ ) -> dict[str, Any]:
866
+ memory_attachments = self._consume_memory_prefetch_attachment_messages(state)
867
+ if not memory_attachments:
868
+ return patch
869
+ messages = list(patch.get("messages") or state.get("messages") or [])
870
+ messages.extend(memory_attachments)
871
+ patch = dict(patch)
872
+ patch["messages"] = messages
873
+ return patch
702
874
 
703
875
  def _resolve_workspace_config(self) -> None:
704
876
  raw_workspace_root = self._config.workspace.workspace_root
@@ -803,28 +975,6 @@ class LoopGraphBuilder:
803
975
  structured_output_tools[structured_tool_info.tool.name] = structured_tool_info
804
976
  return initial_response_format, tool_strategy_for_setup, structured_output_tools
805
977
 
806
- def _apply_explore_guidance(
807
- self,
808
- *,
809
- append_system_prompt: str | None,
810
- base_prompt: str | None,
811
- ) -> tuple[str | None, SystemMessage | None]:
812
- explore_guidance = build_explore_plan_guidance(self._available_tools)
813
- if not explore_guidance:
814
- return append_system_prompt, self._build_system_message(
815
- base_prompt=base_prompt,
816
- append_system_prompt=append_system_prompt,
817
- )
818
- updated_append_prompt = (
819
- f"{append_system_prompt}\n\n{explore_guidance}"
820
- if append_system_prompt
821
- else explore_guidance
822
- )
823
- return updated_append_prompt, self._build_system_message(
824
- base_prompt=base_prompt,
825
- append_system_prompt=updated_append_prompt,
826
- )
827
-
828
978
  def _build_tool_node(self) -> Any:
829
979
  self._prepare_compile_context()
830
980
  need_tool_node = bool(self._available_tools)
@@ -870,7 +1020,7 @@ class LoopGraphBuilder:
870
1020
  model = self._model
871
1021
  if self._config.enable_tool_call_degradation_fix and not isinstance(model, ToolCallDegradationCorrector):
872
1022
  allowed_tool_names = _build_allowed_tool_names_for_degradation_correction(
873
- tool_node=runtime_tools_node,
1023
+ enabled_tool_names=set(self._enabled_tool_names),
874
1024
  built_in_tools=self._built_in_tools,
875
1025
  structured_output_tools=self._structured_output_tools,
876
1026
  )
@@ -1066,7 +1216,10 @@ class LoopGraphBuilder:
1066
1216
  loop_entry_node = "hook_before_model"
1067
1217
  raw_loop_entry_node = "hook_before_model"
1068
1218
  provider_chain, has_skill_tool = self._build_provider_chain(tool_node)
1069
- if provider_chain:
1219
+ wire_task_event_nodes = bool(provider_chain) or (
1220
+ self._memory_prefetch_coordinator is not None and tool_node is not None
1221
+ )
1222
+ if wire_task_event_nodes:
1070
1223
  loop_entry_node = self._wire_task_event_nodes(
1071
1224
  graph_inner=graph_inner,
1072
1225
  provider_chain=provider_chain,
@@ -1092,6 +1245,7 @@ class LoopGraphBuilder:
1092
1245
  "loop_exit_node": "model",
1093
1246
  "exit_node": "hook_loop_end",
1094
1247
  "provider_chain": provider_chain,
1248
+ "wire_task_event_nodes": wire_task_event_nodes,
1095
1249
  }
1096
1250
 
1097
1251
  def _build_provider_chain(self, tool_node: Any) -> tuple[list[QueuedCommandProvider], bool]:
@@ -1241,11 +1395,14 @@ class LoopGraphBuilder:
1241
1395
  "agent_id": event.scope.agent_id,
1242
1396
  }
1243
1397
  )
1244
- return {
1245
- "pending_task_batch_id": None,
1246
- "pending_task_command_ids": [],
1247
- "task_events": task_events,
1248
- }
1398
+ return self._patch_messages_with_memory_prefetch(
1399
+ state,
1400
+ {
1401
+ "pending_task_batch_id": None,
1402
+ "pending_task_command_ids": [],
1403
+ "task_events": task_events,
1404
+ },
1405
+ )
1249
1406
  messages = list(state.get("messages") or [])
1250
1407
  # 冻结契约:task 通知附件仅经本节点注入;按 command_id 与已有 messages 去重
1251
1408
  # (见 docs/design-docs/loop/agent-loop/post-tools-injection-contract.md)
@@ -1309,14 +1466,17 @@ class LoopGraphBuilder:
1309
1466
  "agent_id": event.scope.agent_id,
1310
1467
  }
1311
1468
  )
1312
- return {
1313
- "messages": messages,
1314
- "pending_task_batch_id": encode_provider_batch_id(
1315
- provider_index, batch.batch_id
1316
- ),
1317
- "pending_task_command_ids": list(batch.command_ids),
1318
- "task_events": task_events,
1319
- }
1469
+ return self._patch_messages_with_memory_prefetch(
1470
+ state,
1471
+ {
1472
+ "messages": messages,
1473
+ "pending_task_batch_id": encode_provider_batch_id(
1474
+ provider_index, batch.batch_id
1475
+ ),
1476
+ "pending_task_command_ids": list(batch.command_ids),
1477
+ "task_events": task_events,
1478
+ },
1479
+ )
1320
1480
  except Exception:
1321
1481
  if batch is not None and batch.batch_id:
1322
1482
  if 0 <= provider_index < len(provider_chain):
@@ -1415,6 +1575,7 @@ class LoopGraphBuilder:
1415
1575
  loop_exit_node = routing["loop_exit_node"]
1416
1576
  exit_node = routing["exit_node"]
1417
1577
  provider_chain = routing["provider_chain"]
1578
+ wire_task_event_nodes = routing["wire_task_event_nodes"]
1418
1579
  if tool_node is not None:
1419
1580
  self._wire_main_edges_with_tools(
1420
1581
  graph_inner=graph_inner,
@@ -1423,6 +1584,7 @@ class LoopGraphBuilder:
1423
1584
  loop_exit_node=loop_exit_node,
1424
1585
  exit_node=exit_node,
1425
1586
  provider_chain=provider_chain,
1587
+ wire_task_event_nodes=wire_task_event_nodes,
1426
1588
  )
1427
1589
  return
1428
1590
  if len(self._structured_output_tools) > 0:
@@ -1446,8 +1608,9 @@ class LoopGraphBuilder:
1446
1608
  loop_exit_node: str,
1447
1609
  exit_node: str,
1448
1610
  provider_chain: list[QueuedCommandProvider],
1611
+ wire_task_event_nodes: bool,
1449
1612
  ) -> None:
1450
- if provider_chain:
1613
+ if wire_task_event_nodes:
1451
1614
  tools_model_destination = loop_entry_node
1452
1615
  tools_to_model_destinations = [loop_entry_node, exit_node]
1453
1616
  else:
@@ -1467,7 +1630,7 @@ class LoopGraphBuilder:
1467
1630
  ),
1468
1631
  tools_to_model_destinations,
1469
1632
  )
1470
- if not provider_chain:
1633
+ if not wire_task_event_nodes:
1471
1634
  graph_inner.add_edge("prune_and_compress", loop_entry_node)
1472
1635
  graph_inner.add_edge(loop_exit_node, "hook_after_model")
1473
1636
  graph_inner.add_edge("hook_after_model", "hook_stop")
@@ -1494,7 +1657,7 @@ class LoopGraphBuilder:
1494
1657
  )
1495
1658
 
1496
1659
  loop_controller_destinations = ["tools", loop_entry_node, exit_node, "reactive_compact"]
1497
- if provider_chain and "task_event_commit_ack" not in loop_controller_destinations:
1660
+ if wire_task_event_nodes and "task_event_commit_ack" not in loop_controller_destinations:
1498
1661
  loop_controller_destinations.append("task_event_commit_ack")
1499
1662
  graph_inner.add_conditional_edges(
1500
1663
  "loop_controller",