strix/strix
0xallam 514284cc95 refactor(dedupe): route through MultiProvider + cache wrapper + retry policy
``check_duplicate`` was calling ``litellm.completion(...)`` directly
via ``resolve_llm_config()``, bypassing every layer the main agent
loop runs through:

- :class:`MultiProvider` (so ``anthropic/...`` aliases never went
  through :class:`AnthropicCachingLitellmModel` and missed the
  ``cache_control`` patching on the system prompt — 4x cost on
  repeated dedupe calls within the same scan).
- :data:`DEFAULT_RETRY` (no retry on 429s / network blips — the
  caller's broad except-and-fallback was hiding this).

Switch to the SDK's :meth:`Model.get_response` directly: same model
selection, same retry policy, same cache wrapper. Extract assistant
text from ``ModelResponse.output`` via the canonical
``ResponseOutputMessage`` walk.

``check_duplicate`` is now async — drops the ``asyncio.to_thread``
indirection in ``_do_create``. Validation logic is fast-sync; running
it on the event loop is fine.

Drive-by: rename ``_DEFAULT_RETRY`` → ``DEFAULT_RETRY`` in
``run_config_factory`` so the dedupe path can reuse the same constant
without reaching into a private name.
2026-04-25 15:25:44 -07:00
..
agents refactor: nuke `strix_tool` shim + dead package re-exports 2026-04-25 15:17:46 -07:00
config chore: final cleanup — drop `STRIX_SANDBOX_MODE / strix_disable_browser` / runtime docstring 2026-04-25 14:35:55 -07:00
interface refactor: collapse strix/sandbox into strix/runtime; in-sandbox Caido bootstrap 2026-04-25 14:55:44 -07:00
llm refactor(dedupe): route through MultiProvider + cache wrapper + retry policy 2026-04-25 15:25:44 -07:00
orchestration refactor: nuke `strix_tool` shim + dead package re-exports 2026-04-25 15:17:46 -07:00
runtime refactor: nuke `strix_tool` shim + dead package re-exports 2026-04-25 15:17:46 -07:00
skills docs(skill): document the agent-browser → view_image chain for screenshots 2026-04-25 14:38:13 -07:00
telemetry refactor: nuke `events.jsonl` pipeline and the unused PII sanitizer 2026-04-25 13:47:37 -07:00
tools refactor(dedupe): route through MultiProvider + cache wrapper + retry policy 2026-04-25 15:25:44 -07:00
utils fix(agent): fix tool schemas not retrieved on pyinstaller binary and validate tool call args 2026-01-14 10:57:32 -08:00
__init__.py Open-source release for Alpha version 2025-08-08 20:36:44 -07:00
entry.py refactor: collapse strix/sandbox into strix/runtime; in-sandbox Caido bootstrap 2026-04-25 14:55:44 -07:00
run_config_factory.py refactor(dedupe): route through MultiProvider + cache wrapper + retry policy 2026-04-25 15:25:44 -07:00