Skip to content

0.8.0

Choose a tag to compare

@dgenio dgenio released this 19 May 05:43
· 202 commits to main since this release
1c20600

What's Changed

Added

  • CrewAI adapter (#193) — �dapters/crewai.py. Thin stateless converter: CrewAI BaseTool instances or plain-dict shape → SelectableItem. Ships crewai_tool_to_selectable, crewai_tools_to_catalog, infer_crewai_namespace, load_crewai_catalog. Dict-conversion path works without [crewai] extra. New integration guide docs/integration_crewai.md and examples/crewai_adapter_demo.py.
  • Mem0 external-memory backend (#195) — extras/memory/mem0.py. Mem0EpisodicStore + Mem0FactStore implement EpisodicStore / FactStore Protocols verbatim (no widening). Writes via mem0.Memory.add(infer=False) stamped with cw_episode_id / cw_fact_id metadata. New [mem0] optional-dependency group. New docs/integration_memory.md decision matrix.

Changed

  • Provider-SDK leak invariant tests now run in a subprocess — the est_module_does_not_import_provider_sdk_at_load_time assertions in est_adapters_openai_messages.py, est_adapters_anthropic_messages.py, and est_adapters_gemini_contents.py now spawn a fresh interpreter so the check is independent of test ordering and other installed extras (e.g. crewai transitively importing openai).

Fixed

  • crewai adapter: deep-copy �rgs_schema to prevent catalog mutation
  • EpisodicStore.add(): upsert semantics (idempotent on re-add)
  • Mem0EpisodicStore.add(): graceful fallback to append-only when scan_limit exceeded
  • Mem0FactStore.put(): guarded write path to avoid silent data loss
  • Docs: corrected API kwargs, added original_description metadata

Full changelog: https://github.com/dgenio/contextweaver/blob/main/CHANGELOG.md