langchain-agentx-python 0.1.9__tar.gz → 0.2.1__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.1.9/langchain_agentx_python.egg-info → langchain-agentx-python-0.2.1}/PKG-INFO +1 -1
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/adapter.py +14 -4
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/loader.py +13 -7
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/policy.py +37 -1
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/state_bridge.py +33 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/tool.py +15 -7
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1/langchain_agentx_python.egg-info}/PKG-INFO +1 -1
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/pyproject.toml +1 -1
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/LICENSE +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/README.md +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/builtin/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/builtin/clear.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/builtin/compact.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/builtin/memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/context.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/dispatcher.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/registry.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/result.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/config/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/agent_config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/agent_loop_config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/runtime_settings.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/config/token_estimator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/blocking_guard.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/compaction_service.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/message_utils.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/pipeline.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/settings.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/autocompact.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/collapse.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/noop.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/snip.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/context/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/exit/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/exit/exit_logic.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/exit/reason_codes.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/graph/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/graph/factory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/graph/graph_edges.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/engine.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/executors/agent.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/executors/command.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/executors/http.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/registry.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/trust.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/injection/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/injection/dedup.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/loop_abort.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/model_node.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/model_nodes.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/retrier.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/retry_bridge.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/retry_events.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/retry_policy.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/schema_and_format.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/prompt/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/prompt/builder.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/prompt/builtin.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/prompt/compact.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/prompt/sections.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/runtime/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/runtime/context.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/runtime/context_factory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/async_runner.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/context.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/graph.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/orchestrator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/progress.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/runner.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/subagent/transcript.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/resolver.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/sections.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/instruction/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/age.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/extractor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/paths.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/recall.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/scan.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/memdir/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/session/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/session/compact_bridge.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/session/prompts.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/session/session_memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/service.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/state.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/evaluation/store.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/events/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/logging/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/logging/debug_burst.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/logging/logging_config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/logging/logging_contract.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/replay/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/replay/cli.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/replay/service.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/replay/store.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/replay/ui.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/collector.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/event_emitter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/trace_callback.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/builtin.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/manifest.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/registries.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/plugin/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/anthropic.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/env.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/model_profile.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/provider/openai.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/agent_session.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/conversation_factory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/conversation_recovery.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/conversation_session.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/factory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/session/protocol.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/core/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/core/ids.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/core/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/output/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/output/sink.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/store/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/errors.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/permission_context.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/pipeline.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/registry.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/session_store.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/general.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/limits.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/registry/config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/registry/registry.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/scope.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/agent/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/ast_security.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/limits.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/mode_validation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/observability.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/output_utils.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/path_security.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/result_presenter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/security.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/sed_validation.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/semantics.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/session_manager.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/session_runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/shell_locator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/task_runtime.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/batch_tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/diff_generator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/limits.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/quote_match.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/settings_validator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/staleness.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/edit/validator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/pagination.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/glob/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/grep/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/limits.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/read/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/loader.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/policy.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/skill/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/attachments.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/user_message/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/backend.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/limits.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/models.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/prompt.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/tool.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/write/validator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/cwd.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/host_platform.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/path_hierarchy.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/path_user_input.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/rg_executable.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/subprocess_text.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/temp_paths.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/unc_path.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/utils/win_reserved_paths.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/base.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/batch.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/dag.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/event_adapter/types.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/node.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/chaining.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/patterns/routing.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workflow/state.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/__init__.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/capabilities.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/config.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/resolver.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/workspace/validators.py +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx_python.egg-info/SOURCES.txt +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx_python.egg-info/requires.txt +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx_python.egg-info/top_level.txt +0 -0
- {langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/setup.cfg +0 -0
|
@@ -94,10 +94,20 @@ class LangChainAdapter:
|
|
|
94
94
|
conversation_session_id = getattr(loop_config, "conversation_session_id", None) or session_id
|
|
95
95
|
workspace_root = getattr(loop_config, "workspace_root", None)
|
|
96
96
|
agent_home = getattr(loop_config, "agent_home", ".langchain_agentx")
|
|
97
|
-
# cwd
|
|
98
|
-
#
|
|
99
|
-
from langchain_agentx.utils.cwd import get_cwd
|
|
100
|
-
|
|
97
|
+
# cwd 优先级(v0.2.0):loop_config.cwd > state_bridge cwd > workspace_root > get_cwd()
|
|
98
|
+
# state_bridge cwd 由 BashRuntimeTool.set_cwd() 维护,支持 bash cd 后其他工具自动感知
|
|
99
|
+
from langchain_agentx.utils.cwd import get_cwd as _utils_get_cwd
|
|
100
|
+
from langchain_agentx.tool_runtime.state_bridge import ToolStateBridge
|
|
101
|
+
|
|
102
|
+
cwd = getattr(loop_config, "cwd", None)
|
|
103
|
+
if not cwd and isinstance(state, dict):
|
|
104
|
+
# 尝试从 state_bridge 读取存储的 cwd(bash cd 设置的)
|
|
105
|
+
bridge_cwd_key = ToolStateBridge.CWD_KEY
|
|
106
|
+
bridge_cwd = state.get(bridge_cwd_key)
|
|
107
|
+
if isinstance(bridge_cwd, str) and bridge_cwd:
|
|
108
|
+
cwd = bridge_cwd
|
|
109
|
+
if not cwd:
|
|
110
|
+
cwd = workspace_root or _utils_get_cwd()
|
|
101
111
|
trace_enabled = bool(getattr(loop_config, "trace_enabled", True))
|
|
102
112
|
|
|
103
113
|
_depth_from_loop = getattr(loop_config, "agent_depth", None)
|
|
@@ -103,6 +103,8 @@ class ToolRuntimeLoader:
|
|
|
103
103
|
注册默认工具集(Read/Grep/Glob/Bash + 可选 Agent/Skill)。
|
|
104
104
|
|
|
105
105
|
用于打通默认工具装配链路,避免每个调用方重复手写 register 序列。
|
|
106
|
+
|
|
107
|
+
v0.2.0 更新:自动创建共享 ToolStateBridge 并注入给需要 cwd 的工具。
|
|
106
108
|
"""
|
|
107
109
|
from pathlib import Path
|
|
108
110
|
|
|
@@ -118,16 +120,20 @@ class ToolRuntimeLoader:
|
|
|
118
120
|
from langchain_agentx.tool_runtime.state_bridge import ToolStateBridge
|
|
119
121
|
from langchain_agentx.workspace.config import AgentWorkspaceConfig
|
|
120
122
|
|
|
121
|
-
self.register(ReadRuntimeTool())
|
|
122
|
-
self.register(WriteRuntimeTool())
|
|
123
|
-
self.register(EditRuntimeTool())
|
|
124
|
-
self.register(BatchEditRuntimeTool())
|
|
125
|
-
default_tool_state_bridge = ToolStateBridge()
|
|
126
123
|
wr = Path(workspace_root).resolve()
|
|
127
124
|
cfg = AgentWorkspaceConfig(workspace_root=wr, agent_home=agent_home)
|
|
128
125
|
plugin_ex = PluginCacheGlobExclusions(
|
|
129
126
|
cache_root=str(cfg.plugin_cache_dir.resolve()),
|
|
130
127
|
)
|
|
128
|
+
|
|
129
|
+
# v0.2.0:创建共享 bridge,初始 cwd 为 workspace_root
|
|
130
|
+
# Bash cd 后,Read/Write/Edit 自动感知新路径;Glob 存储摘要到同一 state
|
|
131
|
+
shared_bridge = ToolStateBridge(initial_cwd=str(wr))
|
|
132
|
+
|
|
133
|
+
self.register(ReadRuntimeTool(state_bridge=shared_bridge))
|
|
134
|
+
self.register(WriteRuntimeTool(state_bridge=shared_bridge))
|
|
135
|
+
self.register(EditRuntimeTool(state_bridge=shared_bridge))
|
|
136
|
+
self.register(BatchEditRuntimeTool(state_bridge=shared_bridge))
|
|
131
137
|
self.register(
|
|
132
138
|
GrepRuntimeTool(
|
|
133
139
|
workspace_root=str(wr),
|
|
@@ -138,10 +144,10 @@ class ToolRuntimeLoader:
|
|
|
138
144
|
GlobRuntimeTool(
|
|
139
145
|
workspace_root=str(wr),
|
|
140
146
|
plugin_cache_glob_exclusions=plugin_ex,
|
|
141
|
-
state_bridge=
|
|
147
|
+
state_bridge=shared_bridge,
|
|
142
148
|
)
|
|
143
149
|
)
|
|
144
|
-
self.register(BashRuntimeTool())
|
|
150
|
+
self.register(BashRuntimeTool(state_bridge=shared_bridge))
|
|
145
151
|
self.register(UserMessageTool())
|
|
146
152
|
self.register(AskUserQuestionTool())
|
|
147
153
|
|
|
@@ -45,11 +45,14 @@ import fnmatch
|
|
|
45
45
|
import os
|
|
46
46
|
from abc import ABC, abstractmethod
|
|
47
47
|
from dataclasses import dataclass, field
|
|
48
|
-
from typing import Any
|
|
48
|
+
from typing import TYPE_CHECKING, Any
|
|
49
49
|
|
|
50
50
|
from .models import AuthorizationDecision, ToolExecutionContext
|
|
51
51
|
from .permission_context import get_active_auto_approved_tools
|
|
52
52
|
|
|
53
|
+
if TYPE_CHECKING:
|
|
54
|
+
from langchain_agentx.workspace.capabilities import RuntimeCapabilities
|
|
55
|
+
|
|
53
56
|
|
|
54
57
|
# ---------------------------------------------------------------------------
|
|
55
58
|
# ToolPolicyConfig
|
|
@@ -83,6 +86,39 @@ class ToolPolicyConfig:
|
|
|
83
86
|
read_only_mode: bool = False
|
|
84
87
|
enable_builtin_deny: bool = True
|
|
85
88
|
|
|
89
|
+
def with_infrastructure_paths(
|
|
90
|
+
self,
|
|
91
|
+
capabilities: "RuntimeCapabilities",
|
|
92
|
+
) -> "ToolPolicyConfig":
|
|
93
|
+
"""追加基础设施写路径(memory_dir、sessions_dir)到 read/write_roots。
|
|
94
|
+
|
|
95
|
+
用于 workflow 场景:节点 workspace_root 与全局 agent_home_dir 不同时,
|
|
96
|
+
agent 需要写 memory/session 文件,这些路径必须在 write_roots 内。
|
|
97
|
+
"""
|
|
98
|
+
home_dir = (capabilities.primary_workspace_root / capabilities.primary_agent_home).resolve()
|
|
99
|
+
defaults = capabilities.defaults
|
|
100
|
+
infra_paths = [
|
|
101
|
+
str(defaults.default_memory_dir or (home_dir / "memory")),
|
|
102
|
+
str(defaults.default_sessions_dir or (home_dir / "sessions")),
|
|
103
|
+
]
|
|
104
|
+
|
|
105
|
+
new_read = list(self.read_roots)
|
|
106
|
+
new_write = list(self.write_roots)
|
|
107
|
+
for p in infra_paths:
|
|
108
|
+
if p not in new_read:
|
|
109
|
+
new_read.append(p)
|
|
110
|
+
if p not in new_write:
|
|
111
|
+
new_write.append(p)
|
|
112
|
+
|
|
113
|
+
return ToolPolicyConfig(
|
|
114
|
+
read_roots=new_read,
|
|
115
|
+
write_roots=new_write,
|
|
116
|
+
deny_globs=self.deny_globs,
|
|
117
|
+
ask_globs=self.ask_globs,
|
|
118
|
+
read_only_mode=self.read_only_mode,
|
|
119
|
+
enable_builtin_deny=self.enable_builtin_deny,
|
|
120
|
+
)
|
|
121
|
+
|
|
86
122
|
|
|
87
123
|
# ---------------------------------------------------------------------------
|
|
88
124
|
# PolicyEngine 抽象基类
|
|
@@ -39,6 +39,7 @@ class ToolStateBridge:
|
|
|
39
39
|
last_read_map — 文件最近读取记录(为 read-before-write 规则服务)
|
|
40
40
|
tool_audit — 工具调用审计日志
|
|
41
41
|
last_glob_summary — 最近一次 Glob 摘要(仅路径样本,防 state 膨胀)
|
|
42
|
+
cwd — 当前工作目录(跨工具共享,bash cd 后 read/grep 自动感知)
|
|
42
43
|
|
|
43
44
|
不承担:
|
|
44
45
|
业务 workflow state
|
|
@@ -49,8 +50,17 @@ class ToolStateBridge:
|
|
|
49
50
|
LAST_READ_MAP_KEY = "_tool_last_read_map"
|
|
50
51
|
AUDIT_LOG_KEY = "_tool_audit_log"
|
|
51
52
|
LAST_GLOB_SUMMARY_KEY = "_tool_last_glob_summary"
|
|
53
|
+
CWD_KEY = "_tool_cwd"
|
|
52
54
|
MAX_GLOB_SAMPLE_PATHS = 32
|
|
53
55
|
|
|
56
|
+
def __init__(self, *, initial_cwd: str | None = None) -> None:
|
|
57
|
+
"""初始化状态 bridge。
|
|
58
|
+
|
|
59
|
+
Args:
|
|
60
|
+
initial_cwd: 初始工作目录。None 表示使用进程当前目录(os.getcwd())。
|
|
61
|
+
"""
|
|
62
|
+
self._initial_cwd = initial_cwd
|
|
63
|
+
|
|
54
64
|
# ---- last_read_map ----
|
|
55
65
|
|
|
56
66
|
def get_last_read_map(self, ctx: ToolExecutionContext) -> dict[str, Any]:
|
|
@@ -205,3 +215,26 @@ class ToolStateBridge:
|
|
|
205
215
|
def clear_last_glob_summary(self, ctx: ToolExecutionContext) -> None:
|
|
206
216
|
"""清除摘要(测试或显式重置会话工具态时使用)。"""
|
|
207
217
|
ctx.state.pop(self.LAST_GLOB_SUMMARY_KEY, None)
|
|
218
|
+
|
|
219
|
+
# ---- cwd(跨工具共享工作目录,v0.2.0 新增)----
|
|
220
|
+
|
|
221
|
+
def get_cwd(self, ctx: ToolExecutionContext) -> str:
|
|
222
|
+
"""获取当前工作目录。
|
|
223
|
+
|
|
224
|
+
优先级:
|
|
225
|
+
1. state 中已存储的 cwd(之前 cd 命令设置的)
|
|
226
|
+
2. initial_cwd(构造时传入)
|
|
227
|
+
3. os.getcwd()(进程当前目录)
|
|
228
|
+
"""
|
|
229
|
+
stored = ctx.state.get(self.CWD_KEY)
|
|
230
|
+
if isinstance(stored, str) and stored:
|
|
231
|
+
return stored
|
|
232
|
+
if self._initial_cwd:
|
|
233
|
+
return self._initial_cwd
|
|
234
|
+
import os
|
|
235
|
+
|
|
236
|
+
return os.getcwd()
|
|
237
|
+
|
|
238
|
+
def set_cwd(self, ctx: ToolExecutionContext, cwd: str) -> None:
|
|
239
|
+
"""设置当前工作目录(bash cd 命令后调用)。"""
|
|
240
|
+
ctx.state[self.CWD_KEY] = cwd
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/tools/bash/tool.py
RENAMED
|
@@ -116,6 +116,10 @@ class BashRuntimeTool(RuntimeTool):
|
|
|
116
116
|
self._security_hardener = security_hardener or BashSecurityHardener()
|
|
117
117
|
self._sandbox_decider = sandbox_decider or BashSandboxDecisionEngine()
|
|
118
118
|
self._result_presenter = result_presenter or BashResultPresenter()
|
|
119
|
+
# 提取 initial_cwd 用于 check_permissions 阶段(此时 ctx 不可用)
|
|
120
|
+
self._initial_cwd: str | None = None
|
|
121
|
+
if state_bridge is not None and hasattr(state_bridge, "_initial_cwd"):
|
|
122
|
+
self._initial_cwd = state_bridge._initial_cwd
|
|
119
123
|
|
|
120
124
|
# ------------------------------------------------------------------
|
|
121
125
|
# Hook 1: normalize_input
|
|
@@ -455,7 +459,9 @@ class BashRuntimeTool(RuntimeTool):
|
|
|
455
459
|
# 从 state_bridge 取上次 cwd(跨调用持久化)
|
|
456
460
|
cwd: str | None = None
|
|
457
461
|
if self._state_bridge is not None:
|
|
458
|
-
cwd = self._state_bridge.get_cwd()
|
|
462
|
+
cwd = self._state_bridge.get_cwd(ctx)
|
|
463
|
+
if not cwd:
|
|
464
|
+
cwd = os.getcwd()
|
|
459
465
|
|
|
460
466
|
sandbox_decision = self._sandbox_decider.decide(
|
|
461
467
|
command=command,
|
|
@@ -585,9 +591,8 @@ class BashRuntimeTool(RuntimeTool):
|
|
|
585
591
|
self._state_bridge is not None
|
|
586
592
|
and result.cwd_after is not None
|
|
587
593
|
and result.cwd_after != cwd
|
|
588
|
-
and hasattr(self._state_bridge, "set_cwd")
|
|
589
594
|
):
|
|
590
|
-
self._state_bridge.set_cwd(result.cwd_after)
|
|
595
|
+
self._state_bridge.set_cwd(ctx, result.cwd_after)
|
|
591
596
|
|
|
592
597
|
# 危险命令警告(非阻断)
|
|
593
598
|
destructive_warning = detect_destructive_patterns(command)
|
|
@@ -851,10 +856,13 @@ class BashRuntimeTool(RuntimeTool):
|
|
|
851
856
|
)
|
|
852
857
|
|
|
853
858
|
def _get_current_cwd(self) -> str:
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
859
|
+
"""获取当前工作目录(用于 check_permissions 阶段)。
|
|
860
|
+
|
|
861
|
+
注意:此时 ctx 不可用,因此使用初始 cwd 或 os.getcwd()。
|
|
862
|
+
实际执行时 invoke() 会用 ctx 获取最新的 cwd。
|
|
863
|
+
"""
|
|
864
|
+
if self._initial_cwd:
|
|
865
|
+
return self._initial_cwd
|
|
858
866
|
return os.getcwd()
|
|
859
867
|
|
|
860
868
|
@staticmethod
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/__init__.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/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.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/context.py
RENAMED
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/registry.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/result.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/command/types.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/config/__init__.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/config.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/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.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/trust.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/loop/hook/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.1.9 → langchain-agentx-python-0.2.1}/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
|
|
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.1.9 → langchain-agentx-python-0.2.1}/langchain_agentx/memory/__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
|
|
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
|