Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
a33ad0d
test a2a jsonrpc and http transports
evalstate May 20, 2026
e8867e1
support a2a streaming and file parts
evalstate May 20, 2026
13fb980
add a2a diagnostic commands
evalstate May 20, 2026
94e6193
add interactive a2a connect
evalstate May 20, 2026
59c603d
add a2a cli shortcut and fake server
evalstate May 20, 2026
fffa4a9
document and expose a2a transport diagnostics
evalstate May 20, 2026
9827394
handle a2a connection failures gracefully
evalstate May 20, 2026
2767f49
add a2a getting started docs pipeline
evalstate May 20, 2026
dc0e62a
embed asciinema player in a2a docs
evalstate May 20, 2026
0b91bf5
record colored a2a docs casts
evalstate May 20, 2026
6ccc47f
add a2a cast theme switch
evalstate May 20, 2026
2956bda
a2a support and docs building
evalstate May 20, 2026
a4fb64b
align a2a cast theme with docs styles
evalstate May 20, 2026
c4baa74
update a2a implementation plan
evalstate May 20, 2026
cf9f3a4
Add A2A streaming help and input-required demos
evalstate May 20, 2026
7972c3b
Fix A2A remote agent cloning and artifacts
evalstate May 20, 2026
9671650
Add fast-agent A2A server transport
evalstate May 20, 2026
e85b676
Preserve noenv in server startup
evalstate May 20, 2026
36b30be
Add A2A server streaming and input-required support
evalstate May 20, 2026
9911875
Document A2A client server and API usage
evalstate May 20, 2026
31690e2
Fix A2A transport probing and advertised URLs
evalstate May 20, 2026
312d086
Align A2A connect with HTTP transport scope
evalstate May 20, 2026
4bf6016
Reject gRPC in A2A agent cards
evalstate May 20, 2026
77d1302
Fix A2A task event terminal handling
evalstate May 20, 2026
454f701
Fix A2A server card URLs and file parts
evalstate May 20, 2026
2494a83
Add serve a2a CLI alias
evalstate May 20, 2026
1815e1f
Respect served agent history for A2A contexts
evalstate May 20, 2026
05820a7
Update A2A protocol compliance docs
evalstate May 20, 2026
ea4f10d
Test A2A server task cancellation
evalstate May 20, 2026
f2ee492
Test A2A task retrieval after cancellation
evalstate May 20, 2026
9c75dd9
Advertise A2A media modes in server cards
evalstate May 20, 2026
a51f278
Fix A2A history and instance scopes
evalstate May 20, 2026
f1cd0e6
Test A2A server multimodal input mapping
evalstate May 20, 2026
28a9798
Update A2A compliance verification docs
evalstate May 20, 2026
535d675
Add A2A TUI and JSON data coverage
evalstate May 20, 2026
7507606
Add real LLM A2A recording path
evalstate May 21, 2026
0f3b840
Test A2A serve CLI paths
evalstate May 21, 2026
841bcd7
Document A2A goal addendum
evalstate May 21, 2026
e2f4605
Audit A2A completion evidence
evalstate May 21, 2026
829a054
Archive initial A2A client plan
evalstate May 21, 2026
1cfaf80
Mark A2A completion audit verified
evalstate May 21, 2026
e489c83
Plan A2A OAuth HF hosting
evalstate May 21, 2026
b0dec67
Add A2A Hugging Face bearer auth
evalstate May 21, 2026
66e9ffd
Add A2A client OAuth flow support
evalstate May 21, 2026
359f505
Serialize A2A auth in card dumps
evalstate May 21, 2026
88bad89
docs update
evalstate May 21, 2026
c0bf3fb
commit latest
evalstate May 21, 2026
f897abb
Merge remote-tracking branch 'origin/main' into dev/v0.7.8
evalstate May 22, 2026
dc063a2
Merge remote-tracking branch 'origin' into dev/v0.7.8
evalstate May 23, 2026
db409fd
Merge remote-tracking branch 'origin/main' into dev/v0.7.8
evalstate May 24, 2026
660053f
Suppress keyring notice in docs recordings
evalstate May 25, 2026
2ce1618
Document asciinema image capture experiment
evalstate May 25, 2026
3dfec30
Add TUI image generation cast
evalstate May 25, 2026
32a317a
Use halfcell backend for TUI image cast
evalstate May 25, 2026
50c65fa
streaming!
evalstate May 26, 2026
c3878d3
Merge branch 'main' into dev/v0.7.8
evalstate May 26, 2026
b9c3e72
docs: refresh A2A client assets
evalstate May 26, 2026
622e584
docs: fix A2A docs checks
evalstate May 26, 2026
a824b7f
test: expect HF Space ambient auth header
evalstate May 26, 2026
d2448c7
Align A2A client context handling with spec
evalstate May 26, 2026
b89dc48
a2a updates, init updates!
evalstate May 27, 2026
4238621
temporary commit of facts example
evalstate May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,3 +152,34 @@ jobs:

- name: Run package install test
run: bash scripts/test_package_install.sh

docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true

- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install the project
run: |
uv sync --locked --group dev

- name: Generate reference docs
run: uv run scripts/docs.py generate

- name: Fail on partial docs generation
run: test ! -f docs/docs/_generated/_generation_warnings.md

- name: Check generated docs are committed
run: git diff --exit-code -- docs/docs/_generated

- name: Build docs
run: uv run scripts/docs.py build
16 changes: 9 additions & 7 deletions docs/docs/_generated/model_aliases_google.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
| Model Alias | Maps to | Model Alias | Maps to |
| --- | --- | --- | --- |
| `gemini` | `gemini-3.1-pro-preview` | `gemini2` | `gemini-2.0-flash` |
| `gemini-2.0-flash` | `gemini-2.0-flash` | `gemini25` | `gemini-2.5-flash` |
| `gemini-2.5-flash` | `gemini-2.5-flash` | `gemini25pro` | `gemini-2.5-pro` |
| `gemini-2.5-pro` | `gemini-2.5-pro` | `gemini3` | `gemini-3-pro-preview` |
| `gemini-3-flash-preview` | `gemini-3-flash-preview` | `gemini3.1` | `gemini-3.1-pro-preview` |
| `gemini-3-pro-preview` | `gemini-3-pro-preview` | `gemini3.1flashlite` | `gemini-3.1-flash-lite-preview` |
| `gemini` | `gemini-3.1-pro-preview` | `gemini25` | `gemini-2.5-flash` |
| `gemini-2.0-flash` | `gemini-2.0-flash` | `gemini25pro` | `gemini-2.5-pro` |
| `gemini-2.5-flash` | `gemini-2.5-flash` | `gemini3` | `gemini-3-pro-preview` |
| `gemini-2.5-pro` | `gemini-2.5-pro` | `gemini3.1` | `gemini-3.1-pro-preview` |
| `gemini-3-flash-preview` | `gemini-3-flash-preview` | `gemini3.1flashlite` | `gemini-3.1-flash-lite-preview` |
| `gemini-3-pro-preview` | `gemini-3-pro-preview` | `gemini3.5flash` | `gemini-3.5-flash` |
| `gemini-3.1-flash-lite-preview` | `gemini-3.1-flash-lite-preview` | `gemini31pro` | `gemini-3.1-pro-preview` |
| `gemini-3.1-pro-preview` | `gemini-3.1-pro-preview` | `gemini3flash` | `gemini-3-flash-preview` |
| `gemini-3.1-pro-preview` | `gemini-3.1-pro-preview` | `gemini35` | `gemini-3.5-flash` |
| `gemini-3.5-flash` | `gemini-3.5-flash` | `gemini35flash` | `gemini-3.5-flash` |
| `gemini2` | `gemini-2.0-flash` | `gemini3flash` | `gemini-3-flash-preview` |
2 changes: 1 addition & 1 deletion docs/docs/_generated/model_aliases_hf.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
| Model Alias | Maps to |
| --- | --- |
| `deepseek-hf` | `hf.deepseek-ai/DeepSeek-V4-Pro:together` |
| `deepseek-ai/deepseek-v4-pro` | `deepseek-ai/deepseek-v4-pro` |
| `deepseek-hf` | `hf.deepseek-ai/DeepSeek-V4-Pro:together` |
| `deepseek32` | `hf.deepseek-ai/DeepSeek-V3.2:fireworks-ai` |
| `deepseek4-hf` | `hf.deepseek-ai/DeepSeek-V4-Pro:together` |
| `deepseek4pro-hf` | `hf.deepseek-ai/DeepSeek-V4-Pro:together` |
Expand Down
23 changes: 12 additions & 11 deletions docs/docs/_generated/models_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,30 @@
| `opus46` | `anthropic` | Text, Vision, Document | `json` (schema) | effort: `auto`, `low`, `medium`, `high`, `max`, `off`<br>Example: `opus46.auto` | — | `web_search` (web_search_20260209)<br>`web_fetch` (web_fetch_20260209)<br>beta: `code-execution-web-tools-2026-02-09` |
| `opus` | `anthropic` | Text, Vision, Document | `json` (schema) | effort: `auto`, `low`, `medium`, `high`, `xhigh`, `max`, `off`<br>Example: `opus.auto` | — | `web_search` (web_search_20260209)<br>`web_fetch` (web_fetch_20260209)<br>beta: `code-execution-web-tools-2026-02-09` |
| `codexspark` | `codexresponses` | Text | `json` (schema) | — | — | — |
| `deepseek` | `deepseek` | Text | `json` (schema) | effort: `high`, `max`, `off`<br>Example: `deepseek.high` | — | — |
| `deepseek-reasoner` | `deepseek` | Text | `json` (schema) | effort: `high`, `max`, `off`<br>Example: `deepseek-reasoner.high` | — | — |
| `deepseek.deepseek-ai/deepseek-v3.1` | `deepseek` | Text | `json` (schema) | — | — | — |
| `deepseek3` | `deepseek` | Text | `json` (schema) | — | — | — |
| `deepseek4flash` | `deepseek` | Text | `json` (schema) | effort: `high`, `max`, `off`<br>Example: `deepseek4flash.high` | — | — |
| `deepseek` | `deepseek` | Text | `json` (schema) | effort: `high`, `max`, `off`<br>Example: `deepseek.high` | — | — |
| `passthrough` | `fast-agent` | Text | `json` (schema) | — | — | — |
| `playback` | `fast-agent` | Text | `json` (schema) | — | — | — |
| `silent` | `fast-agent` | Text | `json` (schema) | — | — | — |
| `slow` | `fast-agent` | Text | `json` (schema) | — | — | — |
| `gemini25` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini25.auto` | — | — |
| `gemini25pro` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini25pro.auto` | — | — |
| `gemini2` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | — | — | — |
| `gemini3.1flashlite` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini3.1flashlite.auto` | — | — |
| `gemini3` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini3.auto` | — | — |
| `gemini3flash` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini3flash.auto` | — | — |
| `gemini` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `auto`, `minimal`, `low`, `medium`, `high`, `off`<br>Example: `gemini.auto` | — | — |
| `gemini3.1flashlite` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `minimal`, `low`, `medium`, `high`<br>Example: `gemini3.1flashlite.medium` | — | — |
| `gemini35` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `minimal`, `low`, `medium`, `high`<br>Example: `gemini35.medium` | — | — |
| `gemini3` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `minimal`, `low`, `medium`, `high`<br>Example: `gemini3.medium` | — | — |
| `gemini3flash` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `minimal`, `low`, `medium`, `high`<br>Example: `gemini3flash.medium` | — | — |
| `gemini` | `google` | Text, Vision, Document, Audio, Video | `json` (schema) | effort: `minimal`, `low`, `medium`, `high`<br>Example: `gemini.medium` | — | — |
| `groq.deepseek-r1-distill-llama-70b` | `groq` | Text | `json` (object) | — | — | — |
| `groq.qwen/qwen3-32b` | `groq` | Text | `json` (object) | — | — | — |
| `moonshotai/kimi-k2-instruct-0905` | `groq` | Text | `json` (schema) | — | — | — |
| `moonshotai/kimi-k2-thinking` | `groq` | Text | `json` (schema) | — | — | — |
| `moonshotai/kimi-k2` | `groq` | Text | `json` (schema) | — | — | — |
| `deepseek32` | `hf` | Text | `json` (schema) | — | — | — |
| `deepseek-hf` | `hf` | Text | `json` (schema) | — | — | — |
| `deepseek32` | `hf` | Text | `json` (schema) | — | — | — |
| `glm47` | `hf` | Text | `json` (schema) | toggle: `on`, `off`<br>Example: `glm47?reasoning=off` | — | — |
| `glm5` | `hf` | Text | `json` (schema) | toggle: `on`, `off`<br>Example: `glm5?reasoning=off` | — | — |
| `glm` | `hf` | Text | `json` (schema) | toggle: `on`, `off`<br>Example: `glm?reasoning=off` | — | — |
Expand Down Expand Up @@ -108,8 +109,8 @@
| `grok-4-1-fast-reasoning` | `xai` | Text, Vision | `json` (schema) | — | — | — |
| `grok-4-fast-reasoning` | `xai` | Text, Vision | `json` (schema) | — | — | — |
| `grok-4-fast` | `xai` | Text, Vision | `json` (schema) | — | — | — |
| `grok-4-latest` | `xai` | Text | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4-latest.low` | — | — |
| `grok-4.3-latest` | `xai` | Text | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4.3-latest.low` | — | — |
| `grok-4` | `xai` | Text | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4.low` | — | — |
| `grok` | `xai` | Text | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok.low` | — | — |
| `grok` | `xai` | Text | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok.low` | — | — |
| `grok-4-latest` | `xai` | Text, Vision | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4-latest.low` | — | — |
| `grok-4.3-latest` | `xai` | Text, Vision | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4.3-latest.low` | — | — |
| `grok-4` | `xai` | Text, Vision | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok-4.low` | — | — |
| `grok` | `xai` | Text, Vision | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok.low` | — | — |
| `grok` | `xai` | Text, Vision | `json` (schema) | effort: `none`, `low`, `medium`, `high`, `off`<br>Example: `grok.low` | — | — |
24 changes: 12 additions & 12 deletions docs/docs/_generated/request_params_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,28 @@
| --- | --- | --- | --- |
| `task` | `mcp.types.TaskMetadata | None` | `None` | |
| `meta` | `mcp.types.RequestParams.Meta | None` | `None` | |
| `messages` | `list` | `[]` | |
| `messages` | `list[mcp.types.SamplingMessage]` | `[]` | |
| `modelPreferences` | `mcp.types.ModelPreferences | None` | `None` | |
| `systemPrompt` | `str | None` | `None` | |
| `includeContext` | `Optional` | `None` | |
| `includeContext` | `Literal['none', 'thisServer', 'allServers'] | None` | `None` | |
| `temperature` | `float | None` | `None` | |
| `maxTokens` | `int` | `2048` | |
| `stopSequences` | `list[str] | None` | `None` | |
| `metadata` | `dict[str, typing.Any] | None` | `None` | |
| `metadata` | `dict[str, Any] | None` | `None` | |
| `tools` | `list[mcp.types.Tool] | None` | `None` | |
| `toolChoice` | `mcp.types.ToolChoice | None` | `None` | |
| `model` | `str | None` | `None` | |
| `use_history` | `bool` | `True` | |
| `max_iterations` | `int` | `99` | |
| `max_iterations` | `int` | `199` | |
| `parallel_tool_calls` | `bool` | `True` | |
| `response_format` | `typing.Any | None` | `None` | |
| `structured_schema` | `dict[str, typing.Any] | None` | `None` | |
| `structured_tool_policy` | `Literal` | `'auto'` | |
| `template_vars` | `dict` | `PydanticUndefined` | |
| `mcp_metadata` | `dict[str, typing.Any] | None` | `None` | |
| `tool_execution_handler` | `typing.Any | None` | `None` | |
| `response_format` | `Any | None` | `None` | |
| `structured_schema` | `dict[str, Any] | None` | `None` | |
| `structured_tool_policy` | `Literal['auto', 'always', 'defer', 'no_tools']` | `'auto'` | |
| `template_vars` | `dict[str, Any]` | `PydanticUndefined` | |
| `mcp_metadata` | `dict[str, Any] | None` | `None` | |
| `tool_execution_handler` | `Any | None` | `None` | |
| `emit_loop_progress` | `bool` | `False` | |
| `tool_result_mode` | `Literal` | `'postprocess'` | |
| `tool_result_mode` | `Literal['postprocess', 'passthrough', 'selectable']` | `'postprocess'` | |
| `batch_context` | `fast_agent.llm.request_params.BatchRequestContext | None` | `None` | |
| `streaming_timeout` | `float | None` | `300.0` | |
| `top_p` | `float | None` | `None` | |
Expand All @@ -39,4 +39,4 @@
| `presence_penalty` | `float | None` | `None` | |
| `frequency_penalty` | `float | None` | `None` | |
| `repetition_penalty` | `float | None` | `None` | |
| `service_tier` | `Optional` | `None` | |
| `service_tier` | `Literal['fast', 'flex'] | None` | `None` | |
Loading
Loading