openrouter: split into llm_prompts (prompt engineering) + transport
openrouter.py was 790 lines mixing two orthogonal concerns: - Prompt engineering (build_system_prompt, build_summary_*, build_chat_*, build_daily_digest_*, etc.) — ~400 lines, changes weekly as PROMPT_VERSION bumps - LLM transport (call_llm, _provider_chain, _call_provider, retry + fallback machinery) — ~250 lines, rarely changes Extracted the prompt-engineering surface to app/services/llm_prompts.py. Transport stays in openrouter.py (consistent with the filename — the OpenRouter URL is the transport's anchor). All import sites (jobs, routers, services, tests) split their multi-import lines into two: prompt-things from llm_prompts, transport from openrouter. PROMPT_VERSION constant, _TONE_ALIASES, _resolve_tone, and SYSTEM_PROMPT moved with the prompt functions. No behaviour change — pure relocation. Function signatures, body, and naming all preserved. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
a6d686324c
commit
4adc8dfe82
9 changed files with 619 additions and 595 deletions
|
|
@ -22,13 +22,15 @@ from app.models import (
|
|||
)
|
||||
from app.services.cadence import DEFAULT_POLICY
|
||||
from app.services.i18n import ACTIVE_LANGUAGES
|
||||
from app.services.openrouter import (
|
||||
from app.services.llm_prompts import (
|
||||
PROMPT_VERSION,
|
||||
active_model,
|
||||
build_aggregate_summary_system_prompt,
|
||||
build_aggregate_summary_user_prompt,
|
||||
build_summary_system_prompt,
|
||||
build_summary_user_prompt,
|
||||
)
|
||||
from app.services.openrouter import (
|
||||
active_model,
|
||||
call_llm,
|
||||
llm_configured,
|
||||
month_start,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue