Test
d624842842
refactor: make routing system extensible with provider/builder interfaces
BREAKING: LLMRouter now requires explicit LLMProvider
New Abstractions:
- LLMProvider interface: swap providers (OpenAI, Claude, local, etc)
- SpecBuilder interface: custom spec generation strategies
- ParameterBinder interface: flexible parameter resolution
- ActivityExecutor interface: pluggable activity execution
- WorkflowValidator interface: composable validation
Provider System:
- ProviderRegistry: manage multiple LLM providers
- RoutingProviderLLM: fallback across providers
- CachingLLMProvider: caching wrapper
- RetryingLLMProvider: retry wrapper
Spec Building:
- DefaultSpecBuilder: basic spec generation
- CronSpecBuilder: cron workflow specialization
- SpecBuilderFactory: builder selection
- CompositeSpecBuilder: multi-strategy fallback
- BuildMetadata: context for builders
Validators:
- StateGraphValidator: DAG structure
- ActivityAvailabilityValidator: activity existence
- TimeoutValidator: timeout format
- CompositeValidator: multiple validators
- TransitionValidator: state transitions
Refactored Components:
- LLMRouter: config-driven, provider-agnostic
- LLMClient: now implements LLMProvider
- llm_router.go: 97 fewer lines (delegated to builders)
Migration Path:
OLD: NewLLMRouter(kb)
NEW: NewLLMRouter(LLMRouterConfig{Provider: ..., KB: ...})
2026-09-03 09:17:38 -07:00
..
2026-08-23 18:02:39 -07:00
2026-09-03 09:10:37 -07:00
2026-08-23 17:48:15 -07:00
2026-08-23 17:23:35 -07:00
2026-08-23 16:49:25 -07:00
2026-08-23 17:15:10 -07:00
2026-08-23 18:02:39 -07:00
2026-08-23 17:48:15 -07:00
2026-08-21 21:57:01 -07:00
2026-08-23 18:01:18 -07:00
2026-08-23 18:01:18 -07:00
2026-08-23 18:02:39 -07:00
2026-08-23 17:17:51 -07:00
2026-08-23 17:48:15 -07:00
2026-08-23 17:32:55 -07:00
2026-08-23 16:33:49 -07:00
2026-08-23 17:24:46 -07:00
2026-08-23 17:21:23 -07:00
2026-08-23 17:48:15 -07:00
2026-08-21 15:58:46 -07:00
2026-08-23 17:25:52 -07:00
2026-08-23 16:33:49 -07:00
2026-09-02 19:21:53 -07:00
2026-08-23 16:33:49 -07:00
2026-08-23 17:11:56 -07:00
2026-08-23 17:30:05 -07:00
2026-08-23 18:02:39 -07:00
2026-08-23 16:43:30 -07:00
2026-09-03 09:17:38 -07:00
2026-08-23 18:01:18 -07:00
2026-08-23 17:31:37 -07:00
2026-08-23 16:47:31 -07:00
2026-08-23 18:01:18 -07:00