langchain-agentx-python 0.3.1__tar.gz → 0.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {langchain-agentx-python-0.3.1/langchain_agentx_python.egg-info → langchain-agentx-python-0.3.3}/PKG-INFO +1 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/__init__.py +4 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/compaction_service.py +22 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/pipeline.py +81 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/autocompact.py +113 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/base.py +9 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/types.py +27 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/events/langchain_agentx_event_adapter.py +37 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/agent_session.py +18 -2
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3/langchain_agentx_python.egg-info}/PKG-INFO +1 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/pyproject.toml +1 -1
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/LICENSE +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/README.md +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/builtin/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/builtin/clear.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/builtin/compact.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/builtin/memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/builtin/reload_plugins.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/context.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/dispatcher.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/registry.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/result.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/config/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/config/model_profiles.yaml +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/config/model_profiles.yaml.example +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/agent_config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/agent_loop_config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/model_context_resolver.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/runtime_settings.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/config/token_estimator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/blocking_guard.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/message_utils.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/settings.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/collapse.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/microcompact.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/noop.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/snip.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/context/stages/tool_result_budget.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/exit/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/exit/exit_logic.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/exit/reason_codes.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/graph/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/graph/builtin_loop_control.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/graph/factory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/graph/graph_edges.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/async_hook_runner.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/engine.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/executors/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/executors/agent.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/executors/command.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/executors/http.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/executors/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/graph_wiring.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/registry.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/trust.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/injection/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/injection/dedup.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/loop_abort.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/model_node.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/model_nodes.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/orphan_tool_results.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/retrier.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/retry_bridge.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/retry_events.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/retry_policy.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/schema_and_format.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/tool_and_model_binding.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/tool_call_degradation_corrector.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/model/tool_transcript_guard.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/builder.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/builtin.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/compact.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/sections.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/prompt/session_context.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/runtime/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/runtime/context.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/runtime/context_factory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/runtime/subagent_execution_paths.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/async_runner.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/context.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/fork_worktree_notice.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/graph.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/orchestrator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/progress.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/runner.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/subagent/transcript.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/resolver.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/sections.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/instruction/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/age.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/agent_memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/extractor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/paths.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/recall.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/scan.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/memdir/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/session/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/session/compact_bridge.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/session/prompts.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/memory/session/session_memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/base.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/compaction.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/degradation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/exit_quality.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/session_memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/checkers/tool_behavior.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/retention_scheduler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/service.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/state.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/evaluation/store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/events/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/logging/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/logging/debug_burst.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/logging/logging_config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/logging/logging_contract.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/replay/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/replay/cli.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/replay/service.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/replay/store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/replay/ui.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/collector.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/event_emitter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/hook_event_emitter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/sqlite_store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/trace_callback.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/observability/trace/trace_lifecycle_collector.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/builtin.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/manifest.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/registries.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/plugin/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/anthropic.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/compatible_chat_openai.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/env.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/model_profile.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/provider/openai.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/conversation_factory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/conversation_recovery.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/conversation_session.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/factory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/session/protocol.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/core/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/core/ids.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/core/interfaces.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/core/notification_priority.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/core/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/loop_adapter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/loop_integration.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/prefetch_providers.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/provider_factory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/queued_command_provider.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/sqlite_queued_command_provider.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/integrations/tool_use_summary_provider.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/orchestrator/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/orchestrator/runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/output/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/output/sink.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/policy/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/policy/withhold_visibility.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/queue/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/queue/in_memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/skill_prefetch/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/skill_prefetch/attachments.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/skill_prefetch/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/skill_prefetch/provider.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/store/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/store/in_memory.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/store/sqlite_store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/high_water_mark.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/lock.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/path_resolver.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasklist/store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/ai_analysis/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/ai_analysis/base.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/ai_analysis/evaluation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/ai_analysis/registry.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/ai_analysis/scheduler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/base/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/base/contracts.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/custom/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/custom/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/custom/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/custom/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/custom/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/dream_task/state.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/in_process_teammate/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/runner.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_agent/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_bash/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_bash/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_bash/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_bash/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/local_bash/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/notification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/remote_agent/spec.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/bootstrap.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/executor.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/task_runtime/tasks/trace_cleanup/scheduler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/adapter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/base.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/errors.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/identical_call_cache.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/permission_context.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/pipeline.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/policy.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/registry.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/agent_session.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/background.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/base.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/conversation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/resolvers/workflow.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/session_store.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/smoke_test_runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tool_runtime/state_bridge.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/agentx_guide.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/explore.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/general.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/plan.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/statusline_setup.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/built_in/verification.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/builtin_subagent_loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/cwd_resolution.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/registry/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/registry/config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/registry/registry.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/scope.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/agent/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/constants.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/html_preview.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ask_user_question/validators.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/ast_security.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/bash_hardening.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/bash_runtime_contract.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/cwd_reporter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/mode_validation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/observability.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/output_utils.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/path_security.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/read_only_validation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/result_presenter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/sandbox_decision.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/security.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/sed_edit_parser.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/sed_validation.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/semantics.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/session_manager.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/session_runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/shell_locator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/task_runtime.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/bash/windows_shell_quoting.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/batch_tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/diff_generator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/git_diff_generator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/quote_match.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/quote_normalizer.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/settings_validator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/staleness.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/edit/validator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/pagination.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/rg_list_backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/rg_pattern.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/glob/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/rg_subprocess_controller.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/grep/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/read/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/ripgrep_plugin_exclusions.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/argument_substitution.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/policy.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/skill/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/hooks.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_create/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_get/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_get/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_get/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_get/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_list/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_list/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_list/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_list/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_update/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_update/hooks.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_update/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_update/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/task_update/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/attachments.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/runtime_config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/user_message/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/preapproved.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/summary.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/webfetch/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/events.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/loader.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/websearch/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/backend.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/limits.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/models.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/prompt.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/tool.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/tools/write/validator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/cwd.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/host_platform.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/path_hierarchy.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/path_user_input.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/rg_executable.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/subprocess_text.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/temp_paths.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/unc_path.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/utils/win_reserved_paths.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/base.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/batch.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/dag.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/adapter.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/depth_resolver.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/handlers/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/handlers/parallel_handler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/handlers/route_handler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/handlers/stage_handler.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/stack.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/event_adapter/types.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/node.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/chaining.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/evaluator_optimizer.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/orchestrator.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/parallelization.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/patterns/routing.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workflow/state.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/__init__.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/capabilities.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/config.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/path_key_normalizer.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/resolver.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/workspace/validators.py +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx_python.egg-info/SOURCES.txt +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx_python.egg-info/dependency_links.txt +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx_python.egg-info/not-zip-safe +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx_python.egg-info/requires.txt +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx_python.egg-info/top_level.txt +0 -0
- {langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/setup.cfg +0 -0
|
@@ -20,6 +20,8 @@ from .stages import (
|
|
|
20
20
|
ToolResultBudgetStage,
|
|
21
21
|
)
|
|
22
22
|
from .types import (
|
|
23
|
+
CompactProgress,
|
|
24
|
+
CompactProgressCallback,
|
|
23
25
|
CompactionConfig,
|
|
24
26
|
ContextCompactionContext,
|
|
25
27
|
StageResult,
|
|
@@ -40,6 +42,8 @@ __all__ = [
|
|
|
40
42
|
"active_compaction_settings",
|
|
41
43
|
"AutocompactLlmPromptKind",
|
|
42
44
|
"AutocompactStage",
|
|
45
|
+
"CompactProgress",
|
|
46
|
+
"CompactProgressCallback",
|
|
43
47
|
"CompactionBlockingGuard",
|
|
44
48
|
"CompactionConfig",
|
|
45
49
|
"CompactionSettings",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
注意:
|
|
13
13
|
- 不修改 `should_end` / `finish_reason` 等 exit 字段;只产出 `messages` 增量补丁。
|
|
14
|
+
- `arun` 方法为 async 版本,支持进度回调(供 /compact 命令使用)。
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
17
|
from __future__ import annotations
|
|
@@ -19,7 +20,7 @@ from typing import Any, Dict, Mapping
|
|
|
19
20
|
|
|
20
21
|
from .pipeline import ContextPipeline
|
|
21
22
|
from .settings import CompactionSettings
|
|
22
|
-
from .types import ContextCompactionContext
|
|
23
|
+
from .types import CompactProgressCallback, ContextCompactionContext
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class LoopContextCompaction:
|
|
@@ -42,6 +43,26 @@ class LoopContextCompaction:
|
|
|
42
43
|
ctx = ContextCompactionContext.from_state(state, model)
|
|
43
44
|
return self._pipeline.run(state, ctx)
|
|
44
45
|
|
|
46
|
+
async def arun(
|
|
47
|
+
self,
|
|
48
|
+
state: Mapping[str, Any],
|
|
49
|
+
model: Any | None = None,
|
|
50
|
+
progress_callback: CompactProgressCallback = None,
|
|
51
|
+
) -> Dict[str, Any]:
|
|
52
|
+
"""Async 版本(供 /compact 命令使用),支持进度回调。
|
|
53
|
+
|
|
54
|
+
参数:
|
|
55
|
+
state: LangGraph state
|
|
56
|
+
model: 可选的 LLM model(供 autocompact 使用)
|
|
57
|
+
progress_callback: 进度回调函数,接收 CompactProgress 对象
|
|
58
|
+
|
|
59
|
+
返回:
|
|
60
|
+
与 run() 相同的补丁格式
|
|
61
|
+
"""
|
|
62
|
+
ctx = ContextCompactionContext.from_state(state, model)
|
|
63
|
+
ctx.progress_callback = progress_callback
|
|
64
|
+
return await self._pipeline.arun(state, ctx)
|
|
65
|
+
|
|
45
66
|
|
|
46
67
|
_default_loop_context_compaction: LoopContextCompaction | None = None
|
|
47
68
|
|
|
@@ -30,7 +30,7 @@ from .stages import (
|
|
|
30
30
|
ToolResultBudgetStage,
|
|
31
31
|
)
|
|
32
32
|
from .stages.base import CompactionStage
|
|
33
|
-
from .types import ContextCompactionContext
|
|
33
|
+
from .types import CompactProgress, ContextCompactionContext
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class DefaultCompactionStages:
|
|
@@ -120,6 +120,86 @@ class ContextPipeline:
|
|
|
120
120
|
return {}
|
|
121
121
|
return patch
|
|
122
122
|
|
|
123
|
+
async def arun(
|
|
124
|
+
self,
|
|
125
|
+
state: dict[str, Any],
|
|
126
|
+
ctx: ContextCompactionContext,
|
|
127
|
+
) -> dict[str, Any]:
|
|
128
|
+
"""Async 版本:每个 stage 完成后 emit 进度(供 /compact 进度条使用)。
|
|
129
|
+
|
|
130
|
+
与 run() 的区别:
|
|
131
|
+
- 走 async 路径,支持 AutocompactStage 的流式 LLM 调用。
|
|
132
|
+
- 通过 ctx.progress_callback 回调进度更新。
|
|
133
|
+
"""
|
|
134
|
+
messages = state.get("messages")
|
|
135
|
+
if not isinstance(messages, list) or not messages:
|
|
136
|
+
return {}
|
|
137
|
+
|
|
138
|
+
s = self._settings_override or get_active_compaction_settings()
|
|
139
|
+
estimator = TokenEstimator(num_chars_per_token=s.num_chars_per_token)
|
|
140
|
+
original_input = list(messages)
|
|
141
|
+
current = original_input
|
|
142
|
+
guard = CompactionBlockingGuard(settings=s)
|
|
143
|
+
tw = guard.calculate_token_warning_state(original_input)
|
|
144
|
+
tokens_before = estimator.estimate_messages_tokens(original_input)
|
|
145
|
+
stages_meta: list[dict[str, Any]] = []
|
|
146
|
+
total_freed = 0
|
|
147
|
+
n = len(self._stages)
|
|
148
|
+
|
|
149
|
+
for i, stage in enumerate(self._stages):
|
|
150
|
+
if ctx.progress_callback:
|
|
151
|
+
ctx.progress_callback(
|
|
152
|
+
CompactProgress(
|
|
153
|
+
stage=stage.name,
|
|
154
|
+
stage_index=i,
|
|
155
|
+
total_stages=n,
|
|
156
|
+
percent=int(i / n * 100),
|
|
157
|
+
)
|
|
158
|
+
)
|
|
159
|
+
# autocompact 走 async(内部 streaming),其余走 sync
|
|
160
|
+
sr = await stage.arun(current, ctx)
|
|
161
|
+
total_freed += sr.tokens_freed
|
|
162
|
+
stages_meta.append(
|
|
163
|
+
{
|
|
164
|
+
"name": stage.name,
|
|
165
|
+
"tokens_freed": sr.tokens_freed,
|
|
166
|
+
"extra": dict(sr.extra),
|
|
167
|
+
}
|
|
168
|
+
)
|
|
169
|
+
current = sr.messages
|
|
170
|
+
ctx.snip_tokens_freed_carry += sr.tokens_freed
|
|
171
|
+
|
|
172
|
+
if ctx.progress_callback:
|
|
173
|
+
ctx.progress_callback(
|
|
174
|
+
CompactProgress(
|
|
175
|
+
stage="done",
|
|
176
|
+
stage_index=n,
|
|
177
|
+
total_stages=n,
|
|
178
|
+
percent=100,
|
|
179
|
+
)
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
patch: dict[str, Any] = {}
|
|
183
|
+
if current is not original_input:
|
|
184
|
+
patch["messages"] = current
|
|
185
|
+
|
|
186
|
+
tokens_after = estimator.estimate_messages_tokens(current)
|
|
187
|
+
if s.emit_compaction_pipeline_meta and (
|
|
188
|
+
"messages" in patch or total_freed > 0
|
|
189
|
+
):
|
|
190
|
+
patch["compaction_pipeline_meta"] = {
|
|
191
|
+
"estimated_tokens_before": tokens_before,
|
|
192
|
+
"estimated_tokens_after": tokens_after,
|
|
193
|
+
"tokens_freed_sum": total_freed,
|
|
194
|
+
"snip_tokens_freed_carry_final": ctx.snip_tokens_freed_carry,
|
|
195
|
+
"token_warning_level": tw.level,
|
|
196
|
+
"stages": stages_meta,
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if not patch:
|
|
200
|
+
return {}
|
|
201
|
+
return patch
|
|
202
|
+
|
|
123
203
|
|
|
124
204
|
__all__ = [
|
|
125
205
|
"ContextPipeline",
|
|
@@ -13,6 +13,7 @@ Autocompact 阶段:超阈值时折叠前缀消息(对齐 CC `deps.autocompac
|
|
|
13
13
|
|
|
14
14
|
注意:
|
|
15
15
|
- `query_source in autocompact_skip_query_sources`(如 `compact`)时跳过,防递归压缩。
|
|
16
|
+
- `arun()` 方法为 async 版本,支持流式 LLM 调用与进度回调。
|
|
16
17
|
"""
|
|
17
18
|
|
|
18
19
|
from __future__ import annotations
|
|
@@ -25,7 +26,7 @@ from ..blocking_guard import CompactionBlockingGuard
|
|
|
25
26
|
from ..message_utils import stringify_content, total_estimated_tokens_for_messages
|
|
26
27
|
from ...prompt.compact import build_autocompact_llm_instruction_prompt, get_compact_user_summary_message
|
|
27
28
|
from ..settings import CompactionSettings, get_active_compaction_settings
|
|
28
|
-
from ..types import ContextCompactionContext, StageResult
|
|
29
|
+
from ..types import CompactProgress, ContextCompactionContext, StageResult
|
|
29
30
|
from .base import CompactionStage
|
|
30
31
|
|
|
31
32
|
|
|
@@ -105,6 +106,70 @@ class AutocompactStage(CompactionStage):
|
|
|
105
106
|
extra={"autocompact_mode": mode, "folded_messages": len(head)},
|
|
106
107
|
)
|
|
107
108
|
|
|
109
|
+
async def arun(self, messages: list[Any], ctx: ContextCompactionContext) -> StageResult:
|
|
110
|
+
"""Async 版本:LLM 摘要使用 astream 流式生成,支持进度回调。"""
|
|
111
|
+
s = self._effective_settings()
|
|
112
|
+
if ctx.query_source in s.autocompact_skip_query_sources:
|
|
113
|
+
return StageResult(messages=messages, tokens_freed=0, extra={"autocompact_skipped": "query_source"})
|
|
114
|
+
|
|
115
|
+
total = total_estimated_tokens_for_messages(messages, s.num_chars_per_token)
|
|
116
|
+
threshold = int(s.default_max_context_tokens * s.default_compress_trigger_fraction)
|
|
117
|
+
slack = ctx.snip_tokens_freed_carry if s.autocompact_snip_carry_threshold_slack else 0
|
|
118
|
+
if total <= threshold + slack:
|
|
119
|
+
return StageResult(messages=messages, tokens_freed=0)
|
|
120
|
+
|
|
121
|
+
# 跳过所有 SystemMessages(不保留),对齐 SystemMessage 单一来源原则
|
|
122
|
+
idx = 0
|
|
123
|
+
while idx < len(messages) and isinstance(messages[idx], SystemMessage):
|
|
124
|
+
idx += 1
|
|
125
|
+
rest = messages[idx:]
|
|
126
|
+
k = max(1, s.default_compress_keep_recent_messages)
|
|
127
|
+
if len(rest) <= k:
|
|
128
|
+
return StageResult(messages=messages, tokens_freed=0)
|
|
129
|
+
|
|
130
|
+
head = rest[:-k]
|
|
131
|
+
tail = rest[-k:]
|
|
132
|
+
|
|
133
|
+
block_llm = CompactionBlockingGuard(settings=s).should_block_compact_llm(messages)
|
|
134
|
+
if (
|
|
135
|
+
s.autocompact_use_llm_when_available
|
|
136
|
+
and ctx.model is not None
|
|
137
|
+
and not block_llm
|
|
138
|
+
):
|
|
139
|
+
summary = await _astream_summary(ctx.model, s, head, ctx.progress_callback)
|
|
140
|
+
if summary:
|
|
141
|
+
folded = [
|
|
142
|
+
HumanMessage(
|
|
143
|
+
content=get_compact_user_summary_message(
|
|
144
|
+
summary,
|
|
145
|
+
recent_messages_preserved=True,
|
|
146
|
+
)
|
|
147
|
+
)
|
|
148
|
+
] + tail
|
|
149
|
+
new_total = total_estimated_tokens_for_messages(folded, s.num_chars_per_token)
|
|
150
|
+
return StageResult(
|
|
151
|
+
messages=folded,
|
|
152
|
+
tokens_freed=max(0, total - new_total),
|
|
153
|
+
extra={"autocompact_mode": "llm", "folded_messages": len(head)},
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
# fallback: prune
|
|
157
|
+
folded = [
|
|
158
|
+
HumanMessage(
|
|
159
|
+
content=(
|
|
160
|
+
f"[Context autocompacted: {len(head)} earlier messages omitted; "
|
|
161
|
+
"details dropped for token budget.]"
|
|
162
|
+
)
|
|
163
|
+
)
|
|
164
|
+
] + tail
|
|
165
|
+
new_total = total_estimated_tokens_for_messages(folded, s.num_chars_per_token)
|
|
166
|
+
mode = "prune_blocked_llm" if block_llm else "prune"
|
|
167
|
+
return StageResult(
|
|
168
|
+
messages=folded,
|
|
169
|
+
tokens_freed=max(0, total - new_total),
|
|
170
|
+
extra={"autocompact_mode": mode, "folded_messages": len(head)},
|
|
171
|
+
)
|
|
172
|
+
|
|
108
173
|
|
|
109
174
|
def _resolve_autocompact_llm_instruction(s: CompactionSettings) -> str:
|
|
110
175
|
if s.autocompact_llm_instructions_override is not None:
|
|
@@ -139,3 +204,50 @@ def _invoke_summary(model: Any, s: CompactionSettings, head: list[Any]) -> str |
|
|
|
139
204
|
return None
|
|
140
205
|
text = stringify_content(getattr(resp, "content", None))
|
|
141
206
|
return text if text else None
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
async def _astream_summary(
|
|
210
|
+
model: Any, s: CompactionSettings, head: list[Any], progress_callback: Any = None
|
|
211
|
+
) -> str | None:
|
|
212
|
+
"""流式生成摘要,每个 chunk 触发 progress callback。
|
|
213
|
+
|
|
214
|
+
进度计算:
|
|
215
|
+
- autocompact 占 80%-100%,用 chunk 数做粗略进度。
|
|
216
|
+
- 每收到约 10 个 chunk 增加 2%,上限 99%。
|
|
217
|
+
"""
|
|
218
|
+
cap = max(256, s.autocompact_llm_excerpt_chars_per_message)
|
|
219
|
+
parts: list[str] = []
|
|
220
|
+
for m in head:
|
|
221
|
+
label = getattr(m, "type", type(m).__name__)
|
|
222
|
+
chunk = stringify_content(getattr(m, "content", None))[:cap]
|
|
223
|
+
parts.append(f"{label}: {chunk}")
|
|
224
|
+
body = "\n\n---\n\n".join(parts)
|
|
225
|
+
excerpt_msg = HumanMessage(
|
|
226
|
+
content="[Conversation excerpt to summarize]\n\n" + body
|
|
227
|
+
)
|
|
228
|
+
instruction = _resolve_autocompact_llm_instruction(s)
|
|
229
|
+
instruction_msg = HumanMessage(content=instruction)
|
|
230
|
+
|
|
231
|
+
try:
|
|
232
|
+
chunks: list[str] = []
|
|
233
|
+
async for chunk in model.astream([excerpt_msg, instruction_msg]):
|
|
234
|
+
token = stringify_content(getattr(chunk, "content", None))
|
|
235
|
+
if token:
|
|
236
|
+
chunks.append(token)
|
|
237
|
+
if progress_callback:
|
|
238
|
+
# autocompact 占 80%-100%,用 chunk 数做粗略进度
|
|
239
|
+
pct = min(80 + len(chunks) * 2 // 10, 99)
|
|
240
|
+
from ..types import CompactProgress
|
|
241
|
+
|
|
242
|
+
progress_callback(
|
|
243
|
+
CompactProgress(
|
|
244
|
+
stage="autocompact",
|
|
245
|
+
stage_index=4,
|
|
246
|
+
total_stages=5,
|
|
247
|
+
percent=pct,
|
|
248
|
+
detail="generating summary...",
|
|
249
|
+
)
|
|
250
|
+
)
|
|
251
|
+
return "".join(chunks) or None
|
|
252
|
+
except Exception:
|
|
253
|
+
return None
|
|
@@ -30,3 +30,12 @@ class CompactionStage(ABC):
|
|
|
30
30
|
@abstractmethod
|
|
31
31
|
def run(self, messages: list[Any], ctx: ContextCompactionContext) -> StageResult:
|
|
32
32
|
"""输入当前消息列表,返回更新后的列表与可选 tokens_freed。"""
|
|
33
|
+
|
|
34
|
+
async def arun(self, messages: list[Any], ctx: ContextCompactionContext) -> StageResult:
|
|
35
|
+
"""Async 版本,默认委托 sync run()。AutocompactStage 覆盖此方法。
|
|
36
|
+
|
|
37
|
+
子类覆盖说明:
|
|
38
|
+
- 仅 AutocompactStage 需要覆盖以支持流式 LLM 调用。
|
|
39
|
+
- 其他阶段继承此默认实现即可。
|
|
40
|
+
"""
|
|
41
|
+
return self.run(messages, ctx)
|
|
@@ -11,10 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
注意:
|
|
13
13
|
- `TokenWarningState` 供 `blocking_guard` 与 `compaction_pipeline_meta` 观测对齐 CC token 告警语义。
|
|
14
|
+
- `CompactProgress` 用于 /compact 进度条回调,CLI 通过 progress_callback 接收进度更新。
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
17
|
from __future__ import annotations
|
|
17
18
|
|
|
19
|
+
from collections.abc import Callable
|
|
18
20
|
from dataclasses import dataclass, field
|
|
19
21
|
from typing import Any, Literal, Mapping
|
|
20
22
|
|
|
@@ -37,6 +39,7 @@ class ContextCompactionContext:
|
|
|
37
39
|
snip_tokens_freed_carry: int = 0
|
|
38
40
|
query_source: str | None = None
|
|
39
41
|
config: CompactionConfig = field(default_factory=CompactionConfig)
|
|
42
|
+
progress_callback: CompactProgressCallback = None
|
|
40
43
|
|
|
41
44
|
@classmethod
|
|
42
45
|
def from_state(
|
|
@@ -70,8 +73,32 @@ class TokenWarningState:
|
|
|
70
73
|
level: TokenWarningLevel
|
|
71
74
|
|
|
72
75
|
|
|
76
|
+
@dataclass(frozen=True)
|
|
77
|
+
class CompactProgress:
|
|
78
|
+
"""压缩进度通知(供 CLI 进度条消费)。
|
|
79
|
+
|
|
80
|
+
属性:
|
|
81
|
+
stage: 当前阶段名(tool_result_budget / snip / microcompact / collapse / autocompact / done)
|
|
82
|
+
stage_index: 0-based 阶段序号
|
|
83
|
+
total_stages: 总阶段数(默认 5)
|
|
84
|
+
percent: 0-100 整体进度百分比
|
|
85
|
+
detail: 可选描述(如 "generating summary...")
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
stage: str
|
|
89
|
+
stage_index: int
|
|
90
|
+
total_stages: int
|
|
91
|
+
percent: int
|
|
92
|
+
detail: str | None = None
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
CompactProgressCallback = Callable[[CompactProgress], None] | None
|
|
96
|
+
|
|
97
|
+
|
|
73
98
|
__all__ = [
|
|
74
99
|
"CompactionConfig",
|
|
100
|
+
"CompactProgress",
|
|
101
|
+
"CompactProgressCallback",
|
|
75
102
|
"ContextCompactionContext",
|
|
76
103
|
"StageResult",
|
|
77
104
|
"TokenWarningLevel",
|
|
@@ -415,6 +415,41 @@ class LangGraphToLangchainAgentEventAdapter:
|
|
|
415
415
|
return str(output[key])
|
|
416
416
|
return str(output)
|
|
417
417
|
|
|
418
|
+
def _extract_compact_summary(self, data: Dict[str, Any]) -> Dict[str, Any]:
|
|
419
|
+
"""从 compact node output 中提取摘要信息供 CLI 展示。
|
|
420
|
+
|
|
421
|
+
提取字段:
|
|
422
|
+
- tokens_before/tokens_after/tokens_freed: token 统计
|
|
423
|
+
- autocompact_mode: autocompact 模式(llm/prune/prune_blocked_llm)
|
|
424
|
+
- folded_messages: 折叠的消息数量
|
|
425
|
+
- summary: LLM 生成的摘要文本(仅 LLM 模式下存在)
|
|
426
|
+
"""
|
|
427
|
+
output = data.get("output") if isinstance(data, dict) else None
|
|
428
|
+
if not isinstance(output, dict):
|
|
429
|
+
return {}
|
|
430
|
+
meta = output.get("compaction_pipeline_meta")
|
|
431
|
+
result: Dict[str, Any] = {}
|
|
432
|
+
if isinstance(meta, dict):
|
|
433
|
+
result["tokens_before"] = meta.get("estimated_tokens_before")
|
|
434
|
+
result["tokens_after"] = meta.get("estimated_tokens_after")
|
|
435
|
+
result["tokens_freed"] = meta.get("tokens_freed_sum")
|
|
436
|
+
# 从 stages 中提取 autocompact mode
|
|
437
|
+
stages = meta.get("stages")
|
|
438
|
+
if isinstance(stages, list):
|
|
439
|
+
for s in stages:
|
|
440
|
+
if isinstance(s, dict) and s.get("name") == "autocompact":
|
|
441
|
+
extra = s.get("extra") or {}
|
|
442
|
+
result["autocompact_mode"] = extra.get("autocompact_mode")
|
|
443
|
+
result["folded_messages"] = extra.get("folded_messages")
|
|
444
|
+
# 提取 summary 文本(压缩后 messages[0] 的 content)
|
|
445
|
+
messages = output.get("messages")
|
|
446
|
+
if isinstance(messages, list) and messages:
|
|
447
|
+
first = messages[0]
|
|
448
|
+
content = getattr(first, "content", None)
|
|
449
|
+
if isinstance(content, str) and "Summary:" in content:
|
|
450
|
+
result["summary"] = content
|
|
451
|
+
return result
|
|
452
|
+
|
|
418
453
|
async def _handle_chain_end(
|
|
419
454
|
self, name: str, data: Dict[str, Any]
|
|
420
455
|
) -> AsyncGenerator[LangchainAgentEvent, None]:
|
|
@@ -462,9 +497,10 @@ class LangGraphToLangchainAgentEventAdapter:
|
|
|
462
497
|
)
|
|
463
498
|
|
|
464
499
|
if self.enable_compact_events and self._is_compact_node(name):
|
|
500
|
+
compact_data = self._extract_compact_summary(data)
|
|
465
501
|
yield self._event(
|
|
466
502
|
event_type=LangchainAgentEventType.COMPACT_END,
|
|
467
|
-
data=
|
|
503
|
+
data=compact_data,
|
|
468
504
|
step_index=self.state.step_index or None,
|
|
469
505
|
)
|
|
470
506
|
|
|
@@ -202,9 +202,25 @@ class AgentSession:
|
|
|
202
202
|
def clear_context(self) -> None:
|
|
203
203
|
self._messages.clear()
|
|
204
204
|
|
|
205
|
-
async def compact_context(
|
|
205
|
+
async def compact_context(
|
|
206
|
+
self, *, progress_callback: Any = None
|
|
207
|
+
) -> tuple[int, int]:
|
|
208
|
+
"""压缩会话上下文,可选传入进度回调。
|
|
209
|
+
|
|
210
|
+
参数:
|
|
211
|
+
progress_callback: 可选的进度回调函数,接收 CompactProgress 对象
|
|
212
|
+
|
|
213
|
+
返回:
|
|
214
|
+
(before_tokens, after_tokens) 元组
|
|
215
|
+
"""
|
|
206
216
|
before_tokens = total_estimated_tokens_for_messages(self._messages, num_chars_per_token=4)
|
|
207
|
-
|
|
217
|
+
# 注意:model=None 表示不使用 LLM 摘要,仅走 prune 路径
|
|
218
|
+
# 如果需要 LLM 摘要,调用方需要通过其他方式提供 model
|
|
219
|
+
patch = await default_loop_context_compaction().arun(
|
|
220
|
+
{"messages": self._messages},
|
|
221
|
+
model=None,
|
|
222
|
+
progress_callback=progress_callback,
|
|
223
|
+
)
|
|
208
224
|
if isinstance(patch.get("messages"), list):
|
|
209
225
|
self._messages = list(patch["messages"])
|
|
210
226
|
after_tokens = total_estimated_tokens_for_messages(self._messages, num_chars_per_token=4)
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/__init__.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/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.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/context.py
RENAMED
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/registry.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/result.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/command/types.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/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
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/config.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/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.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/trust.py
RENAMED
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/langchain_agentx/loop/hook/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain-agentx-python-0.3.1 → langchain-agentx-python-0.3.3}/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
|