langchain-agentx-python 0.6.2__tar.gz → 0.6.3__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.
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/PKG-INFO +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/__init__.py +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/__init__.py +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/loop_config.py +54 -14
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/model_context_resolver.py +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/graph/factory.py +45 -325
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/runtime/context_factory.py +20 -7
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/graph.py +38 -21
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/orchestrator.py +6 -6
- langchain-agentx-python-0.6.3/langchain_agentx/session/conversation_factory.py +179 -0
- langchain-agentx-python-0.6.3/langchain_agentx/session/factory.py +196 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/cwd_resolution.py +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/__init__.py +13 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/base.py +10 -8
- langchain-agentx-python-0.6.3/langchain_agentx/workflow/runtime.py +112 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/tool_boundary.py +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/PKG-INFO +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/SOURCES.txt +1 -1
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/requires.txt +1 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/pyproject.toml +2 -1
- langchain-agentx-python-0.6.2/langchain_agentx/loop/config/agent_loop_config.py +0 -78
- langchain-agentx-python-0.6.2/langchain_agentx/session/conversation_factory.py +0 -94
- langchain-agentx-python-0.6.2/langchain_agentx/session/factory.py +0 -157
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/LICENSE +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/README.md +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/builtin/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/builtin/clear.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/builtin/compact.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/builtin/memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/context.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/dispatcher.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/registry.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/result.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/command/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/config/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/config/model_profiles.yaml +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/config/model_profiles.yaml.example +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/benchmark_frozen_config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/agent_config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/runtime_settings.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/config/token_estimator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/blocking_guard.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/compaction_service.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/message_utils.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/pipeline.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/settings.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/base.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/collapse.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/noop.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/snip.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/context/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/exit/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/exit/exit_logic.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/exit/reason_codes.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/graph/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/graph/graph_edges.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/engine.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/executors/agent.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/executors/command.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/executors/http.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/hook_projection.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/registry.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/trust.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/hook/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/injection/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/injection/dedup.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/loop_abort.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/model_node.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/model_nodes.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/retrier.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/retry_bridge.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/retry_events.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/retry_policy.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/schema_and_format.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/builder.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/builtin.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/compact.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/sections.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/prompt/session_context.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/runtime/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/runtime/context.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/async_runner.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/context.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/progress.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/runner.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/loop/subagent/transcript.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/resolver.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/sections.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/instruction/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/age.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/extractor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/paths.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/recall.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/scan.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/memdir/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/session/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/session/compact_bridge.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/session/prompts.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/memory/session/session_memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/service.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/state.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/evaluation/store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/events/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/logging/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/logging/debug_burst.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/logging/logging_config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/logging/logging_contract.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/replay/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/replay/cli.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/replay/service.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/replay/store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/replay/ui.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/collector.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/event_emitter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/trace_callback.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/builtin.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/manifest.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/registries.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/plugin/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/anthropic.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/env.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/model_profile.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/provider/openai.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/session/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/session/agent_session.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/session/conversation_recovery.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/session/conversation_session.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/session/protocol.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/core/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/core/ids.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/core/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/output/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/output/sink.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/store/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/allowlist.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/config_update.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/decision.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/events.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/factory.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/feedback.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/hook.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/auto_mode/state.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/base.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/errors.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/loop_loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/override.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/path_safety.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/permission_context.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/permission_decision.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/pipeline.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/policy.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/policy_decorator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/process_loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/_abort.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/cli_interactive.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/handler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/headless.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/messages.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/race.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/session_mode.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/prompt/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/read_ignore_patterns.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/read_permission.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/registry.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/session_store.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/general.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/registry/config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/registry/registry.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/scope.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/agent/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/ast_security.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/auto_mode_adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/boundary_check.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/events.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/mode_validation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/observability.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/output_utils.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/path_security.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/result_presenter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/security.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/sed_validation.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/semantics.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/session_manager.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/session_runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/shell_locator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/shell_quoting.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/task_runtime.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/diff_generator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/quote_match.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/settings_validator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/staleness.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/edit/validator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/pagination.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/glob/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/grep/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/read/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/policy.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/skill/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/hooks.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_create/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_get/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_get/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_get/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_get/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_list/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_list/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_list/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_list/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_update/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_update/hooks.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_update/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_update/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/task_update/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/attachments.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/user_message/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/summary.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/webfetch/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/events.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/loader.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/websearch/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/backend.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/limits.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/models.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/prompt.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/tool.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/tools/write/validator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/cwd.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/host_platform.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/path_hierarchy.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/path_user_input.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/rg_executable.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/subprocess_text.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/temp_paths.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/unc_path.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/utils/win_reserved_paths.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/batch.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/dag.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/event_adapter/types.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/node.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/chaining.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/patterns/routing.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workflow/state.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/__init__.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/boundary.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/capabilities.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/config.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/errors.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/grant.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/l3_root_grant.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/resolver.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/root_grant_manager.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/validators.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx/workspace/view.py +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/langchain_agentx_python.egg-info/top_level.txt +0 -0
- {langchain-agentx-python-0.6.2 → langchain-agentx-python-0.6.3}/setup.cfg +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .agent_config import build_agent_config, merge_run_config
|
|
2
|
-
from .
|
|
2
|
+
from .loop_config import AgentLoopConfig
|
|
3
3
|
from .model_context_resolver import ModelContextResolver
|
|
4
4
|
from .token_estimator import TokenEstimator
|
|
5
5
|
from .runtime_settings import (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""loop_config.py — Agent Loop 配置数据结构(
|
|
1
|
+
"""loop_config.py — Agent Loop 配置数据结构(config-first 模式)
|
|
2
2
|
|
|
3
3
|
职责:
|
|
4
4
|
定义 AgentLoopConfig(数据控制面)和 LoopServices(资源控制面),
|
|
@@ -12,24 +12,22 @@ CC 对照:
|
|
|
12
12
|
ToolUseContext.options(控制面)的组合。
|
|
13
13
|
|
|
14
14
|
当前裁剪范围:
|
|
15
|
-
Phase
|
|
15
|
+
Phase 3 已完成:config-first 模式为唯一入口,legacy kwargs 已删除。
|
|
16
16
|
本文件包含嵌套子结构定义,暂不引入 LoopDeps(等触发条件满足)。
|
|
17
|
-
|
|
18
|
-
Phase 1 后续:
|
|
19
|
-
Phase 2 迁移期:旧 kwargs 升 DeprecationWarning
|
|
20
|
-
Phase 3 终态:删除 legacy 转换层
|
|
21
17
|
"""
|
|
22
18
|
|
|
23
19
|
from __future__ import annotations
|
|
24
20
|
|
|
25
|
-
from dataclasses import dataclass, field
|
|
26
|
-
from
|
|
21
|
+
from dataclasses import dataclass, field, replace
|
|
22
|
+
from pathlib import Path
|
|
23
|
+
from typing import Any, Callable, Sequence
|
|
27
24
|
|
|
28
25
|
from langchain_core.messages import SystemMessage
|
|
29
26
|
from langchain_core.language_models.chat_models import BaseChatModel
|
|
30
27
|
|
|
31
28
|
from langchain_agentx.loop.prompt import SystemPromptSection
|
|
32
29
|
from langchain_agentx.provider.model_profile import ModelProfile, ModelProfileRegistry
|
|
30
|
+
from langchain_agentx.task_runtime import QueuePriority
|
|
33
31
|
|
|
34
32
|
|
|
35
33
|
# ============================================================================
|
|
@@ -58,7 +56,7 @@ class WorkspaceConfig:
|
|
|
58
56
|
|
|
59
57
|
CC 对照:无直接对应,SDK 特化的边界控制。
|
|
60
58
|
"""
|
|
61
|
-
workspace_root: str | None = None
|
|
59
|
+
workspace_root: str | Path | None = None
|
|
62
60
|
agent_home: str = ".langchain_agentx"
|
|
63
61
|
read_roots: tuple[str, ...] = ()
|
|
64
62
|
write_roots: tuple[str, ...] = ()
|
|
@@ -118,8 +116,8 @@ class AgentLoopConfig:
|
|
|
118
116
|
# -----------------------------------------------------------------------
|
|
119
117
|
# 标识
|
|
120
118
|
# -----------------------------------------------------------------------
|
|
121
|
-
session_id: str =
|
|
122
|
-
conversation_session_id: str =
|
|
119
|
+
session_id: str | None = None
|
|
120
|
+
conversation_session_id: str | None = None
|
|
123
121
|
agent_id: str | None = None
|
|
124
122
|
name: str | None = None
|
|
125
123
|
container_type: str | None = None
|
|
@@ -138,7 +136,7 @@ class AgentLoopConfig:
|
|
|
138
136
|
# 运行模式
|
|
139
137
|
# -----------------------------------------------------------------------
|
|
140
138
|
debug: bool = False
|
|
141
|
-
headless: bool =
|
|
139
|
+
headless: bool | None = None
|
|
142
140
|
permission_mode: str = "default"
|
|
143
141
|
network_access_allowed: bool = True
|
|
144
142
|
enable_session_memory: bool = False
|
|
@@ -148,7 +146,7 @@ class AgentLoopConfig:
|
|
|
148
146
|
# -----------------------------------------------------------------------
|
|
149
147
|
# 任务规则
|
|
150
148
|
# -----------------------------------------------------------------------
|
|
151
|
-
task_notification_max_priority:
|
|
149
|
+
task_notification_max_priority: QueuePriority = QueuePriority.NEXT
|
|
152
150
|
managed_rules: str | None = None
|
|
153
151
|
|
|
154
152
|
# -----------------------------------------------------------------------
|
|
@@ -166,6 +164,48 @@ class AgentLoopConfig:
|
|
|
166
164
|
trace: TraceConfig = field(default_factory=TraceConfig)
|
|
167
165
|
subagent: SubagentLinkage = field(default_factory=SubagentLinkage)
|
|
168
166
|
|
|
167
|
+
# -----------------------------------------------------------------------
|
|
168
|
+
# 便捷构造器
|
|
169
|
+
# -----------------------------------------------------------------------
|
|
170
|
+
|
|
171
|
+
@classmethod
|
|
172
|
+
def simple(
|
|
173
|
+
cls,
|
|
174
|
+
*,
|
|
175
|
+
system_prompt: str | SystemMessage | None = None,
|
|
176
|
+
max_steps: int | None = None,
|
|
177
|
+
workspace_root: str | Path | None = None,
|
|
178
|
+
agent_home: str = ".langchain_agentx",
|
|
179
|
+
read_roots: tuple[str, ...] = (),
|
|
180
|
+
write_roots: tuple[str, ...] = (),
|
|
181
|
+
**flat_overrides: Any,
|
|
182
|
+
) -> "AgentLoopConfig":
|
|
183
|
+
"""便捷构造:覆盖最常见的 5-6 个字段,其它走默认。
|
|
184
|
+
|
|
185
|
+
Args:
|
|
186
|
+
system_prompt: 系统提示词
|
|
187
|
+
max_steps: 最大步数
|
|
188
|
+
workspace_root: 工作区根目录
|
|
189
|
+
agent_home: agent_home 目录
|
|
190
|
+
read_roots: 只读根目录
|
|
191
|
+
write_roots: 只写根目录
|
|
192
|
+
**flat_overrides: 其他字段直接透传到 AgentLoopConfig
|
|
193
|
+
|
|
194
|
+
Returns:
|
|
195
|
+
配置好的 AgentLoopConfig 实例
|
|
196
|
+
"""
|
|
197
|
+
return cls(
|
|
198
|
+
max_steps=max_steps,
|
|
199
|
+
prompt=PromptConfig(system=system_prompt),
|
|
200
|
+
workspace=WorkspaceConfig(
|
|
201
|
+
workspace_root=workspace_root,
|
|
202
|
+
agent_home=agent_home,
|
|
203
|
+
read_roots=read_roots,
|
|
204
|
+
write_roots=write_roots,
|
|
205
|
+
),
|
|
206
|
+
**flat_overrides,
|
|
207
|
+
)
|
|
208
|
+
|
|
169
209
|
|
|
170
210
|
# ============================================================================
|
|
171
211
|
# LoopServices — 资源控制面(全 optional)
|
|
@@ -199,7 +239,7 @@ class LoopServices:
|
|
|
199
239
|
trace_collector: Any = None # TraceCollector
|
|
200
240
|
|
|
201
241
|
# 外部队列与活跃文件
|
|
202
|
-
queued_command_providers:
|
|
242
|
+
queued_command_providers: Sequence[Any] = field(default_factory=tuple)
|
|
203
243
|
active_files_getter: Callable[[], list[str]] | None = None
|
|
204
244
|
|
|
205
245
|
|
|
@@ -99,7 +99,6 @@ from ..prompt import SystemPromptSection, build_effective_system_prompt
|
|
|
99
99
|
from ..prompt.session_context import get_default_session_context_sections
|
|
100
100
|
from ...tools.agent.prompt import build_explore_plan_guidance
|
|
101
101
|
from ..config import ModelContextResolver
|
|
102
|
-
from ..config.agent_loop_config import AgentLoopConfig as LegacyAgentLoopConfig
|
|
103
102
|
from ..config.loop_config import (
|
|
104
103
|
AgentLoopConfig,
|
|
105
104
|
LoopServices,
|
|
@@ -126,147 +125,6 @@ DYNAMIC_TOOL_ERROR_TEMPLATE = (
|
|
|
126
125
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
127
126
|
|
|
128
127
|
|
|
129
|
-
def _legacy_kwargs_to_config_services(
|
|
130
|
-
model: str | BaseChatModel,
|
|
131
|
-
*,
|
|
132
|
-
system_prompt: str | SystemMessage | None = None,
|
|
133
|
-
override_system_prompt: str | None = None,
|
|
134
|
-
append_system_prompt: str | None = None,
|
|
135
|
-
dynamic_sections: "Sequence[SystemPromptSection] | None" = None,
|
|
136
|
-
response_format: Any = None,
|
|
137
|
-
fallback_model: "BaseChatModel | None" = None,
|
|
138
|
-
enable_tool_call_degradation_fix: bool = True,
|
|
139
|
-
session_id: str | None = None,
|
|
140
|
-
session_store: "AgentSessionStore | None" = None,
|
|
141
|
-
loader: "ToolRuntimeLoader | None" = None,
|
|
142
|
-
prompt_handler: Any = None,
|
|
143
|
-
permission_resolver: Any = None,
|
|
144
|
-
state_schema: type | None = None,
|
|
145
|
-
context_schema: type | None = None,
|
|
146
|
-
debug: bool = False,
|
|
147
|
-
name: str | None = None,
|
|
148
|
-
max_steps: int | None = None,
|
|
149
|
-
max_turns: int | None = None,
|
|
150
|
-
is_subagent: bool = False,
|
|
151
|
-
subagent_type: str | None = None,
|
|
152
|
-
container_type: str | None = None,
|
|
153
|
-
enable_trace: bool = True,
|
|
154
|
-
trace_collector: TraceCollector | None = None,
|
|
155
|
-
parent_run_id: str | None = None,
|
|
156
|
-
parent_tool_call_id: str | None = None,
|
|
157
|
-
parent_conversation_session_id: str | None = None,
|
|
158
|
-
trace_visibility: str | None = None,
|
|
159
|
-
task_runtime: TaskRuntime | None = None,
|
|
160
|
-
task_notification_max_priority: Any = "NEXT",
|
|
161
|
-
queued_command_providers: "Sequence[Any]" = (),
|
|
162
|
-
managed_rules: str | None = None,
|
|
163
|
-
active_files_getter: "Callable[[], list[str]] | None" = None,
|
|
164
|
-
workspace_root: str | Path | None = None,
|
|
165
|
-
read_roots: "list[str | Path] | None" = None,
|
|
166
|
-
write_roots: "list[str | Path] | None" = None,
|
|
167
|
-
agent_home: str = ".langchain_agentx",
|
|
168
|
-
workspace_trust_accepted: bool | None = None,
|
|
169
|
-
raw_hooks: "HookRegistry | None" = None,
|
|
170
|
-
enable_session_memory: bool = False,
|
|
171
|
-
capabilities: "RuntimeCapabilities | None" = None,
|
|
172
|
-
enable_git_snapshot: bool | None = None,
|
|
173
|
-
include_default_session_context: bool = True,
|
|
174
|
-
enable_dynamic_root_grant: bool = False,
|
|
175
|
-
headless: bool | None = None,
|
|
176
|
-
) -> tuple[AgentLoopConfig, LoopServices, type | None, type | None]:
|
|
177
|
-
"""将 legacy kwargs 转换为 config + services 双对象。
|
|
178
|
-
|
|
179
|
-
Phase 1 双轨上线:本函数负责兼容旧 44 kwargs 调用方式。
|
|
180
|
-
未来 Phase 3 将删除此函数。
|
|
181
|
-
|
|
182
|
-
Returns:
|
|
183
|
-
(AgentLoopConfig, LoopServices, state_schema, context_schema)
|
|
184
|
-
"""
|
|
185
|
-
# 动态 sections 转为 tuple
|
|
186
|
-
dynamic_sections_tuple = tuple(dynamic_sections or [])
|
|
187
|
-
|
|
188
|
-
# read_roots / write_roots 转为 tuple
|
|
189
|
-
read_roots_tuple = tuple(str(p) for p in read_roots) if read_roots else ()
|
|
190
|
-
write_roots_tuple = tuple(str(p) for p in write_roots) if write_roots else ()
|
|
191
|
-
|
|
192
|
-
# queued_command_providers 转为 tuple
|
|
193
|
-
queued_providers_tuple = tuple(queued_command_providers) if queued_command_providers else ()
|
|
194
|
-
|
|
195
|
-
# 构造嵌套子结构
|
|
196
|
-
prompt_config = PromptConfig(
|
|
197
|
-
system=system_prompt,
|
|
198
|
-
override_system=override_system_prompt,
|
|
199
|
-
append_system=append_system_prompt,
|
|
200
|
-
dynamic_sections=dynamic_sections_tuple,
|
|
201
|
-
)
|
|
202
|
-
|
|
203
|
-
workspace_config = WorkspaceConfig(
|
|
204
|
-
workspace_root=str(workspace_root) if workspace_root else None,
|
|
205
|
-
agent_home=agent_home,
|
|
206
|
-
read_roots=read_roots_tuple,
|
|
207
|
-
write_roots=write_roots_tuple,
|
|
208
|
-
workspace_trust_accepted=workspace_trust_accepted,
|
|
209
|
-
enable_dynamic_root_grant=enable_dynamic_root_grant,
|
|
210
|
-
)
|
|
211
|
-
|
|
212
|
-
trace_config = TraceConfig(
|
|
213
|
-
enabled=enable_trace,
|
|
214
|
-
visibility=trace_visibility,
|
|
215
|
-
parent_run_id=parent_run_id,
|
|
216
|
-
parent_tool_call_id=parent_tool_call_id,
|
|
217
|
-
parent_conversation_session_id=parent_conversation_session_id,
|
|
218
|
-
)
|
|
219
|
-
|
|
220
|
-
subagent_config = SubagentLinkage(
|
|
221
|
-
is_subagent=is_subagent,
|
|
222
|
-
subagent_type=subagent_type,
|
|
223
|
-
agent_depth=0, # 将在 _resolve_session_headless() 中从父继承
|
|
224
|
-
parent_agent_id=None, # 将在子代理派生时设置
|
|
225
|
-
)
|
|
226
|
-
|
|
227
|
-
# 构造 AgentLoopConfig
|
|
228
|
-
config = AgentLoopConfig(
|
|
229
|
-
model=model,
|
|
230
|
-
fallback_model=fallback_model,
|
|
231
|
-
response_format=response_format,
|
|
232
|
-
enable_tool_call_degradation_fix=enable_tool_call_degradation_fix,
|
|
233
|
-
session_id=session_id or "",
|
|
234
|
-
conversation_session_id=parent_conversation_session_id or "",
|
|
235
|
-
agent_id=None,
|
|
236
|
-
name=name,
|
|
237
|
-
container_type=container_type,
|
|
238
|
-
max_steps=max_steps,
|
|
239
|
-
max_turns=max_turns,
|
|
240
|
-
debug=debug,
|
|
241
|
-
headless=headless if headless is not None else False,
|
|
242
|
-
permission_mode="default",
|
|
243
|
-
network_access_allowed=True,
|
|
244
|
-
enable_session_memory=enable_session_memory,
|
|
245
|
-
enable_git_snapshot=enable_git_snapshot,
|
|
246
|
-
include_default_session_context=include_default_session_context,
|
|
247
|
-
task_notification_max_priority=task_notification_max_priority,
|
|
248
|
-
managed_rules=managed_rules,
|
|
249
|
-
prompt=prompt_config,
|
|
250
|
-
workspace=workspace_config,
|
|
251
|
-
trace=trace_config,
|
|
252
|
-
subagent=subagent_config,
|
|
253
|
-
)
|
|
254
|
-
|
|
255
|
-
# 构造 LoopServices
|
|
256
|
-
services = LoopServices(
|
|
257
|
-
loader=loader,
|
|
258
|
-
prompt_handler=prompt_handler,
|
|
259
|
-
permission_resolver=permission_resolver,
|
|
260
|
-
capabilities=capabilities,
|
|
261
|
-
session_store=session_store,
|
|
262
|
-
hooks=raw_hooks,
|
|
263
|
-
task_runtime=task_runtime,
|
|
264
|
-
trace_collector=trace_collector,
|
|
265
|
-
queued_command_providers=queued_providers_tuple,
|
|
266
|
-
active_files_getter=active_files_getter,
|
|
267
|
-
)
|
|
268
|
-
|
|
269
|
-
return config, services, state_schema, context_schema
|
|
270
128
|
|
|
271
129
|
|
|
272
130
|
def _resolve_model_conflict(
|
|
@@ -332,15 +190,36 @@ def _sanity_check_config(
|
|
|
332
190
|
)
|
|
333
191
|
|
|
334
192
|
|
|
335
|
-
|
|
336
|
-
"""
|
|
193
|
+
class _FlatLoopConfig:
|
|
194
|
+
"""扁平化的 LoopConfig,支持属性访问(兼容 getattr)。
|
|
337
195
|
|
|
338
|
-
|
|
339
|
-
|
|
196
|
+
下游代码使用 getattr(loop_config, "key", default) 访问配置,
|
|
197
|
+
因此不能用普通 dict。本类提供属性访问接口。
|
|
340
198
|
|
|
341
|
-
|
|
199
|
+
__getattr__ 对缺失字段返回 None,与 legacy dataclass 行为对齐。
|
|
342
200
|
"""
|
|
343
|
-
|
|
201
|
+
|
|
202
|
+
def __init__(self, **kwargs: Any) -> None:
|
|
203
|
+
self._data = kwargs
|
|
204
|
+
|
|
205
|
+
def __getattr__(self, name: str) -> Any:
|
|
206
|
+
# 返回 None 而非抛出异常,与 legacy dataclass 行为对齐
|
|
207
|
+
return self._data.get(name)
|
|
208
|
+
|
|
209
|
+
def get(self, key: str, default: Any = None) -> Any:
|
|
210
|
+
return self._data.get(key, default)
|
|
211
|
+
|
|
212
|
+
def __contains__(self, key: str) -> bool:
|
|
213
|
+
return key in self._data
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def _flatten_config_for_runtime(config: AgentLoopConfig) -> _FlatLoopConfig:
|
|
217
|
+
"""将嵌套的 AgentLoopConfig 扁平化为运行时兼容的对象。
|
|
218
|
+
|
|
219
|
+
下游代码期望扁平结构(如 workspace_root、trace_enabled),但新 config 使用嵌套结构。
|
|
220
|
+
本函数创建一个扁平视图,支持属性访问以兼容 getattr()。
|
|
221
|
+
"""
|
|
222
|
+
return _FlatLoopConfig(
|
|
344
223
|
model=config.model,
|
|
345
224
|
fallback_model=config.fallback_model,
|
|
346
225
|
max_steps=config.max_steps,
|
|
@@ -351,12 +230,9 @@ def _convert_to_legacy_config(config: AgentLoopConfig) -> LegacyAgentLoopConfig:
|
|
|
351
230
|
available_tools=[], # 由 _prepare_for_model_nodes 填充
|
|
352
231
|
network_access_allowed=config.network_access_allowed,
|
|
353
232
|
permission_mode=config.permission_mode,
|
|
354
|
-
permission_resolver=None, # 使用 prompt_handler 替代
|
|
355
|
-
prompt_handler=None, # 由 services 提供
|
|
356
233
|
workspace_root=config.workspace.workspace_root,
|
|
357
234
|
agent_home=config.workspace.agent_home,
|
|
358
235
|
cwd=None, # 由 boundary_view.resolve_cwd() 动态计算
|
|
359
|
-
boundary=None, # 由 _resolve_workspace_config 设置
|
|
360
236
|
enable_dynamic_root_grant=config.workspace.enable_dynamic_root_grant,
|
|
361
237
|
session_id=config.session_id,
|
|
362
238
|
conversation_session_id=config.conversation_session_id,
|
|
@@ -545,16 +421,7 @@ class LoopGraphBuilder:
|
|
|
545
421
|
)
|
|
546
422
|
|
|
547
423
|
# 使用已有的 config(frozen,不可修改),但需要添加运行时计算的值
|
|
548
|
-
# 注意:AgentLoopConfig 是 frozen,所以不能直接修改字段
|
|
549
424
|
# 运行时需要的额外值存储在 self._* 字段中
|
|
550
|
-
self._loop_config_runtime = {
|
|
551
|
-
"available_tools": self._available_tools,
|
|
552
|
-
"permission_resolver": self._services.permission_resolver,
|
|
553
|
-
"prompt_handler": self._services.prompt_handler,
|
|
554
|
-
"boundary": self._workspace_boundary,
|
|
555
|
-
"trace_enabled": self._config.trace.enabled,
|
|
556
|
-
"headless_runtime": self._resolve_session_headless(),
|
|
557
|
-
}
|
|
558
425
|
|
|
559
426
|
self._compaction_settings = self._build_compaction_settings()
|
|
560
427
|
self._loop_context_compaction = default_loop_context_compaction().with_default_pipeline(
|
|
@@ -1534,9 +1401,15 @@ class LoopGraphBuilder:
|
|
|
1534
1401
|
)
|
|
1535
1402
|
# Consolidate all configurable keys to avoid with_config overwrite bug
|
|
1536
1403
|
# (RunnableBinding.with_config does shallow merge, so second "configurable" replaces first)
|
|
1537
|
-
#
|
|
1404
|
+
# 将嵌套的 AgentLoopConfig 扁平化以兼容下游代码
|
|
1405
|
+
flat_config = _flatten_config_for_runtime(self._config)
|
|
1406
|
+
# P1 #4: 注入 boundary 和 available_tools 到 flat_config
|
|
1407
|
+
flat_config._data["boundary"] = self._workspace_boundary
|
|
1408
|
+
flat_config._data["available_tools"] = self._available_tools
|
|
1538
1409
|
configurable_dict: dict[str, Any] = {
|
|
1539
|
-
"loop_config":
|
|
1410
|
+
"loop_config": flat_config,
|
|
1411
|
+
"permission_resolver": self._services.permission_resolver,
|
|
1412
|
+
"prompt_handler": self._services.prompt_handler,
|
|
1540
1413
|
}
|
|
1541
1414
|
if self._services.capabilities is not None:
|
|
1542
1415
|
configurable_dict["capabilities"] = self._services.capabilities
|
|
@@ -1580,184 +1453,31 @@ class LoopGraphBuilder:
|
|
|
1580
1453
|
def create_loop_agent(
|
|
1581
1454
|
model: str | BaseChatModel,
|
|
1582
1455
|
*,
|
|
1583
|
-
# Phase 1 新增:config + services 双对象入参
|
|
1584
1456
|
config: "AgentLoopConfig | None" = None,
|
|
1585
1457
|
services: "LoopServices | None" = None,
|
|
1586
|
-
# Phase 1 兼容:保留 legacy kwargs(44 个)
|
|
1587
|
-
# Prompt 配置
|
|
1588
|
-
system_prompt: str | SystemMessage | None = None,
|
|
1589
|
-
override_system_prompt: str | None = None,
|
|
1590
|
-
append_system_prompt: str | None = None,
|
|
1591
|
-
dynamic_sections: Sequence[SystemPromptSection] = (),
|
|
1592
|
-
# Model 配置
|
|
1593
|
-
response_format: ResponseFormat[ResponseT] | type[ResponseT] | dict[str, Any] | None = None,
|
|
1594
|
-
fallback_model: BaseChatModel | None = None,
|
|
1595
|
-
enable_tool_call_degradation_fix: bool = True,
|
|
1596
|
-
# Session / Runtime 配置
|
|
1597
|
-
session_id: str | None = None,
|
|
1598
|
-
session_store: "AgentSessionStore | None" = None,
|
|
1599
|
-
loader: "ToolRuntimeLoader | None" = None,
|
|
1600
|
-
prompt_handler: Any | None = None,
|
|
1601
|
-
permission_resolver: Any | None = None,
|
|
1602
|
-
# Graph / Runtime 基础配置
|
|
1603
1458
|
state_schema: type[AgentState[ResponseT]] | None = None,
|
|
1604
1459
|
context_schema: type[ContextT] | None = None,
|
|
1605
|
-
debug: bool = False,
|
|
1606
|
-
name: str | None = None,
|
|
1607
|
-
# LangChain AgentX 特有参数
|
|
1608
|
-
max_steps: int | None = None,
|
|
1609
|
-
max_turns: int | None = None,
|
|
1610
|
-
is_subagent: bool = False,
|
|
1611
|
-
subagent_type: str | None = None,
|
|
1612
|
-
container_type: str | None = None,
|
|
1613
|
-
# Observability
|
|
1614
|
-
enable_trace: bool = True,
|
|
1615
|
-
trace_collector: TraceCollector | None = None,
|
|
1616
|
-
parent_run_id: str | None = None,
|
|
1617
|
-
parent_tool_call_id: str | None = None,
|
|
1618
|
-
parent_conversation_session_id: str | None = None,
|
|
1619
|
-
trace_visibility: str | None = None,
|
|
1620
|
-
# Task Runtime / Provider
|
|
1621
|
-
task_runtime: TaskRuntime | None = None,
|
|
1622
|
-
task_notification_max_priority: QueuePriority = QueuePriority.NEXT,
|
|
1623
|
-
queued_command_providers: Sequence[QueuedCommandProvider] = (),
|
|
1624
|
-
managed_rules: str | None = None,
|
|
1625
|
-
active_files_getter: "Callable[[], list[str]] | None" = None,
|
|
1626
|
-
workspace_root: str | Path | None = None,
|
|
1627
|
-
read_roots: list[str | Path] | None = None,
|
|
1628
|
-
write_roots: list[str | Path] | None = None,
|
|
1629
|
-
agent_home: str = ".langchain_agentx",
|
|
1630
|
-
workspace_trust_accepted: bool | None = None,
|
|
1631
|
-
hooks: "HookRegistry | None" = None,
|
|
1632
|
-
enable_session_memory: bool = False,
|
|
1633
|
-
capabilities: "RuntimeCapabilities | None" = None,
|
|
1634
|
-
enable_git_snapshot: bool | None = None,
|
|
1635
|
-
include_default_session_context: bool = True,
|
|
1636
|
-
enable_dynamic_root_grant: bool = False,
|
|
1637
|
-
headless: bool | None = None,
|
|
1638
1460
|
) -> CompiledStateGraph[
|
|
1639
1461
|
AgentState[ResponseT], ContextT, _InputAgentState, _OutputAgentState[ResponseT]
|
|
1640
1462
|
]:
|
|
1641
1463
|
"""创建 LangChain AgentX agent loop。
|
|
1642
1464
|
|
|
1643
|
-
Phase
|
|
1644
|
-
- 新调用方式:config=AgentLoopConfig(...), services=LoopServices(...)
|
|
1645
|
-
- 旧调用方式:保持 44 kwargs 兼容(静默,无 warning)
|
|
1465
|
+
Phase 3 终态:config-first 模式为唯一入口。
|
|
1646
1466
|
|
|
1647
1467
|
Args:
|
|
1648
1468
|
model: 模型 id 字符串或 BaseChatModel 实例。
|
|
1649
1469
|
可与 config.model 协调(双源规则见 _resolve_model_conflict)。
|
|
1650
1470
|
config: AgentLoopConfig 数据控制面。未填用全默认。
|
|
1651
|
-
services: LoopServices
|
|
1652
|
-
|
|
1471
|
+
services: LoopServices 资源控制面。未填用全默认。
|
|
1472
|
+
state_schema: 可选的自定义状态 schema。
|
|
1473
|
+
context_schema: 可选的自定义上下文 schema。
|
|
1653
1474
|
|
|
1654
1475
|
Returns:
|
|
1655
1476
|
CompiledStateGraph: 编译后的 agent 图。
|
|
1656
1477
|
"""
|
|
1657
|
-
#
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
for v in [
|
|
1661
|
-
system_prompt,
|
|
1662
|
-
override_system_prompt,
|
|
1663
|
-
append_system_prompt,
|
|
1664
|
-
response_format,
|
|
1665
|
-
fallback_model,
|
|
1666
|
-
session_id,
|
|
1667
|
-
session_store,
|
|
1668
|
-
loader,
|
|
1669
|
-
prompt_handler,
|
|
1670
|
-
permission_resolver,
|
|
1671
|
-
debug,
|
|
1672
|
-
name,
|
|
1673
|
-
max_steps,
|
|
1674
|
-
max_turns,
|
|
1675
|
-
is_subagent,
|
|
1676
|
-
subagent_type,
|
|
1677
|
-
container_type,
|
|
1678
|
-
enable_trace,
|
|
1679
|
-
trace_collector,
|
|
1680
|
-
parent_run_id,
|
|
1681
|
-
parent_tool_call_id,
|
|
1682
|
-
parent_conversation_session_id,
|
|
1683
|
-
trace_visibility,
|
|
1684
|
-
task_runtime,
|
|
1685
|
-
managed_rules,
|
|
1686
|
-
active_files_getter,
|
|
1687
|
-
workspace_root,
|
|
1688
|
-
read_roots,
|
|
1689
|
-
write_roots,
|
|
1690
|
-
workspace_trust_accepted,
|
|
1691
|
-
hooks,
|
|
1692
|
-
enable_session_memory,
|
|
1693
|
-
capabilities,
|
|
1694
|
-
enable_git_snapshot,
|
|
1695
|
-
include_default_session_context,
|
|
1696
|
-
enable_dynamic_root_grant,
|
|
1697
|
-
headless,
|
|
1698
|
-
]
|
|
1699
|
-
) or dynamic_sections or queued_command_providers or task_notification_max_priority != "NEXT"
|
|
1700
|
-
|
|
1701
|
-
if has_legacy_kwargs:
|
|
1702
|
-
# Phase 1:使用 legacy kwargs 转换函数
|
|
1703
|
-
cfg, svcs, st_schema, ctx_schema = _legacy_kwargs_to_config_services(
|
|
1704
|
-
model,
|
|
1705
|
-
system_prompt=system_prompt,
|
|
1706
|
-
override_system_prompt=override_system_prompt,
|
|
1707
|
-
append_system_prompt=append_system_prompt,
|
|
1708
|
-
dynamic_sections=dynamic_sections,
|
|
1709
|
-
response_format=response_format,
|
|
1710
|
-
fallback_model=fallback_model,
|
|
1711
|
-
enable_tool_call_degradation_fix=enable_tool_call_degradation_fix,
|
|
1712
|
-
session_id=session_id,
|
|
1713
|
-
session_store=session_store,
|
|
1714
|
-
loader=loader,
|
|
1715
|
-
prompt_handler=prompt_handler,
|
|
1716
|
-
permission_resolver=permission_resolver,
|
|
1717
|
-
state_schema=state_schema,
|
|
1718
|
-
context_schema=context_schema,
|
|
1719
|
-
debug=debug,
|
|
1720
|
-
name=name,
|
|
1721
|
-
max_steps=max_steps,
|
|
1722
|
-
max_turns=max_turns,
|
|
1723
|
-
is_subagent=is_subagent,
|
|
1724
|
-
subagent_type=subagent_type,
|
|
1725
|
-
container_type=container_type,
|
|
1726
|
-
enable_trace=enable_trace,
|
|
1727
|
-
trace_collector=trace_collector,
|
|
1728
|
-
parent_run_id=parent_run_id,
|
|
1729
|
-
parent_tool_call_id=parent_tool_call_id,
|
|
1730
|
-
parent_conversation_session_id=parent_conversation_session_id,
|
|
1731
|
-
trace_visibility=trace_visibility,
|
|
1732
|
-
task_runtime=task_runtime,
|
|
1733
|
-
task_notification_max_priority=task_notification_max_priority,
|
|
1734
|
-
queued_command_providers=queued_command_providers,
|
|
1735
|
-
managed_rules=managed_rules,
|
|
1736
|
-
active_files_getter=active_files_getter,
|
|
1737
|
-
workspace_root=workspace_root,
|
|
1738
|
-
read_roots=read_roots,
|
|
1739
|
-
write_roots=write_roots,
|
|
1740
|
-
agent_home=agent_home,
|
|
1741
|
-
workspace_trust_accepted=workspace_trust_accepted,
|
|
1742
|
-
raw_hooks=hooks,
|
|
1743
|
-
enable_session_memory=enable_session_memory,
|
|
1744
|
-
capabilities=capabilities,
|
|
1745
|
-
enable_git_snapshot=enable_git_snapshot,
|
|
1746
|
-
include_default_session_context=include_default_session_context,
|
|
1747
|
-
enable_dynamic_root_grant=enable_dynamic_root_grant,
|
|
1748
|
-
headless=headless,
|
|
1749
|
-
)
|
|
1750
|
-
# 使用显式 state_schema/context_schema(如果有)
|
|
1751
|
-
if state_schema is not None:
|
|
1752
|
-
st_schema = state_schema
|
|
1753
|
-
if context_schema is not None:
|
|
1754
|
-
ctx_schema = context_schema
|
|
1755
|
-
else:
|
|
1756
|
-
# Phase 1:使用新的 config + services
|
|
1757
|
-
cfg = config if config is not None else AgentLoopConfig()
|
|
1758
|
-
svcs = services if services is not None else LoopServices()
|
|
1759
|
-
st_schema = state_schema
|
|
1760
|
-
ctx_schema = context_schema
|
|
1478
|
+
# 使用 config + services(未填时用默认值)
|
|
1479
|
+
cfg = config if config is not None else AgentLoopConfig()
|
|
1480
|
+
svcs = services if services is not None else LoopServices()
|
|
1761
1481
|
|
|
1762
1482
|
# model 双源协调
|
|
1763
1483
|
resolved_model = _resolve_model_conflict(model, cfg.model)
|
|
@@ -1773,13 +1493,13 @@ def create_loop_agent(
|
|
|
1773
1493
|
builder = LoopGraphBuilder(
|
|
1774
1494
|
config=cfg,
|
|
1775
1495
|
services=svcs,
|
|
1776
|
-
state_schema=
|
|
1777
|
-
context_schema=
|
|
1496
|
+
state_schema=state_schema,
|
|
1497
|
+
context_schema=context_schema,
|
|
1778
1498
|
)
|
|
1779
1499
|
tool_node = builder._build_tool_node()
|
|
1780
1500
|
model_node = builder._build_model_nodes(tool_node)
|
|
1781
1501
|
state_schemas: set[type] = set()
|
|
1782
|
-
base_state =
|
|
1502
|
+
base_state = state_schema if state_schema is not None else AgentState
|
|
1783
1503
|
state_schemas.add(base_state)
|
|
1784
1504
|
state_schemas.add(LoopAgentStateFields)
|
|
1785
1505
|
resolved_state_schema = _resolve_schema(state_schemas, "StateSchema", None)
|
|
@@ -15,8 +15,14 @@ from pathlib import Path
|
|
|
15
15
|
from typing import TYPE_CHECKING, Any
|
|
16
16
|
|
|
17
17
|
from langchain_agentx.workspace import resolve_agent_workspace_config
|
|
18
|
+
from langchain_agentx.loop.config.loop_config import (
|
|
19
|
+
AgentLoopConfig,
|
|
20
|
+
WorkspaceConfig,
|
|
21
|
+
TraceConfig,
|
|
22
|
+
SubagentLinkage,
|
|
23
|
+
)
|
|
18
24
|
|
|
19
|
-
from .context import
|
|
25
|
+
from .context import SubagentContextOverrides
|
|
20
26
|
|
|
21
27
|
if TYPE_CHECKING:
|
|
22
28
|
from langchain_agentx.tool_runtime.models import ToolExecutionContext
|
|
@@ -91,17 +97,24 @@ class RuntimeContextFactory:
|
|
|
91
97
|
else getattr(parent_ctx, "cwd", None)
|
|
92
98
|
)
|
|
93
99
|
|
|
100
|
+
# 构建嵌套子结构 (Phase 3: 新的 frozen AgentLoopConfig)
|
|
94
101
|
return AgentLoopConfig(
|
|
95
102
|
model=resolved_model,
|
|
96
103
|
session_id=getattr(parent_ctx, "session_id", "") or "",
|
|
97
104
|
agent_id=agent_id,
|
|
98
|
-
parent_agent_id=getattr(parent_ctx, "agent_id", None),
|
|
99
105
|
agent_depth=(parent_ctx.agent_depth or 0) + 1,
|
|
100
106
|
max_steps=resolved_max_steps,
|
|
101
|
-
available_tools=resolved_tools,
|
|
102
107
|
permission_mode=resolved_permission,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
108
|
+
# 注意: available_tools 在新 config 中不是字段,由 _flatten_config_for_runtime 注入
|
|
109
|
+
workspace=WorkspaceConfig(
|
|
110
|
+
workspace_root=workspace_cfg.workspace_root,
|
|
111
|
+
agent_home=workspace_cfg.agent_home,
|
|
112
|
+
),
|
|
113
|
+
trace=TraceConfig(
|
|
114
|
+
enabled=bool(getattr(parent_ctx, "trace_enabled", True)),
|
|
115
|
+
),
|
|
116
|
+
subagent=SubagentLinkage(
|
|
117
|
+
is_subagent=True,
|
|
118
|
+
parent_agent_id=getattr(parent_ctx, "agent_id", None),
|
|
119
|
+
),
|
|
107
120
|
)
|