Skip to content

v0.1.35

Choose a tag to compare

@github-actions github-actions released this 04 Jul 21:17

Added

  • Named provider registryokf/config.py now ships built-in provider presets (anthropic, openai, deepseek, gemini, glm, openrouter, dashscope, minimax, ollama, lmstudio, local) with default base_urls. Users reference by name instead of repeating URL+model.
  • Per-mode provider routingenrich.description, enrich.deep, enrich.security, and enrich.semantic_related each resolve their own provider independently. Resolution cascade: enrich.{mode}.{key}providers.{name}.{key}llm.{key}.
  • LLM enrichment extensionsenrich_concept() now also sets design_pattern and LLM-suggested semantic tags (merged, deduped). New enrich_concept_deep() second pass (gated behind enrich.deep.enabled) reads actual source body via source_lines to produce usage_example, side_effects, security, complexity.
  • Deterministic deprecation detection_detect_deprecation() uses regex over docstring+decorators, no LLM call needed.
  • _get() multi-level dot-notation — now supports arbitrary depth (e.g. enrich.deep.provider resolves correctly).
  • Anthropic SDK support_resolve_client() uses anthropic.Anthropic for "anthropic" provider, openai.OpenAI for all others.
  • 7 new unit tests — provider resolution cascade, per-mode overrides, built-in provider lookups, multi-level _get.

Changed

  • config.py DEFAULTS now includes providers.* and enrich.* sections. Default LLM provider changed to "local".
  • load() uses copy.deepcopy(DEFAULTS) instead of mutable reference merge — prevents config file loads from mutating module-level defaults (fixes test isolation).
  • enrich_concept() now also accepts inheritance context in prompt, max_tokens bumped 300→400.
  • Version bumped to 0.1.35.