headroom/mkdocs.yml
JD Davis 3c77e52ce4
feat: add Vertex AI proxy routing (#793)
## Description

Adds first-class GCP Vertex AI proxy routing for publisher REST
endpoints so Vertex requests are forwarded to a configurable regional
Vertex host instead of falling through to the generic
OpenAI/Anthropic/Gemini passthrough selection.

Fixes #792

## Type of Change

- [x] New feature (non-breaking change that adds functionality)
- [x] Documentation update

## Changes Made

- Added a `vertex` provider target with `VERTEX_TARGET_API_URL` and
`--vertex-api-url` support.
- Registered explicit Vertex publisher routes for Google
`generateContent`, `streamGenerateContent`, `countTokens` and Anthropic
publisher `rawPredict`, `streamRawPredict` passthrough.
- Added startup banner/routing output for Vertex AI.
- Added focused tests for provider target resolution, CLI/env config,
banner output, and route delegation.
- Added `wiki/vertex.md` with usage examples and Google Cloud source
links.

## Sources

- Vertex AI Gemini inference reference:
https://docs.cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference
- Google Cloud REST authentication:
https://docs.cloud.google.com/docs/authentication/rest
- Google Application Default Credentials:
https://docs.cloud.google.com/docs/authentication/application-default-credentials

## Testing

- [x] Linting passes (`python -m ruff check .`)
- [x] New tests added for new functionality
- [x] Focused unit tests pass
- [ ] Full unit suite completed locally
- [ ] Rust tests completed locally
- [ ] Type checking passes locally

## Test Output

```text
$ python -m ruff check .
All checks passed!

$ python -m pytest tests/test_provider_registry.py tests/test_provider_proxy_routes.py tests/test_cli_proxy_env.py tests/test_banner_upstream_targets.py -q
57 passed, 1 warning in 13.75s
```

Local limitations:

- `python -m pytest tests scripts/tests -q` timed out after 1 hour on
this Windows machine before completing.
- `cargo test -p headroom-proxy --test integration_vertex_raw_predict`
could not run because `cargo` is not installed on PATH in this
environment.
- The commit hook's `mypy` step fails locally on an existing Windows
`fcntl` typing issue in `headroom/subscription/tracker.py`; `ruff`,
`ruff-format`, and plugin-version hooks passed, and the commit was made
with only `mypy` skipped.

## Checklist

- [x] My code follows the project's style guidelines
- [x] I have performed a self-review of my code
- [x] I have made corresponding changes to the documentation
- [x] I have added tests that prove the feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] I have updated the CHANGELOG.md if applicable
2026-06-09 23:05:30 -07:00

136 lines
3.6 KiB
YAML

site_name: Headroom
docs_dir: wiki
site_description: "The Context Optimization Layer for LLM Applications — compress everything your AI agent reads."
site_url: https://chopratejas.github.io/headroom
repo_url: https://github.com/chopratejas/headroom
repo_name: chopratejas/headroom
edit_uri: edit/main/docs/
theme:
name: material
custom_dir: docs/overrides
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
primary: deep purple
accent: amber
toggle:
icon: material/brightness-7
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: deep purple
accent: amber
toggle:
icon: material/brightness-4
name: Switch to light mode
font:
text: Inter
code: JetBrains Mono
features:
- content.code.copy
- content.code.annotate
- content.tabs.link
- navigation.instant
- navigation.instant.progress
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- navigation.expand
- navigation.top
- navigation.indexes
- search.highlight
- search.suggest
- search.share
- toc.follow
- header.autohide
icon:
repo: fontawesome/brands/github
logo: material/layers-outline
plugins:
- search
extra_css:
- stylesheets/extra.css
markdown_extensions:
- admonition
- attr_list
- def_list
- md_in_html
- tables
- toc:
permalink: true
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.tasklist:
custom_checkbox: true
nav:
- Home: index.md
- Getting Started:
- Quickstart: quickstart.md
- Installation: getting-started.md
- Docker-Native Install: docker-install.md
- Persistent Installs: persistent-installs.md
- Configuration: configuration.md
- User Guide:
- Proxy Server: proxy.md
- Compression Pipeline: compression.md
- CCR (Lossless Retrieval): ccr.md
- Image Compression: image-compression.md
- Memory System: memory.md
- Shared Context: shared-context.md
- Failure Learning: learn.md
- Integrations:
- Overview: integration-guide.md
- Vertex AI: vertex.md
- LangChain: langchain.md
- Agno: agno.md
- Strands: strands.md
- MCP Tools: mcp.md
- How It Works:
- Architecture: ARCHITECTURE.md
- Transforms Pipeline: transforms.md
- Text Compression: text-compression.md
- LLMLingua: llmlingua.md
- Benchmarks:
- Accuracy: benchmarks.md
- Latency: LATENCY_BENCHMARKS.md
- Limitations: LIMITATIONS.md
- Reference:
- CLI: cli.md
- API: api.md
- SDK: sdk.md
- Differential Network Capture: network-diff-capture.md
- Metrics & Observability: metrics.md
- Error Codes: errors.md
- Troubleshooting: troubleshooting.md
- Deployment:
- macOS LaunchAgent: macos-deployment.md
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/chopratejas/headroom
- icon: fontawesome/brands/python
link: https://pypi.org/project/headroom-ai/
- icon: fontawesome/brands/discord
link: https://discord.gg/yRmaUNpsPJ
generator: false