langchain-agentx-python 0.2.8__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {langchain-agentx-python-0.2.8/langchain_agentx_python.egg-info → langchain-agentx-python-0.3.0}/PKG-INFO +1 -1
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/__init__.py +2 -1
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/agent_config.py +19 -1
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/graph/factory.py +18 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/prompt/__init__.py +17 -2
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/prompt/builtin.py +4 -13
- langchain-agentx-python-0.3.0/langchain_agentx/loop/prompt/session_context.py +182 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/agent_session.py +6 -2
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0/langchain_agentx_python.egg-info}/PKG-INFO +1 -1
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx_python.egg-info/SOURCES.txt +1 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/pyproject.toml +1 -1
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/LICENSE +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/README.md +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/builtin/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/builtin/clear.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/builtin/compact.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/builtin/memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/context.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/dispatcher.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/registry.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/result.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/config/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/config/model_profiles.yaml +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/config/model_profiles.yaml.example +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/agent_loop_config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/runtime_settings.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/config/token_estimator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/blocking_guard.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/compaction_service.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/message_utils.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/pipeline.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/settings.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/collapse.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/noop.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/snip.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/context/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/exit/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/exit/exit_logic.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/exit/reason_codes.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/graph/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/graph/graph_edges.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/engine.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/executors/agent.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/executors/command.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/executors/http.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/registry.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/trust.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/injection/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/injection/dedup.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/loop_abort.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/model_node.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/model_nodes.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/retrier.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/retry_bridge.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/retry_events.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/retry_policy.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/schema_and_format.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/prompt/builder.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/prompt/compact.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/prompt/sections.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/runtime/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/runtime/context.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/runtime/context_factory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/async_runner.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/context.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/graph.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/orchestrator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/progress.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/runner.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/subagent/transcript.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/resolver.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/sections.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/instruction/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/age.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/extractor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/paths.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/recall.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/scan.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/memdir/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/session/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/session/compact_bridge.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/session/prompts.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/memory/session/session_memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/service.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/state.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/evaluation/store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/events/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/logging/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/logging/debug_burst.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/logging/logging_config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/logging/logging_contract.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/replay/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/replay/cli.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/replay/service.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/replay/store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/replay/ui.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/collector.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/event_emitter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/trace_callback.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/builtin.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/manifest.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/registries.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/plugin/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/anthropic.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/env.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/model_profile.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/provider/openai.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/conversation_factory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/conversation_recovery.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/conversation_session.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/factory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/session/protocol.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/core/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/core/ids.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/core/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/output/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/output/sink.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/store/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/adapter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/errors.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/permission_context.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/pipeline.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/policy.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/registry.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/session_store.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/general.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/registry/config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/registry/registry.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/scope.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/agent/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/ast_security.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/mode_validation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/observability.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/output_utils.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/path_security.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/result_presenter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/security.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/sed_validation.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/semantics.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/session_manager.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/session_runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/shell_locator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/task_runtime.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/batch_tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/diff_generator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/quote_match.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/settings_validator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/staleness.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/edit/validator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/pagination.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/glob/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/grep/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/read/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/policy.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/skill/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/hooks.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_create/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_get/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_get/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_get/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_get/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_list/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_list/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_list/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_list/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_update/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_update/hooks.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_update/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_update/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/task_update/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/attachments.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/user_message/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/summary.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/webfetch/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/events.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/loader.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/websearch/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/backend.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/limits.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/models.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/prompt.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/tool.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/tools/write/validator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/cwd.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/host_platform.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/path_hierarchy.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/path_user_input.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/rg_executable.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/subprocess_text.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/temp_paths.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/unc_path.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/utils/win_reserved_paths.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/base.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/batch.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/dag.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/event_adapter/types.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/node.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/chaining.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/patterns/routing.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workflow/state.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/__init__.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/capabilities.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/config.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/resolver.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/workspace/validators.py +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx_python.egg-info/requires.txt +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx_python.egg-info/top_level.txt +0 -0
- {langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/setup.cfg +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .agent_config import build_agent_config
|
|
1
|
+
from .agent_config import build_agent_config, merge_run_config
|
|
2
2
|
from .agent_loop_config import AgentLoopConfig
|
|
3
3
|
from .model_context_resolver import ModelContextResolver
|
|
4
4
|
from .token_estimator import TokenEstimator
|
|
@@ -13,6 +13,7 @@ __all__ = [
|
|
|
13
13
|
"ModelContextResolver",
|
|
14
14
|
"TokenEstimator",
|
|
15
15
|
"build_agent_config",
|
|
16
|
+
"merge_run_config",
|
|
16
17
|
"compute_recursion_limit",
|
|
17
18
|
"materialize_max_steps",
|
|
18
19
|
"resolve_max_steps",
|
|
@@ -14,6 +14,24 @@ from __future__ import annotations
|
|
|
14
14
|
from typing import Any
|
|
15
15
|
|
|
16
16
|
|
|
17
|
+
def merge_run_config(
|
|
18
|
+
graph: Any,
|
|
19
|
+
caller: dict[str, Any] | None = None,
|
|
20
|
+
) -> dict[str, Any]:
|
|
21
|
+
"""合并 graph 绑定的 recursion_limit 与调用方 config。
|
|
22
|
+
|
|
23
|
+
与 ``create_loop_agent(max_steps=...)`` 经 ``compute_recursion_limit`` 写入 graph 的上限对齐;
|
|
24
|
+
``caller`` 中的同名字段可覆盖。
|
|
25
|
+
"""
|
|
26
|
+
bound_raw = getattr(graph, "config", None)
|
|
27
|
+
bound: dict[str, Any] = bound_raw if isinstance(bound_raw, dict) else {}
|
|
28
|
+
limit = bound.get("recursion_limit", 9_999)
|
|
29
|
+
merged = build_agent_config(recursion_limit=limit)
|
|
30
|
+
if caller:
|
|
31
|
+
merged.update(caller)
|
|
32
|
+
return merged
|
|
33
|
+
|
|
34
|
+
|
|
17
35
|
def build_agent_config(
|
|
18
36
|
*,
|
|
19
37
|
recursion_limit: int = 9_999,
|
|
@@ -60,7 +78,7 @@ def build_agent_config(
|
|
|
60
78
|
return config
|
|
61
79
|
|
|
62
80
|
|
|
63
|
-
__all__ = ["build_agent_config"]
|
|
81
|
+
__all__ = ["build_agent_config", "merge_run_config"]
|
|
64
82
|
|
|
65
83
|
|
|
66
84
|
|
|
@@ -98,6 +98,7 @@ from ...memory.session import (
|
|
|
98
98
|
make_session_memory_section,
|
|
99
99
|
)
|
|
100
100
|
from ..prompt import SystemPromptSection, build_effective_system_prompt
|
|
101
|
+
from ..prompt.session_context import get_default_session_context_sections
|
|
101
102
|
from ...tools.agent.prompt import build_explore_plan_guidance
|
|
102
103
|
from ..config import AgentLoopConfig, ModelContextResolver
|
|
103
104
|
from ..config.runtime_settings import compute_recursion_limit
|
|
@@ -191,6 +192,8 @@ class LoopGraphBuilder:
|
|
|
191
192
|
raw_hooks: "HookRegistry | None" = None,
|
|
192
193
|
enable_session_memory: bool = False,
|
|
193
194
|
capabilities: "RuntimeCapabilities | None" = None,
|
|
195
|
+
enable_git_snapshot: bool | None = None,
|
|
196
|
+
include_default_session_context: bool = True,
|
|
194
197
|
) -> None:
|
|
195
198
|
self._raw_model = model
|
|
196
199
|
self._raw_system_prompt = system_prompt
|
|
@@ -230,6 +233,8 @@ class LoopGraphBuilder:
|
|
|
230
233
|
self._raw_hooks = raw_hooks
|
|
231
234
|
self._raw_enable_session_memory = enable_session_memory
|
|
232
235
|
self._raw_capabilities = capabilities
|
|
236
|
+
self._raw_enable_git_snapshot = enable_git_snapshot
|
|
237
|
+
self._raw_include_default_session_context = include_default_session_context
|
|
233
238
|
|
|
234
239
|
self._prepared = False
|
|
235
240
|
|
|
@@ -272,6 +277,15 @@ class LoopGraphBuilder:
|
|
|
272
277
|
extraction_state=self._session_memory_manager.extraction_state,
|
|
273
278
|
)
|
|
274
279
|
self._dynamic_sections.append(make_session_memory_section(session_memory_path))
|
|
280
|
+
if self._raw_include_default_session_context:
|
|
281
|
+
self._dynamic_sections.extend(
|
|
282
|
+
get_default_session_context_sections(
|
|
283
|
+
self._workspace_cfg,
|
|
284
|
+
container_type=self._raw_container_type,
|
|
285
|
+
is_subagent=self._raw_is_subagent,
|
|
286
|
+
enable_git_snapshot=self._raw_enable_git_snapshot,
|
|
287
|
+
)
|
|
288
|
+
)
|
|
275
289
|
self._dynamic_sections.extend(
|
|
276
290
|
InstructionMemoryBootstrap(
|
|
277
291
|
workspace_root=Path(self._workspace_root),
|
|
@@ -1369,6 +1383,8 @@ def create_loop_agent(
|
|
|
1369
1383
|
hooks: "HookRegistry | None" = None,
|
|
1370
1384
|
enable_session_memory: bool = False,
|
|
1371
1385
|
capabilities: "RuntimeCapabilities | None" = None,
|
|
1386
|
+
enable_git_snapshot: bool | None = None,
|
|
1387
|
+
include_default_session_context: bool = True,
|
|
1372
1388
|
) -> CompiledStateGraph[
|
|
1373
1389
|
AgentState[ResponseT], ContextT, _InputAgentState, _OutputAgentState[ResponseT]
|
|
1374
1390
|
]:
|
|
@@ -1413,6 +1429,8 @@ def create_loop_agent(
|
|
|
1413
1429
|
raw_hooks=hooks,
|
|
1414
1430
|
enable_session_memory=enable_session_memory,
|
|
1415
1431
|
capabilities=capabilities,
|
|
1432
|
+
enable_git_snapshot=enable_git_snapshot,
|
|
1433
|
+
include_default_session_context=include_default_session_context,
|
|
1416
1434
|
)
|
|
1417
1435
|
tool_node = builder._build_tool_node()
|
|
1418
1436
|
model_node = builder._build_model_nodes(tool_node)
|
|
@@ -15,9 +15,12 @@
|
|
|
15
15
|
build_effective_system_prompt() — 优先级链构建器
|
|
16
16
|
|
|
17
17
|
# 内置 section 工厂
|
|
18
|
-
env_section()
|
|
18
|
+
env_section(workspace_cfg) — 环境信息(workspace_root / OS / Python)
|
|
19
|
+
date_section() — 当前日期(session 级,对齐 CC currentDate)
|
|
20
|
+
get_default_session_context_sections() — create_loop_agent 默认注入组合
|
|
21
|
+
git_snapshot_section(workspace_root) — Git 启动快照(可选)
|
|
19
22
|
language_section() — 语言偏好
|
|
20
|
-
time_section() — 当前时间(volatile
|
|
23
|
+
time_section() — 当前时间(volatile,非默认)
|
|
21
24
|
token_budget_section() — Token 预算提示
|
|
22
25
|
git_safety_section() — Git 安全红线(禁止 force-push 等危险操作)
|
|
23
26
|
tool_routing_guard_section() — 专用工具优先(系统级冗余强化)
|
|
@@ -49,6 +52,13 @@ from .builtin import (
|
|
|
49
52
|
tool_routing_guard_section,
|
|
50
53
|
tools_summary_section,
|
|
51
54
|
)
|
|
55
|
+
from .session_context import (
|
|
56
|
+
date_section,
|
|
57
|
+
get_default_session_context_sections,
|
|
58
|
+
git_snapshot_section,
|
|
59
|
+
local_iso_date,
|
|
60
|
+
resolve_enable_git_snapshot,
|
|
61
|
+
)
|
|
52
62
|
from .compact import (
|
|
53
63
|
AutocompactLlmPromptKind,
|
|
54
64
|
PartialCompactDirection,
|
|
@@ -74,8 +84,13 @@ __all__ = [
|
|
|
74
84
|
"build_effective_system_prompt",
|
|
75
85
|
# 内置 section 工厂
|
|
76
86
|
"actions_safety_section",
|
|
87
|
+
"date_section",
|
|
77
88
|
"env_section",
|
|
78
89
|
"failure_diagnosis_section",
|
|
90
|
+
"get_default_session_context_sections",
|
|
91
|
+
"git_snapshot_section",
|
|
92
|
+
"local_iso_date",
|
|
93
|
+
"resolve_enable_git_snapshot",
|
|
79
94
|
"get_coding_sections",
|
|
80
95
|
"git_safety_section",
|
|
81
96
|
"language_section",
|
|
@@ -21,23 +21,14 @@ if TYPE_CHECKING:
|
|
|
21
21
|
from typing import Any
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
def env_section() -> SystemPromptSection:
|
|
24
|
+
def env_section(workspace_cfg: Any) -> SystemPromptSection:
|
|
25
25
|
"""环境信息 section(session 级缓存)。
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
工作目录取自 ``AgentWorkspaceConfig.workspace_root``(见 ``session_context.env_section``)。
|
|
28
28
|
"""
|
|
29
|
+
from .session_context import env_section as _env_section
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
import os
|
|
32
|
-
|
|
33
|
-
return f"""# Environment
|
|
34
|
-
You have been invoked in the following environment:
|
|
35
|
-
- Platform: {platform.system().lower()}
|
|
36
|
-
- OS Version: {platform.platform()}
|
|
37
|
-
- Python: {platform.python_version()}
|
|
38
|
-
- Working Directory: {os.getcwd()}"""
|
|
39
|
-
|
|
40
|
-
return section(name="env_info", compute=compute)
|
|
31
|
+
return _env_section(workspace_cfg)
|
|
41
32
|
|
|
42
33
|
|
|
43
34
|
def language_section(lang: str = "en") -> SystemPromptSection:
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"""session_context.py — 会话级默认上下文 SystemPromptSection(date / env / git 快照)。
|
|
2
|
+
|
|
3
|
+
职责:
|
|
4
|
+
为 create_loop_agent 提供与 CC 对齐的默认 session 上下文段;工作目录取自 AgentWorkspaceConfig。
|
|
5
|
+
|
|
6
|
+
链路位置:
|
|
7
|
+
LoopGraphBuilder._prepare_compile_context → get_default_session_context_sections()。
|
|
8
|
+
|
|
9
|
+
当前裁剪范围:
|
|
10
|
+
git 快照为可选(默认关);子代理不注入 git 段。
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
import os
|
|
16
|
+
import platform
|
|
17
|
+
import subprocess
|
|
18
|
+
from datetime import date
|
|
19
|
+
from pathlib import Path
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
|
+
|
|
22
|
+
from .sections import SystemPromptSection, section
|
|
23
|
+
|
|
24
|
+
if TYPE_CHECKING:
|
|
25
|
+
from langchain_agentx.workspace import AgentWorkspaceConfig
|
|
26
|
+
|
|
27
|
+
_GIT_STATUS_MAX_CHARS = 2000
|
|
28
|
+
_ENABLE_GIT_SNAPSHOT_ENV = "LANGCHAIN_AGENTX_ENABLE_GIT_SNAPSHOT"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def local_iso_date() -> str:
|
|
32
|
+
"""本地时区 ISO 日期(YYYY-MM-DD),对齐 CC getLocalISODate。"""
|
|
33
|
+
override = os.environ.get("LANGCHAIN_AGENTX_OVERRIDE_DATE")
|
|
34
|
+
if override:
|
|
35
|
+
return override.strip()
|
|
36
|
+
return date.today().isoformat()
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def resolve_enable_git_snapshot(explicit: bool | None = None) -> bool:
|
|
40
|
+
if explicit is not None:
|
|
41
|
+
return bool(explicit)
|
|
42
|
+
return os.environ.get(_ENABLE_GIT_SNAPSHOT_ENV, "").strip().lower() in {
|
|
43
|
+
"1",
|
|
44
|
+
"true",
|
|
45
|
+
"yes",
|
|
46
|
+
"on",
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def date_section() -> SystemPromptSection:
|
|
51
|
+
"""当前日期(session 级缓存,对齐 CC currentDate 文案)。"""
|
|
52
|
+
|
|
53
|
+
def compute() -> str:
|
|
54
|
+
return f"Today's date is {local_iso_date()}."
|
|
55
|
+
|
|
56
|
+
return section(name="session_date", compute=compute)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def env_section(workspace_cfg: AgentWorkspaceConfig) -> SystemPromptSection:
|
|
60
|
+
"""环境信息(session 级缓存);工作目录使用 workspace_cfg.workspace_root。"""
|
|
61
|
+
|
|
62
|
+
working_dir = str(Path(workspace_cfg.workspace_root).resolve())
|
|
63
|
+
is_git = _is_git_repository(Path(workspace_cfg.workspace_root))
|
|
64
|
+
|
|
65
|
+
def compute() -> str:
|
|
66
|
+
return (
|
|
67
|
+
"# Environment\n"
|
|
68
|
+
"You have been invoked in the following environment:\n"
|
|
69
|
+
f" - Primary working directory: {working_dir}\n"
|
|
70
|
+
f" - Is a git repository: {'Yes' if is_git else 'No'}\n"
|
|
71
|
+
f" - Platform: {platform.system().lower()}\n"
|
|
72
|
+
f" - OS Version: {platform.platform()}\n"
|
|
73
|
+
f" - Python: {platform.python_version()}"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
return section(name="env_info", compute=compute)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def git_snapshot_section(workspace_root: Path) -> SystemPromptSection:
|
|
80
|
+
"""Git 仓库启动快照(session 级缓存,对齐 CC getGitStatus)。"""
|
|
81
|
+
|
|
82
|
+
root = workspace_root.resolve()
|
|
83
|
+
|
|
84
|
+
def compute() -> str | None:
|
|
85
|
+
return collect_git_snapshot_text(root)
|
|
86
|
+
|
|
87
|
+
return section(name="git_snapshot", compute=compute)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def get_default_session_context_sections(
|
|
91
|
+
workspace_cfg: AgentWorkspaceConfig,
|
|
92
|
+
*,
|
|
93
|
+
container_type: str | None = None,
|
|
94
|
+
is_subagent: bool = False,
|
|
95
|
+
enable_git_snapshot: bool | None = None,
|
|
96
|
+
) -> list[SystemPromptSection]:
|
|
97
|
+
"""按容器类型装配默认 session 上下文段(Loop 层单一装配入口)。"""
|
|
98
|
+
del container_type # 预留:后续可按 workflow_task / sdk 等细分策略
|
|
99
|
+
sections: list[SystemPromptSection] = [
|
|
100
|
+
date_section(),
|
|
101
|
+
env_section(workspace_cfg),
|
|
102
|
+
]
|
|
103
|
+
if not is_subagent and resolve_enable_git_snapshot(enable_git_snapshot):
|
|
104
|
+
sections.append(git_snapshot_section(Path(workspace_cfg.workspace_root)))
|
|
105
|
+
return sections
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def collect_git_snapshot_text(workspace_root: Path) -> str | None:
|
|
109
|
+
"""收集 git 快照文本;非 git 仓库或命令失败时返回 None。"""
|
|
110
|
+
root = workspace_root.resolve()
|
|
111
|
+
if not _is_git_repository(root):
|
|
112
|
+
return None
|
|
113
|
+
branch = _git_output(["rev-parse", "--abbrev-ref", "HEAD"], root) or "unknown"
|
|
114
|
+
main_branch = _resolve_default_branch(root)
|
|
115
|
+
status = _git_output(["--no-optional-locks", "status", "--short"], root) or ""
|
|
116
|
+
log = _git_output(["--no-optional-locks", "log", "--oneline", "-n", "5"], root) or ""
|
|
117
|
+
user_name = _git_output(["config", "user.name"], root)
|
|
118
|
+
|
|
119
|
+
truncated_status = status
|
|
120
|
+
if len(status) > _GIT_STATUS_MAX_CHARS:
|
|
121
|
+
truncated_status = (
|
|
122
|
+
status[:_GIT_STATUS_MAX_CHARS]
|
|
123
|
+
+ '\n... (truncated because it exceeds 2k characters. If you need more '
|
|
124
|
+
'information, run "git status" using BashTool)'
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
lines = [
|
|
128
|
+
"This is the git status at the start of the conversation. Note that this status "
|
|
129
|
+
"is a snapshot in time, and will not update during the conversation.",
|
|
130
|
+
f"Current branch: {branch}",
|
|
131
|
+
f"Main branch (you will usually use this for PRs): {main_branch}",
|
|
132
|
+
]
|
|
133
|
+
if user_name:
|
|
134
|
+
lines.append(f"Git user: {user_name}")
|
|
135
|
+
lines.append(f"Status:\n{truncated_status or '(clean)'}")
|
|
136
|
+
lines.append(f"Recent commits:\n{log}")
|
|
137
|
+
return "\n\n".join(lines)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def _is_git_repository(workspace_root: Path) -> bool:
|
|
141
|
+
return (workspace_root / ".git").exists()
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def _resolve_default_branch(workspace_root: Path) -> str:
|
|
145
|
+
origin_head = _git_output(["symbolic-ref", "refs/remotes/origin/HEAD"], workspace_root)
|
|
146
|
+
if origin_head:
|
|
147
|
+
prefix = "refs/remotes/origin/"
|
|
148
|
+
if origin_head.startswith(prefix):
|
|
149
|
+
return origin_head[len(prefix) :]
|
|
150
|
+
return origin_head
|
|
151
|
+
for candidate in ("main", "master"):
|
|
152
|
+
if _git_output(["rev-parse", "--verify", f"refs/heads/{candidate}"], workspace_root):
|
|
153
|
+
return candidate
|
|
154
|
+
return "main"
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def _git_output(args: list[str], cwd: Path) -> str | None:
|
|
158
|
+
try:
|
|
159
|
+
completed = subprocess.run(
|
|
160
|
+
["git", *args],
|
|
161
|
+
cwd=cwd,
|
|
162
|
+
capture_output=True,
|
|
163
|
+
text=True,
|
|
164
|
+
timeout=30,
|
|
165
|
+
check=False,
|
|
166
|
+
)
|
|
167
|
+
except (OSError, subprocess.TimeoutExpired):
|
|
168
|
+
return None
|
|
169
|
+
if completed.returncode != 0:
|
|
170
|
+
return None
|
|
171
|
+
return completed.stdout.strip() or None
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
__all__ = [
|
|
175
|
+
"collect_git_snapshot_text",
|
|
176
|
+
"date_section",
|
|
177
|
+
"env_section",
|
|
178
|
+
"get_default_session_context_sections",
|
|
179
|
+
"git_snapshot_section",
|
|
180
|
+
"local_iso_date",
|
|
181
|
+
"resolve_enable_git_snapshot",
|
|
182
|
+
]
|
|
@@ -29,6 +29,7 @@ from ..command.builtin import (
|
|
|
29
29
|
make_memory_command,
|
|
30
30
|
make_reload_plugins_command,
|
|
31
31
|
)
|
|
32
|
+
from ..loop.config import merge_run_config
|
|
32
33
|
from ..loop.context.compaction_service import default_loop_context_compaction
|
|
33
34
|
from ..loop.context.message_utils import total_estimated_tokens_for_messages
|
|
34
35
|
from ..loop.hook.types import HookContext, HookEvent
|
|
@@ -122,12 +123,14 @@ class AgentSession:
|
|
|
122
123
|
appended_message = HumanMessage(content=user_input)
|
|
123
124
|
self._messages.append(appended_message)
|
|
124
125
|
baseline_count = len(self._messages)
|
|
126
|
+
run_config = merge_run_config(self._graph, None)
|
|
125
127
|
try:
|
|
126
128
|
result = await self._graph.ainvoke(
|
|
127
129
|
{
|
|
128
130
|
"messages": list(self._messages),
|
|
129
131
|
"_session_id": self._session_id,
|
|
130
|
-
}
|
|
132
|
+
},
|
|
133
|
+
config=run_config,
|
|
131
134
|
)
|
|
132
135
|
except Exception:
|
|
133
136
|
# 回滚本轮 append,避免异常路径重复累积 user 消息。
|
|
@@ -162,13 +165,14 @@ class AgentSession:
|
|
|
162
165
|
self._messages.append(appended_message)
|
|
163
166
|
baseline_count = len(self._messages)
|
|
164
167
|
output_messages: list[Any] | None = None
|
|
168
|
+
run_config = merge_run_config(self._graph, config)
|
|
165
169
|
try:
|
|
166
170
|
async for event in self._graph.astream_events(
|
|
167
171
|
{
|
|
168
172
|
"messages": list(self._messages),
|
|
169
173
|
"_session_id": self._session_id,
|
|
170
174
|
},
|
|
171
|
-
config=
|
|
175
|
+
config=run_config,
|
|
172
176
|
version="v2",
|
|
173
177
|
):
|
|
174
178
|
if event.get("event") == "on_chain_end" and event.get("name") == "LangGraph":
|
|
@@ -78,6 +78,7 @@ langchain_agentx/loop/prompt/builder.py
|
|
|
78
78
|
langchain_agentx/loop/prompt/builtin.py
|
|
79
79
|
langchain_agentx/loop/prompt/compact.py
|
|
80
80
|
langchain_agentx/loop/prompt/sections.py
|
|
81
|
+
langchain_agentx/loop/prompt/session_context.py
|
|
81
82
|
langchain_agentx/loop/runtime/__init__.py
|
|
82
83
|
langchain_agentx/loop/runtime/context.py
|
|
83
84
|
langchain_agentx/loop/runtime/context_factory.py
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/__init__.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/context.py
RENAMED
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/registry.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/result.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/command/types.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/config.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/trust.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/hook/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.2.8 → langchain-agentx-python-0.3.0}/langchain_agentx/loop/loop_abort.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|