fabro/lib
Bryan Helmkamp 74aaed2611
Merge origin/main into feat/vertex-adapter
Resolve conflicts introduced by the provider-identity refactor on main (#280)
while preserving the Vertex adapter intent from this branch:

- Adopt main's typed `AdapterKind` enum; add `Vertex` variant and `VERTEX`
  metadata entry rather than reintroducing the deleted `Provider` enum.
- Replace `AdapterMetadata.api_key_header: ApiKeyHeaderPolicy` with
  `auth_strategy: AdapterAuthStrategy` (`ApiKey(policy)` | `GoogleApplicationDefault`)
  so credential-resolution code can short-circuit for adapter-managed auth.
- Update `fabro_auth::{env_source,resolve}` to use catalog-driven adapter
  metadata and look up Vertex via `ProviderId::new("vertex")`.
- Wire Vertex into `fabro_llm::adapter_registry::factory_for`.
- Route `fabro_workflow::handler::llm::cli` and `fabro_agent::cli`/`memory`
  off `AgentProfileKind` rather than the closed Provider enum so Vertex
  inherits the Anthropic profile via catalog metadata.
- Map Vertex to the Anthropic billing/pricing algorithm.
- Drop `lib/crates/fabro-model/src/provider.rs` (deleted by main).
- Drop the legacy `provider_key_url` / `unsupported_install_provider_error`
  helpers; vertex.toml now drives provider catalog behavior.

cargo build --workspace, cargo nextest run -p fabro-model -p fabro-auth
-p fabro-llm -p fabro-agent -p fabro-workflow -p fabro-server -p fabro-cli,
cargo +nightly-2026-04-14 fmt --check --all, and cargo +nightly-2026-04-14
clippy --workspace --all-targets -- -D warnings all pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 08:57:55 -04:00
..
crates Merge origin/main into feat/vertex-adapter 2026-05-17 08:57:55 -04:00
packages/fabro-api-client feat(session): add server-backed agent sessions (#278) 2026-05-16 17:25:05 -04:00