refactor: move generation settings to provider level, eliminate parameter passthrough

This commit is contained in:
Re-bin
2026-03-11 09:47:04 +00:00
parent a180e84536
commit c72c2ce7e2
8 changed files with 120 additions and 223 deletions
+1 -21
View File
@@ -57,7 +57,6 @@ def _normalize_save_memory_args(args: Any) -> dict[str, Any] | None:
return args[0] if args and isinstance(args[0], dict) else None
return args if isinstance(args, dict) else None
class MemoryStore:
"""Two-layer memory: MEMORY.md (long-term facts) + HISTORY.md (grep-searchable log)."""
@@ -99,9 +98,6 @@ class MemoryStore:
messages: list[dict],
provider: LLMProvider,
model: str,
temperature: float | None = None,
max_tokens: int | None = None,
reasoning_effort: str | None = None,
) -> bool:
"""Consolidate the provided message chunk into MEMORY.md + HISTORY.md."""
if not messages:
@@ -124,9 +120,6 @@ class MemoryStore:
],
tools=_SAVE_MEMORY_TOOL,
model=model,
temperature=temperature,
max_tokens=max_tokens,
reasoning_effort=reasoning_effort,
)
if not response.has_tool_calls:
@@ -166,9 +159,6 @@ class MemoryConsolidator:
context_window_tokens: int,
build_messages: Callable[..., list[dict[str, Any]]],
get_tool_definitions: Callable[[], list[dict[str, Any]]],
temperature: float | None = None,
max_tokens: int | None = None,
reasoning_effort: str | None = None,
):
self.store = MemoryStore(workspace)
self.provider = provider
@@ -177,9 +167,6 @@ class MemoryConsolidator:
self.context_window_tokens = context_window_tokens
self._build_messages = build_messages
self._get_tool_definitions = get_tool_definitions
self._temperature = temperature
self._max_tokens = max_tokens
self._reasoning_effort = reasoning_effort
self._locks: weakref.WeakValueDictionary[str, asyncio.Lock] = weakref.WeakValueDictionary()
def get_lock(self, session_key: str) -> asyncio.Lock:
@@ -188,14 +175,7 @@ class MemoryConsolidator:
async def consolidate_messages(self, messages: list[dict[str, object]]) -> bool:
"""Archive a selected message chunk into persistent memory."""
return await self.store.consolidate(
messages,
self.provider,
self.model,
temperature=self._temperature,
max_tokens=self._max_tokens,
reasoning_effort=self._reasoning_effort,
)
return await self.store.consolidate(messages, self.provider, self.model)
def pick_consolidation_boundary(
self,