Skip to content

feat: add embedding support to LLM providers (#3) - #6

Closed
ngoclam9415 wants to merge 2 commits into
stablefrom
develop
Closed

feat: add embedding support to LLM providers (#3)#6
ngoclam9415 wants to merge 2 commits into
stablefrom
develop

Conversation

@ngoclam9415

Copy link
Copy Markdown
Contributor
  • ci: add auto-release workflow on merge to stable

Tags stable with current version, creates GitHub Release, and bumps patch version on source branch. Supports bump:major and bump:minor PR labels for controlling version increment.

  • ci: split release workflow into bump-on-PR and tag-on-merge
  • bump-version-on-pr-to-stable: auto-bumps patch version on main/* when PR is opened if source version <= stable version
  • release-on-merge-to-stable: tags + creates GitHub Release only
  • For major/minor bumps, manually edit pyproject.toml before PR
  • chore: bump version to 0.1.2

  • feat: add embedding support to LLM providers

Add centralized embedding functionality to dana.common.llm:

  • EmbeddingResponse type, EmbeddingNotSupportedError exception
  • embed()/embed_batch() on OpenAI, Gemini, Azure providers
  • Embedder class with sync/async support, auto-provider selection
  • Providers without embedding (Anthropic, Moonshot) raise clear errors
  • Config: embedding_models per provider in config.json
  • Unit tests (18 tests) and live integration tests

ngoclam9415 and others added 2 commits March 25, 2026 09:54
* ci: add auto-release workflow on merge to stable

Tags stable with current version, creates GitHub Release,
and bumps patch version on source branch. Supports bump:major
and bump:minor PR labels for controlling version increment.

* ci: split release workflow into bump-on-PR and tag-on-merge

- bump-version-on-pr-to-stable: auto-bumps patch version on main/*
  when PR is opened if source version <= stable version
- release-on-merge-to-stable: tags + creates GitHub Release only
- For major/minor bumps, manually edit pyproject.toml before PR

* chore: bump version to 0.1.2

* feat: add embedding support to LLM providers

Add centralized embedding functionality to dana.common.llm:

- EmbeddingResponse type, EmbeddingNotSupportedError exception
- embed()/embed_batch() on OpenAI, Gemini, Azure providers
- Embedder class with sync/async support, auto-provider selection
- Providers without embedding (Anthropic, Moonshot) raise clear errors
- Config: embedding_models per provider in config.json
- Unit tests (18 tests) and live integration tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Base automatically changed from main/v0.1 to stable April 1, 2026 20:47
ngoclam9415 added a commit that referenced this pull request Aug 13, 2026
… flags, cancel-watcher

Wire the D2-D6 capability surface into dana-code (in-process AgentSession):

- permissions.py: CLIPermissionAdapter (AC #2) — in-process analog of ACP
  session/request_permission; evaluates via PolicyEvaluator (ADR-006
  precedence), prompts the terminal user, persists durable grants.
- commands/__init__.py (AC #3, #6): extract /help /compact /status /reset;
  add /model (busy-reject via session._lock.locked(), atomic switch via
  ModelSwitcher) and /permissions; use public AgentSession accessors.
  /reset -> journal semantics (close repo + re-init session).
- code_app.py: wire grant_store + evaluator + set_policy_evaluator in
  _initialize_session (gate DANA_CODE_PERMISSION_PREFLIGHT_ENABLED);
  split _handle_command into _async (AgentSession) / _legacy (sync);
  close the in-memory grant_db on exit (avoids shutdown hang).
- Ctrl-C -> TURN_CANCELLED (ADR-005): cooperative cancel via
  session.cancel() + drain; mid-turn interrupt terminalizes truthfully
  (turn_cancelled fact) and RESUMES the REPL; between-turns Ctrl-C
  continues. Add TURN_INTERRUPTED to host_event_adapter TURN_TERMINAL_KIND.
- code_capabilities.py (AC #1, #4, #5, #6): DANA_CODE_*_ENABLED rollback
  flags (permission preflight, model switch, tool catalog, MCP, multimodal).

tmux smoke (azure): turn renders, /status shows live state, /model lists,
/reset mints new session, mid-turn Ctrl-C -> turn_cancelled + resume,
/exit CLEAN. 25 new tests green; 2660 total (minus known OS-PID flake).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant