mirror of
https://github.com/pydantic/pydantic-ai-harness.git
synced 2026-07-21 02:45:34 +00:00
* refactor: graduate capabilities out of `experimental` (ACP excepted) The `experimental` label suppressed the try->fail->report->improve loop we want from real usage, so drop it from the harness. Ten capabilities move to top-level submodules; ACP stays experimental (it may still be reshaped or moved to core, and can't be generic across agents). - Old `pydantic_ai_harness.experimental.<name>` paths keep working as DeprecationWarning shims (via `warn_moved`), so existing imports don't break. - Renames to match capability names: authoring -> runtime_authoring, overflow -> overflowing_tool_output. - Capabilities stay in individual submodules with no top-level re-export, so importing the root package never pulls in a capability's optional deps. - Docs drop the experimental framing and the "may be removed in any release" language in favor of "API subject to change". * docs: tell capability authors to ask the user when unsure about a name Per PR review: a name is a public commitment once shipped, so ask rather than guess.
28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
"""Compaction capabilities: keep an agent's conversation history within the context window.
|
|
|
|
Each capability lives in its own module; shared utilities (token estimation, the
|
|
`CompactionStrategy` protocol, tool-pair-safe cutoffs, in-place clearing) live in `_shared`.
|
|
"""
|
|
|
|
from pydantic_ai_harness.compaction._clamp_oversized_messages import ClampOversizedMessages
|
|
from pydantic_ai_harness.compaction._clear_tool_results import ClearToolResults
|
|
from pydantic_ai_harness.compaction._deduplicate_file_reads import DeduplicateFileReads
|
|
from pydantic_ai_harness.compaction._limit_warner import LimitWarner, WarningKind
|
|
from pydantic_ai_harness.compaction._shared import CompactionStrategy, estimate_token_count
|
|
from pydantic_ai_harness.compaction._sliding_window import SlidingWindow
|
|
from pydantic_ai_harness.compaction._summarizing_compaction import SummarizingCompaction
|
|
from pydantic_ai_harness.compaction._tiered_compaction import TieredCompaction
|
|
|
|
__all__ = [
|
|
'ClampOversizedMessages',
|
|
'ClearToolResults',
|
|
'CompactionStrategy',
|
|
'DeduplicateFileReads',
|
|
'LimitWarner',
|
|
'SlidingWindow',
|
|
'SummarizingCompaction',
|
|
'TieredCompaction',
|
|
'WarningKind',
|
|
'estimate_token_count',
|
|
]
|