langchain-agentx-python 1.1.7__tar.gz → 1.1.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.
- {langchain-agentx-python-1.1.7/langchain_agentx_python.egg-info → langchain-agentx-python-1.1.8}/PKG-INFO +1 -1
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/__init__.py +1 -1
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/__init__.py +2 -0
- langchain-agentx-python-1.1.8/langchain_agentx/loop/config/loop_runtime_overlay.py +66 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/agent_session.py +5 -3
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/conversation_factory.py +32 -48
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/conversation_session.py +17 -12
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/factory.py +28 -57
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/base.py +0 -1
- langchain-agentx-python-1.1.8/langchain_agentx/workflow/runtime.py +93 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8/langchain_agentx_python.egg-info}/PKG-INFO +1 -1
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx_python.egg-info/SOURCES.txt +1 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/pyproject.toml +1 -1
- langchain-agentx-python-1.1.7/langchain_agentx/workflow/runtime.py +0 -112
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/LICENSE +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/README.md +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/allowed_tools.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/clear.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/commit.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/commit_push_pr.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/compact.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/git_prompt_common.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/dispatcher.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/fork_executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/git_settings.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/prompt_shell.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/result.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/command/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/config/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/config/model_profiles.yaml +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/config/model_profiles.yaml.example +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/health/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/health/checks.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/health/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/health/preflight.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/benchmark_frozen_config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/agent_config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/interaction_profile.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/loop_config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/runtime_settings.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/token_estimator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/config/tool_execution_engine_resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/blocking_guard.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/compaction_service.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/message_utils.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/pipeline.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/query_source.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/recovery_mode.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/settings.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/base.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/collapse.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/noop.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/snip.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/context/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/exit_logic.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/query_source.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/reason_codes.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/resolution.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/terminal.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/exit/withheld_error.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/factory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/graph_edges.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/reactive_compact_node.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/graph/runtime_tools_node.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/engine.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/executors/agent.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/executors/command.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/executors/http.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/hook_projection.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/progress_payload.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/trust.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/hook/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/injection/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/injection/dedup.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/loop_abort.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/model_node.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/model_nodes.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/retrier.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/retry_bridge.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/retry_events.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/retry_policy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/retry_progress.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/schema_and_format.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/builder.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/builtin.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/compact.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/sections.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/session_context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/session_guidance.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/static_system_prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/tool_aware_sections.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/prompt/using_your_tools.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/runtime/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/runtime/context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/runtime/context_factory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/graph_driver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/helpers.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/loop_driver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/result.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/synthetic_events.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/stream/transcript_gate.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/async_runner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/fork_boilerplate.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/fork_ports.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/forked_runner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/graph.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/orchestrator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/progress.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/runner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/subagent_termination_classifier.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/loop/subagent/transcript.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/exclusion.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/external_includes.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/sections.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/instruction/worktree_skip.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/_deprecated/agent_memory/agent_memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/age.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/attachments.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/cursor_store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/entrypoint_context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/extractor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/fork_concurrency.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/gate.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/memory_saved.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/metrics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/prefetch.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/prompts/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/prompts/_shared.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/prompts/select_memories.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/recall.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/recall_service.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/scan.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/side_query.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/tool_scope.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/memdir/written_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/migrate_layout.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/compact_bridge.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/extractor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/prompts.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/session_memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/memory/session/tool_scope.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/service.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/state.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/evaluation/store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/events/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/events/finish_event_payload_composer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/events/finish_outcome.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/events/tool_call_id_resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/logging/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/logging/debug_burst.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/logging/logging_config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/logging/logging_contract.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/replay/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/replay/cli.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/replay/service.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/replay/store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/replay/ui.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/collector.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/event_emitter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/trace_callback.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/builtin.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/manifest.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/registries.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/plugin/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/anthropic.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/env.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/model_profile.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/openai.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/answer_assembler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/contracts.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/anthropic.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/anthropic_codec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/anthropic_finish_reason.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/anthropic_interpreter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/anthropic_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/compatible_openai.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/compatible_openai_codec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/compatible_openai_finish_reason.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/compatible_openai_interpreter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/compatible_openai_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/openai.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/openai_codec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/openai_finish_reason.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/openai_interpreter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/families/openai_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/finish_reason_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/message_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/profile.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/request_codec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/stream_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/tool_call_interpreter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/provider/semantics/turn_accumulator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/conversation_recovery.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/protocol.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/recovery.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/core/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/core/ids.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/core/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/output/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/output/sink.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/store/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/store/file_store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/config_home_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/notifier.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/reader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/allowlist.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/classifier.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/parser.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/schema.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/classifier/transcript.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/config_update.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/decision.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/events.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/factory.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/feedback.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/hook.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/rule_stripping.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/auto_mode/state.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/base.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/capabilities.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/errors.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/auto_approved.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/effort_override.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/model_override.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/set_cwd.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/appliers/stubs.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/callback_bridge.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/engine.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/message_adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/parity.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/payload_validator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/planner.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/policy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/side_effect_collector.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/execution/side_effect_merge.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/failure_event_emitter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/loop_loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/loop_runtime_context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/messages.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/override.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/path_safety.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/permission_context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/permission_decision.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/permission_snapshot.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/pipeline.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/policy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/policy_decorator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/process_loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/progress/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/progress/event.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/progress/sampler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/_abort.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/cli_interactive.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/handler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/headless.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/messages.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/race.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/session_mode.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/prompt_context.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/read_ignore_patterns.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/read_permission.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/session_hints.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/session_store.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/shell_error.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/tool_message_status.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tool_runtime/tool_schema_cache.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/general.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/memory_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/memory_prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/memory_snapshot.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/prompt_scope.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/registry/config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/registry/registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/scope.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/agent/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/ast_security.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/auto_mode_adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/boundary_check.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/command_allow_rules.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/events.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/mode_validation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/observability.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/output_tracker.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/output_utils.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/path_security.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/result_presenter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/security.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/sed_validation.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/semantics.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/shell_locator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/shell_quoting.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/task_runtime.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/diff_generator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/quote_match.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/settings_validator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/staleness.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/edit/validator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/pagination.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/glob/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/grep/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/read/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/fork.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/policy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/skill/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/hooks.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_create/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_get/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_get/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_get/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_get/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_list/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_list/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_list/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_list/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_update/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_update/hooks.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_update/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_update/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/task_update/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/summary.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/webfetch/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/events.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/loader.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/websearch/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/backend.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/limits.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/models.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/prompt.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/tool.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/tools/write/validator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/agent_settings.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/claude_temp_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/cwd.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/git_roots.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/git_settings.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/host_platform.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/path.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/path_hierarchy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/path_user_input.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/rg_executable.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/subprocess_text.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/temp_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/tool_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/tool_result_storage.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/unc_path.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/win_reserved_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/utils/windows_paths.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/batch.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/dag.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/event_adapter/types.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/memory_drain_registry.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/memory_session_policy.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/node.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/chaining.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/patterns/routing.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/state.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/__init__.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/boundary.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/capabilities.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/config.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/errors.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/grant.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/l3_root_grant.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/project_key.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/project_memory_layout.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/resolver.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/root_grant_manager.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/tool_boundary.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/validators.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workspace/view.py +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx_python.egg-info/requires.txt +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx_python.egg-info/top_level.txt +0 -0
- {langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/setup.cfg +0 -0
|
@@ -13,6 +13,7 @@ from .interaction_profile import (
|
|
|
13
13
|
normalize_config,
|
|
14
14
|
sanity_check_profile,
|
|
15
15
|
)
|
|
16
|
+
from .loop_runtime_overlay import LoopRuntimeOverlay
|
|
16
17
|
from .model_context_resolver import ModelContextResolver
|
|
17
18
|
from .token_estimator import TokenEstimator
|
|
18
19
|
from .runtime_settings import (
|
|
@@ -32,6 +33,7 @@ __all__ = [
|
|
|
32
33
|
"assemble_services",
|
|
33
34
|
"normalize_config",
|
|
34
35
|
"sanity_check_profile",
|
|
36
|
+
"LoopRuntimeOverlay",
|
|
35
37
|
"ModelContextResolver",
|
|
36
38
|
"TokenEstimator",
|
|
37
39
|
"build_agent_config",
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""
|
|
2
|
+
loop_runtime_overlay.py — L4 graph_factory 运行期 overlay(IF-G6)
|
|
3
|
+
|
|
4
|
+
职责:
|
|
5
|
+
统一三 L4 工厂 graph_factory 的可变字段;禁止 overlay permission / container 剖面。
|
|
6
|
+
|
|
7
|
+
链路位置:
|
|
8
|
+
create_agent_session / create_conversation_session / make_workflow_graph_factory
|
|
9
|
+
→ graph_factory(overlay) → apply_to(AgentLoopConfig) → create_loop_agent
|
|
10
|
+
|
|
11
|
+
当前裁剪范围:
|
|
12
|
+
仅 session_id、trace 父链、subagent 标记、capabilities、enable_trace;不含 container_type。
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from dataclasses import dataclass, replace
|
|
18
|
+
from typing import Any, Callable
|
|
19
|
+
|
|
20
|
+
from langchain_agentx.loop.config.loop_config import AgentLoopConfig
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dataclass(frozen=True)
|
|
24
|
+
class LoopRuntimeOverlay:
|
|
25
|
+
"""运行期 overlay:per-invoke 字段,不含 permission / container_type。"""
|
|
26
|
+
|
|
27
|
+
session_id: str | None = None
|
|
28
|
+
enable_trace: bool | None = None
|
|
29
|
+
capabilities: Any = None
|
|
30
|
+
parent_conversation_session_id: str | None = None
|
|
31
|
+
is_subagent: bool | None = None
|
|
32
|
+
|
|
33
|
+
def apply_to(self, base: AgentLoopConfig) -> AgentLoopConfig:
|
|
34
|
+
"""把 overlay 合并到静态 config(不触碰 container_type / permission_mode)。"""
|
|
35
|
+
cfg = base
|
|
36
|
+
if self.session_id is not None:
|
|
37
|
+
cfg = replace(cfg, session_id=self.session_id)
|
|
38
|
+
|
|
39
|
+
trace = cfg.trace
|
|
40
|
+
trace_changed = False
|
|
41
|
+
if self.enable_trace is not None:
|
|
42
|
+
trace = replace(trace, enabled=self.enable_trace)
|
|
43
|
+
trace_changed = True
|
|
44
|
+
if self.parent_conversation_session_id is not None:
|
|
45
|
+
trace = replace(trace, parent_conversation_session_id=self.parent_conversation_session_id)
|
|
46
|
+
trace_changed = True
|
|
47
|
+
if trace_changed:
|
|
48
|
+
cfg = replace(cfg, trace=trace)
|
|
49
|
+
|
|
50
|
+
if self.is_subagent is not None:
|
|
51
|
+
cfg = replace(
|
|
52
|
+
cfg,
|
|
53
|
+
subagent=replace(cfg.subagent, is_subagent=self.is_subagent),
|
|
54
|
+
)
|
|
55
|
+
return cfg
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
ConversationGraphFactory = Callable[[LoopRuntimeOverlay], Any]
|
|
59
|
+
AgentGraphFactory = Callable[..., Any]
|
|
60
|
+
"""AgentSession:``(overlay, *, active_files_getter=...)``。"""
|
|
61
|
+
|
|
62
|
+
__all__ = [
|
|
63
|
+
"LoopRuntimeOverlay",
|
|
64
|
+
"ConversationGraphFactory",
|
|
65
|
+
"AgentGraphFactory",
|
|
66
|
+
]
|
|
@@ -44,6 +44,7 @@ from .recovery import (
|
|
|
44
44
|
finish_outcome_from_stream_driver_result,
|
|
45
45
|
run_with_recovery_loop,
|
|
46
46
|
)
|
|
47
|
+
from ..loop.config.loop_runtime_overlay import LoopRuntimeOverlay
|
|
47
48
|
from ..loop.context.compaction_service import default_loop_context_compaction
|
|
48
49
|
from ..loop.context.message_utils import total_estimated_tokens_for_messages
|
|
49
50
|
from ..loop.hook.types import HookContext, HookEvent
|
|
@@ -455,10 +456,11 @@ class AgentSession:
|
|
|
455
456
|
raise RuntimeError("AgentSession requires either graph or graph_factory")
|
|
456
457
|
getter = lambda: list(self._active_files)
|
|
457
458
|
return self._graph_factory(
|
|
459
|
+
LoopRuntimeOverlay(
|
|
460
|
+
enable_trace=self._enable_trace,
|
|
461
|
+
capabilities=self._capabilities,
|
|
462
|
+
),
|
|
458
463
|
active_files_getter=getter,
|
|
459
|
-
container_type=self._container_type,
|
|
460
|
-
enable_trace=self._enable_trace,
|
|
461
|
-
capabilities=self._capabilities,
|
|
462
464
|
)
|
|
463
465
|
|
|
464
466
|
def _append_transcript_message(self, message: Any) -> None:
|
|
@@ -8,8 +8,7 @@ session/conversation_factory.py — ConversationSession 入口工厂。
|
|
|
8
8
|
作为 Web/IM 对话场景创建 ConversationSession 的便捷入口。
|
|
9
9
|
|
|
10
10
|
当前裁剪范围:
|
|
11
|
-
|
|
12
|
-
Phase 3.5:移除 translator,全面 config-first。
|
|
11
|
+
强制 qa-auto 剖面(conversation + auto + headless);不含 HTTP 框架集成。
|
|
13
12
|
"""
|
|
14
13
|
|
|
15
14
|
from __future__ import annotations
|
|
@@ -23,7 +22,9 @@ from uuid import uuid4
|
|
|
23
22
|
from langchain_core.messages import BaseMessage
|
|
24
23
|
from langchain_core.language_models.chat_models import BaseChatModel
|
|
25
24
|
|
|
25
|
+
from langchain_agentx.loop.config.interaction_profile import normalize_config
|
|
26
26
|
from langchain_agentx.loop.config.loop_config import AgentLoopConfig, LoopServices
|
|
27
|
+
from langchain_agentx.loop.config.loop_runtime_overlay import LoopRuntimeOverlay
|
|
27
28
|
from langchain_agentx.loop.graph.factory import create_loop_agent
|
|
28
29
|
from langchain_agentx.loop.hook import HookEngine, HooksConfigSnapshot, HookRegistry, WorkspaceTrustChecker
|
|
29
30
|
from langchain_agentx.workspace import resolve_agent_state_config
|
|
@@ -35,39 +36,23 @@ def create_conversation_session(
|
|
|
35
36
|
*,
|
|
36
37
|
config: AgentLoopConfig | None = None,
|
|
37
38
|
services: LoopServices | None = None,
|
|
38
|
-
# —— 仅 session 级编排,与 loop 无关 ——
|
|
39
39
|
conversation_id: str | None = None,
|
|
40
|
-
workspace_trust_prompter: Any | None = None,
|
|
40
|
+
workspace_trust_prompter: Any | None = None,
|
|
41
41
|
hook_engine: Any | None = None,
|
|
42
42
|
initial_messages: list[BaseMessage] | None = None,
|
|
43
43
|
) -> ConversationSession:
|
|
44
|
-
"""创建 config-first 风格的 ConversationSession
|
|
45
|
-
|
|
46
|
-
Args:
|
|
47
|
-
model: 模型
|
|
48
|
-
config: AgentLoopConfig 配置,为 None 时使用默认值
|
|
49
|
-
services: LoopServices 服务,为 None 时使用默认值
|
|
50
|
-
conversation_id: 会话 ID,为 None 时自动生成
|
|
51
|
-
workspace_trust_prompter: workspace 信任确认回调(Web/IM 场景可选)
|
|
52
|
-
hook_engine: 显式注入的 HookEngine,为 None 时从 services.hooks 推导
|
|
53
|
-
initial_messages: 初始消息列表
|
|
54
|
-
|
|
55
|
-
Returns:
|
|
56
|
-
配置好的 ConversationSession
|
|
57
|
-
"""
|
|
58
|
-
cfg = config or AgentLoopConfig()
|
|
44
|
+
"""创建 config-first 风格的 ConversationSession(qa-auto L4 入口)。"""
|
|
45
|
+
cfg = _ensure_qa_auto_config(config or AgentLoopConfig())
|
|
59
46
|
svcs = services or LoopServices()
|
|
60
47
|
|
|
61
|
-
# 解析 AgentWorkspaceConfig
|
|
62
48
|
agent_workspace_cfg = resolve_agent_state_config(
|
|
63
49
|
workspace_root=cfg.workspace.workspace_root,
|
|
64
50
|
agent_home_segment=cfg.workspace.agent_home_segment,
|
|
65
51
|
)
|
|
66
52
|
|
|
67
|
-
# session 级默认值推断
|
|
68
53
|
cfg = _resolve_session_defaults(cfg, agent_workspace_cfg)
|
|
54
|
+
cfg = normalize_config(cfg)
|
|
69
55
|
|
|
70
|
-
# P2: workspace trust 处理(与 AgentSession 保持一致)
|
|
71
56
|
workspace_trust_accepted = _resolve_workspace_trust_accepted(
|
|
72
57
|
agent_workspace_cfg,
|
|
73
58
|
workspace_trust_prompter,
|
|
@@ -75,30 +60,24 @@ def create_conversation_session(
|
|
|
75
60
|
agent_workspace_cfg = replace(agent_workspace_cfg, workspace_trust_accepted=workspace_trust_accepted)
|
|
76
61
|
cfg = replace(cfg, workspace=replace(cfg.workspace, workspace_trust_accepted=workspace_trust_accepted))
|
|
77
62
|
|
|
78
|
-
# conversation_id 推断
|
|
79
63
|
resolved_id = conversation_id or f"conv-{uuid4().hex}"
|
|
80
64
|
|
|
81
|
-
# hook_engine 装配
|
|
82
65
|
if hook_engine is None:
|
|
83
66
|
snapshot = svcs.hooks.build_snapshot() if svcs.hooks is not None else HooksConfigSnapshot()
|
|
84
67
|
hook_engine = HookEngine(
|
|
85
68
|
snapshot,
|
|
86
69
|
trust_checker=WorkspaceTrustChecker(
|
|
87
|
-
headless=
|
|
70
|
+
headless=True,
|
|
88
71
|
workspace_trust_accepted=workspace_trust_accepted,
|
|
89
72
|
),
|
|
90
73
|
)
|
|
91
74
|
|
|
92
|
-
def _graph_factory(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
# P0: 合并 runtime 注入的 session_id/container_type 到 cfg
|
|
99
|
-
runtime_cfg = replace(cfg, session_id=session_id, container_type=container_type)
|
|
100
|
-
# 合并 services 里的运行时注入(与 AgentSession 保持一致)
|
|
101
|
-
final_svcs = replace(svcs, capabilities=capabilities)
|
|
75
|
+
def _graph_factory(overlay: LoopRuntimeOverlay) -> Any:
|
|
76
|
+
runtime_cfg = overlay.apply_to(cfg)
|
|
77
|
+
final_svcs = replace(
|
|
78
|
+
svcs,
|
|
79
|
+
capabilities=overlay.capabilities if overlay.capabilities is not None else svcs.capabilities,
|
|
80
|
+
)
|
|
102
81
|
return create_loop_agent(model, config=runtime_cfg, services=final_svcs)
|
|
103
82
|
|
|
104
83
|
return ConversationSession(
|
|
@@ -111,31 +90,38 @@ def create_conversation_session(
|
|
|
111
90
|
)
|
|
112
91
|
|
|
113
92
|
|
|
93
|
+
def _ensure_qa_auto_config(config: AgentLoopConfig) -> AgentLoopConfig:
|
|
94
|
+
"""IF-G2:Conversation 工厂强制 qa-auto 三元组静态种子。"""
|
|
95
|
+
raw = config.container_type or "conversation"
|
|
96
|
+
if raw not in ("conversation", None, ""):
|
|
97
|
+
raise ValueError(
|
|
98
|
+
f"create_conversation_session requires container_type='conversation', got {raw!r}"
|
|
99
|
+
)
|
|
100
|
+
mode = config.permission_mode
|
|
101
|
+
return replace(
|
|
102
|
+
config,
|
|
103
|
+
container_type="conversation",
|
|
104
|
+
permission_mode=mode,
|
|
105
|
+
headless=True,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
|
|
114
109
|
def _resolve_session_defaults(
|
|
115
110
|
config: AgentLoopConfig,
|
|
116
111
|
agent_workspace_cfg: Any,
|
|
117
112
|
) -> AgentLoopConfig:
|
|
118
|
-
"""解析 session 级默认值。
|
|
119
|
-
|
|
120
|
-
仅做三件真正属于 session 层的事:
|
|
121
|
-
1. workspace.workspace_root 未提供时使用 AgentWorkspaceConfig 的值
|
|
122
|
-
2. conversation_session_id 推断
|
|
123
|
-
3. session_id 推断(作为 graph_factory 的默认值,会被 runtime 覆盖)
|
|
124
|
-
"""
|
|
113
|
+
"""解析 conversation session 级默认值。"""
|
|
125
114
|
changes = {}
|
|
126
115
|
|
|
127
|
-
# workspace_root 推断
|
|
128
116
|
if config.workspace.workspace_root is None:
|
|
129
117
|
changes["workspace"] = replace(
|
|
130
118
|
config.workspace,
|
|
131
119
|
workspace_root=agent_workspace_cfg.workspace_root,
|
|
132
120
|
)
|
|
133
121
|
|
|
134
|
-
# conversation_session_id 推断
|
|
135
122
|
if config.conversation_session_id is None:
|
|
136
123
|
changes["conversation_session_id"] = f"conv-{uuid4().hex}"
|
|
137
124
|
|
|
138
|
-
# session_id 推断(作为默认值,会被 runtime 覆盖)
|
|
139
125
|
if config.session_id is None:
|
|
140
126
|
changes["session_id"] = f"conv-{uuid4().hex}"
|
|
141
127
|
|
|
@@ -146,7 +132,7 @@ def _resolve_workspace_trust_accepted(
|
|
|
146
132
|
agent_workspace_cfg: Any,
|
|
147
133
|
workspace_trust_prompter: Any | None,
|
|
148
134
|
) -> bool:
|
|
149
|
-
"""解析 workspace trust
|
|
135
|
+
"""解析 workspace trust 状态。"""
|
|
150
136
|
persisted = _read_workspace_trust_flag(agent_workspace_cfg)
|
|
151
137
|
if persisted:
|
|
152
138
|
return True
|
|
@@ -161,7 +147,6 @@ def _resolve_workspace_trust_accepted(
|
|
|
161
147
|
|
|
162
148
|
|
|
163
149
|
def _read_workspace_trust_flag(agent_workspace_cfg: Any) -> bool:
|
|
164
|
-
"""读取持久化的 workspace trust 标志。"""
|
|
165
150
|
path = agent_workspace_cfg.workspace_config_path
|
|
166
151
|
if not path.exists():
|
|
167
152
|
return False
|
|
@@ -173,7 +158,6 @@ def _read_workspace_trust_flag(agent_workspace_cfg: Any) -> bool:
|
|
|
173
158
|
|
|
174
159
|
|
|
175
160
|
def _write_workspace_trust_flag(agent_workspace_cfg: Any, *, accepted: bool) -> None:
|
|
176
|
-
"""持久化 workspace trust 标志。"""
|
|
177
161
|
path = agent_workspace_cfg.workspace_config_path
|
|
178
162
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
179
163
|
payload = {"workspace_trust_accepted": bool(accepted)}
|
|
@@ -34,6 +34,7 @@ from ..command.builtin import (
|
|
|
34
34
|
make_memory_command,
|
|
35
35
|
make_reload_plugins_command,
|
|
36
36
|
)
|
|
37
|
+
from ..loop.config.loop_runtime_overlay import LoopRuntimeOverlay
|
|
37
38
|
from ..loop.context.compaction_service import default_loop_context_compaction
|
|
38
39
|
from ..loop.context.message_utils import total_estimated_tokens_for_messages
|
|
39
40
|
from ..loop.hook.types import HookContext, HookEvent
|
|
@@ -113,9 +114,10 @@ class ConversationSession:
|
|
|
113
114
|
appended_message = HumanMessage(content=user_input)
|
|
114
115
|
self._messages.append(appended_message)
|
|
115
116
|
graph = self._graph_factory(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
LoopRuntimeOverlay(
|
|
118
|
+
session_id=self._conversation_id,
|
|
119
|
+
capabilities=self._capabilities,
|
|
120
|
+
),
|
|
119
121
|
)
|
|
120
122
|
try:
|
|
121
123
|
result = await graph.ainvoke(
|
|
@@ -147,9 +149,10 @@ class ConversationSession:
|
|
|
147
149
|
from ..command.fork_executor import run_forked_slash_command
|
|
148
150
|
|
|
149
151
|
graph = self._graph_factory(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
LoopRuntimeOverlay(
|
|
153
|
+
session_id=self._conversation_id,
|
|
154
|
+
capabilities=self._capabilities,
|
|
155
|
+
),
|
|
153
156
|
)
|
|
154
157
|
output = await asyncio.to_thread(
|
|
155
158
|
run_forked_slash_command,
|
|
@@ -162,9 +165,10 @@ class ConversationSession:
|
|
|
162
165
|
return {"command_result": result, "output": output}
|
|
163
166
|
|
|
164
167
|
graph = self._graph_factory(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
+
LoopRuntimeOverlay(
|
|
169
|
+
session_id=self._conversation_id,
|
|
170
|
+
capabilities=self._capabilities,
|
|
171
|
+
),
|
|
168
172
|
)
|
|
169
173
|
store = session_store_from_graph(graph)
|
|
170
174
|
prompt = result.injected_prompt or user_input
|
|
@@ -209,9 +213,10 @@ class ConversationSession:
|
|
|
209
213
|
appended_message = HumanMessage(content=user_input)
|
|
210
214
|
self._messages.append(appended_message)
|
|
211
215
|
graph = self._graph_factory(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
LoopRuntimeOverlay(
|
|
217
|
+
session_id=self._conversation_id,
|
|
218
|
+
capabilities=self._capabilities,
|
|
219
|
+
),
|
|
215
220
|
)
|
|
216
221
|
output_messages: list[Any] | None = None
|
|
217
222
|
graph_output: dict[str, Any] | None = None
|
{langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/session/factory.py
RENAMED
|
@@ -8,7 +8,7 @@ session/factory.py — AgentSession 入口工厂。
|
|
|
8
8
|
作为上层应用(CLI/示例)创建 AgentSession 的便捷入口,底层仍复用 create_loop_agent。
|
|
9
9
|
|
|
10
10
|
当前裁剪范围:
|
|
11
|
-
REPL
|
|
11
|
+
仅 code-interactive(container_type=interactive);REPL prompt_handler 由 CLI 写入 LoopServices。
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
14
|
from __future__ import annotations
|
|
@@ -21,7 +21,9 @@ from uuid import uuid4
|
|
|
21
21
|
|
|
22
22
|
from langchain_core.language_models.chat_models import BaseChatModel
|
|
23
23
|
|
|
24
|
+
from langchain_agentx.loop.config.interaction_profile import normalize_config
|
|
24
25
|
from langchain_agentx.loop.config.loop_config import AgentLoopConfig, LoopServices, AgentStateConfig
|
|
26
|
+
from langchain_agentx.loop.config.loop_runtime_overlay import LoopRuntimeOverlay
|
|
25
27
|
from langchain_agentx.loop.graph.factory import create_loop_agent
|
|
26
28
|
from langchain_agentx.loop.hook import HookEngine, HooksConfigSnapshot, HookRegistry, WorkspaceTrustChecker
|
|
27
29
|
from langchain_agentx.loop.subagent.transcript import SubagentTranscriptStore
|
|
@@ -39,68 +41,48 @@ def create_agent_session(
|
|
|
39
41
|
transcript_writer: SubagentTranscriptStore | None = None,
|
|
40
42
|
hook_engine: Any | None = None,
|
|
41
43
|
) -> AgentSession:
|
|
42
|
-
"""创建 config-first 风格的 AgentSession
|
|
43
|
-
|
|
44
|
-
Args:
|
|
45
|
-
model: 模型
|
|
46
|
-
config: AgentLoopConfig 配置,为 None 时使用默认值
|
|
47
|
-
services: LoopServices 服务;REPL 须含 prompt_handler(CLI 侧组装)
|
|
48
|
-
workspace_trust_prompter: workspace 信任确认回调
|
|
49
|
-
transcript_writer: 子代理 transcript 写入器
|
|
50
|
-
hook_engine: 显式注入的 HookEngine,为 None 时从 services.hooks 推导
|
|
51
|
-
|
|
52
|
-
Returns:
|
|
53
|
-
配置好的 AgentSession
|
|
54
|
-
"""
|
|
55
|
-
cfg = config or AgentLoopConfig()
|
|
44
|
+
"""创建 config-first 风格的 AgentSession(code-interactive L4 入口)。"""
|
|
45
|
+
cfg = _ensure_code_interactive_config(config or AgentLoopConfig())
|
|
56
46
|
svcs = services or LoopServices()
|
|
57
47
|
|
|
58
|
-
# 解析 AgentWorkspaceConfig(用于路径派生和 trust 持久化)
|
|
59
48
|
agent_workspace_cfg = resolve_agent_state_config(
|
|
60
49
|
workspace_root=cfg.workspace.workspace_root,
|
|
61
50
|
agent_home_segment=cfg.workspace.agent_home_segment,
|
|
62
51
|
)
|
|
63
52
|
|
|
64
|
-
# session 级默认值推断
|
|
65
53
|
cfg = _resolve_session_defaults(cfg, agent_workspace_cfg)
|
|
54
|
+
cfg = normalize_config(cfg)
|
|
66
55
|
|
|
67
|
-
# workspace trust 处理
|
|
68
56
|
workspace_trust_accepted = _resolve_workspace_trust_accepted(
|
|
69
57
|
agent_workspace_cfg,
|
|
70
58
|
workspace_trust_prompter,
|
|
71
59
|
)
|
|
72
60
|
agent_workspace_cfg = replace(agent_workspace_cfg, workspace_trust_accepted=workspace_trust_accepted)
|
|
73
|
-
|
|
74
|
-
# 同步 workspace_trust_accepted 到 config.workspace
|
|
75
61
|
cfg = replace(cfg, workspace=replace(cfg.workspace, workspace_trust_accepted=workspace_trust_accepted))
|
|
76
62
|
|
|
77
|
-
# hook_engine 装配
|
|
78
63
|
if hook_engine is None:
|
|
79
64
|
snapshot = svcs.hooks.build_snapshot() if svcs.hooks is not None else HooksConfigSnapshot()
|
|
80
65
|
hook_engine = HookEngine(
|
|
81
66
|
snapshot,
|
|
82
67
|
trust_checker=WorkspaceTrustChecker(
|
|
83
|
-
headless=cfg.headless
|
|
68
|
+
headless=bool(cfg.headless),
|
|
84
69
|
workspace_trust_accepted=workspace_trust_accepted,
|
|
85
70
|
),
|
|
86
71
|
)
|
|
87
72
|
|
|
88
|
-
# session_id(已由 _resolve_session_defaults 填充)
|
|
89
73
|
session_id = cfg.session_id
|
|
90
74
|
|
|
91
75
|
def _graph_factory(
|
|
76
|
+
overlay: LoopRuntimeOverlay,
|
|
77
|
+
*,
|
|
92
78
|
active_files_getter: Any = None,
|
|
93
|
-
capabilities: Any = None,
|
|
94
|
-
container_type: str | None = None,
|
|
95
|
-
enable_trace: bool | None = None,
|
|
96
|
-
**_ignored: Any,
|
|
97
79
|
):
|
|
98
|
-
runtime_cfg = cfg
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
80
|
+
runtime_cfg = overlay.apply_to(cfg)
|
|
81
|
+
final_svcs = replace(
|
|
82
|
+
svcs,
|
|
83
|
+
active_files_getter=active_files_getter,
|
|
84
|
+
capabilities=overlay.capabilities if overlay.capabilities is not None else svcs.capabilities,
|
|
85
|
+
)
|
|
104
86
|
return create_loop_agent(model, config=runtime_cfg, services=final_svcs)
|
|
105
87
|
|
|
106
88
|
return AgentSession(
|
|
@@ -110,53 +92,42 @@ def create_agent_session(
|
|
|
110
92
|
workspace_cfg=agent_workspace_cfg,
|
|
111
93
|
hook_engine=hook_engine,
|
|
112
94
|
transcript_writer=transcript_writer,
|
|
113
|
-
container_type=cfg.container_type
|
|
95
|
+
container_type=cfg.container_type,
|
|
114
96
|
enable_trace=cfg.trace.enabled,
|
|
115
97
|
capabilities=svcs.capabilities,
|
|
116
98
|
)
|
|
117
99
|
|
|
118
100
|
|
|
101
|
+
def _ensure_code_interactive_config(config: AgentLoopConfig) -> AgentLoopConfig:
|
|
102
|
+
"""IF-G7:AgentSession 仅服务 code-interactive;禁止 worker/qa 剖面混入。"""
|
|
103
|
+
raw = config.container_type or "interactive"
|
|
104
|
+
if raw != "interactive":
|
|
105
|
+
raise ValueError(
|
|
106
|
+
f"create_agent_session requires container_type='interactive' (code-interactive), "
|
|
107
|
+
f"got {raw!r}; use create_conversation_session or make_workflow_graph_factory"
|
|
108
|
+
)
|
|
109
|
+
return replace(config, container_type="interactive")
|
|
110
|
+
|
|
111
|
+
|
|
119
112
|
def _resolve_session_defaults(
|
|
120
113
|
config: AgentLoopConfig,
|
|
121
114
|
agent_workspace_cfg: Any,
|
|
122
115
|
) -> AgentLoopConfig:
|
|
123
|
-
"""解析 session
|
|
124
|
-
|
|
125
|
-
仅做三件真正属于 session 层的事:
|
|
126
|
-
1. session_id 未提供时生成
|
|
127
|
-
2. workspace.workspace_root 未提供时使用 AgentWorkspaceConfig 的值
|
|
128
|
-
3. headless 推断
|
|
129
|
-
"""
|
|
116
|
+
"""解析 session 级默认值(interactive 专用)。"""
|
|
130
117
|
changes = {}
|
|
131
118
|
|
|
132
|
-
# session_id 推断
|
|
133
119
|
if config.session_id is None:
|
|
134
120
|
changes["session_id"] = f"session-{uuid4().hex}"
|
|
135
121
|
|
|
136
|
-
# workspace_root 推断:如果 config.workspace.workspace_root 为 None,
|
|
137
|
-
# 使用 agent_workspace_cfg.workspace_root(已通过 resolve_agent_state_config 解析)
|
|
138
122
|
if config.workspace.workspace_root is None:
|
|
139
123
|
changes["workspace"] = replace(
|
|
140
124
|
config.workspace,
|
|
141
125
|
workspace_root=agent_workspace_cfg.workspace_root,
|
|
142
126
|
)
|
|
143
127
|
|
|
144
|
-
# headless 推断:worker 类强制 True;interactive 留 None 由 create_loop_agent 规范化
|
|
145
|
-
if config.headless is None:
|
|
146
|
-
inferred = _infer_headless(config.container_type or "interactive")
|
|
147
|
-
if inferred is not None:
|
|
148
|
-
changes["headless"] = inferred
|
|
149
|
-
|
|
150
128
|
return replace(config, **changes) if changes else config
|
|
151
129
|
|
|
152
130
|
|
|
153
|
-
def _infer_headless(container_type: str) -> bool | None:
|
|
154
|
-
"""根据 container_type 推断 headless;interactive 返回 None 交由 loop 入口规范化。"""
|
|
155
|
-
if container_type in {"background", "batch", "worker", "sdk"}:
|
|
156
|
-
return True
|
|
157
|
-
return None
|
|
158
|
-
|
|
159
|
-
|
|
160
131
|
def _resolve_workspace_trust_accepted(
|
|
161
132
|
agent_workspace_cfg: Any,
|
|
162
133
|
workspace_trust_prompter: Any | None,
|
{langchain-agentx-python-1.1.7 → langchain-agentx-python-1.1.8}/langchain_agentx/workflow/base.py
RENAMED
|
@@ -310,7 +310,6 @@ class BaseWorkflow(ABC):
|
|
|
310
310
|
session_id=f"{self._workflow_id}-{task_key}",
|
|
311
311
|
parent_conversation_session_id=parent_session_id,
|
|
312
312
|
is_subagent=parent_session_id is not None,
|
|
313
|
-
container_type=self.container_type,
|
|
314
313
|
)
|
|
315
314
|
async with self._semaphore:
|
|
316
315
|
graph = self._graph_factory(runtime)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"""workflow/runtime.py — Workflow graph_factory 契约定义
|
|
2
|
+
|
|
3
|
+
职责:
|
|
4
|
+
定义 WorkflowAgentRuntime 显式 dataclass,替代隐式 **kwargs 传递。
|
|
5
|
+
Workflow 在每次任务执行前注入 runtime 上下文,与 caller 的静态
|
|
6
|
+
AgentLoopConfig 合并产生本次任务的最终 config。
|
|
7
|
+
|
|
8
|
+
链路位置:
|
|
9
|
+
BaseWorkflow._invoke_agent → WorkflowAgentRuntime → graph_factory(runtime)
|
|
10
|
+
|
|
11
|
+
当前裁剪范围:
|
|
12
|
+
runtime overlay 不含 container_type / permission_mode(IF-G7);静态 config 经 qa-auto 校验。
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from dataclasses import dataclass, replace
|
|
18
|
+
from typing import Any, Callable
|
|
19
|
+
|
|
20
|
+
from langchain_core.language_models.chat_models import BaseChatModel
|
|
21
|
+
from langchain_core.runnables import Runnable
|
|
22
|
+
|
|
23
|
+
from langchain_agentx.loop.config.interaction_profile import normalize_config
|
|
24
|
+
from langchain_agentx.loop.config.loop_config import AgentLoopConfig, LoopServices
|
|
25
|
+
from langchain_agentx.loop.config.loop_runtime_overlay import LoopRuntimeOverlay
|
|
26
|
+
from langchain_agentx.loop.graph.factory import create_loop_agent
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass(frozen=True)
|
|
30
|
+
class WorkflowAgentRuntime:
|
|
31
|
+
"""Workflow 每次任务注入的运行时 overlay(不含 container_type)。"""
|
|
32
|
+
|
|
33
|
+
session_id: str
|
|
34
|
+
parent_conversation_session_id: str | None = None
|
|
35
|
+
is_subagent: bool = False
|
|
36
|
+
|
|
37
|
+
def to_overlay(self) -> LoopRuntimeOverlay:
|
|
38
|
+
return LoopRuntimeOverlay(
|
|
39
|
+
session_id=self.session_id,
|
|
40
|
+
parent_conversation_session_id=self.parent_conversation_session_id,
|
|
41
|
+
is_subagent=self.is_subagent,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
def apply_to(self, base: AgentLoopConfig) -> AgentLoopConfig:
|
|
45
|
+
return self.to_overlay().apply_to(base)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
CompiledStateGraph = Runnable[Any, Any]
|
|
49
|
+
WorkflowGraphFactory = Callable[[WorkflowAgentRuntime], CompiledStateGraph]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _ensure_workflow_auto_config(config: AgentLoopConfig) -> AgentLoopConfig:
|
|
53
|
+
"""IF-G5:Workflow 工厂静态 config 必须为 workflow-auto 剖面。"""
|
|
54
|
+
raw = config.container_type or "workflow_task"
|
|
55
|
+
if raw not in ("workflow_task", None, ""):
|
|
56
|
+
raise ValueError(
|
|
57
|
+
f"make_workflow_graph_factory requires container_type='workflow_task', got {raw!r}"
|
|
58
|
+
)
|
|
59
|
+
return replace(
|
|
60
|
+
config,
|
|
61
|
+
container_type="workflow_task",
|
|
62
|
+
headless=True if config.headless is None else config.headless,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def make_workflow_graph_factory(
|
|
67
|
+
model: str | BaseChatModel,
|
|
68
|
+
*,
|
|
69
|
+
config: AgentLoopConfig,
|
|
70
|
+
services: LoopServices | None = None,
|
|
71
|
+
) -> WorkflowGraphFactory:
|
|
72
|
+
"""生成 Workflow graph_factory;静态 config 经 workflow-auto 规范化。"""
|
|
73
|
+
if services is None:
|
|
74
|
+
services = LoopServices()
|
|
75
|
+
|
|
76
|
+
static_cfg = normalize_config(_ensure_workflow_auto_config(config))
|
|
77
|
+
|
|
78
|
+
def factory(runtime: WorkflowAgentRuntime) -> CompiledStateGraph:
|
|
79
|
+
return create_loop_agent(
|
|
80
|
+
model,
|
|
81
|
+
config=runtime.apply_to(static_cfg),
|
|
82
|
+
services=services,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
return factory
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
__all__ = [
|
|
89
|
+
"WorkflowAgentRuntime",
|
|
90
|
+
"WorkflowGraphFactory",
|
|
91
|
+
"CompiledStateGraph",
|
|
92
|
+
"make_workflow_graph_factory",
|
|
93
|
+
]
|
|
@@ -34,6 +34,7 @@ langchain_agentx/loop/config/__init__.py
|
|
|
34
34
|
langchain_agentx/loop/config/agent_config.py
|
|
35
35
|
langchain_agentx/loop/config/interaction_profile.py
|
|
36
36
|
langchain_agentx/loop/config/loop_config.py
|
|
37
|
+
langchain_agentx/loop/config/loop_runtime_overlay.py
|
|
37
38
|
langchain_agentx/loop/config/model_context_resolver.py
|
|
38
39
|
langchain_agentx/loop/config/runtime_settings.py
|
|
39
40
|
langchain_agentx/loop/config/token_estimator.py
|