Skip to content

[docs] misc updates based on feedback - #888

Merged
artberger merged 12 commits into
mainfrom
adb-fixes
Aug 13, 2026
Merged

[docs] misc updates based on feedback#888
artberger merged 12 commits into
mainfrom
adb-fixes

Conversation

@artberger

Copy link
Copy Markdown
Collaborator
  • source token in xaa
  • jwtSign
  • token types
  • tool calls

Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
@artberger artberger added this to the Docs for 1.5 milestone Aug 12, 2026
@artberger artberger self-assigned this Aug 12, 2026
@artberger artberger added documentation Improvements or additions to documentation agentgateway labels Aug 12, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 12, 2026

Copy link
Copy Markdown

Deploying agentproxy with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7e56048
Status: ✅  Deploy successful!
Preview URL: https://4e6558c5.agentproxy.pages.dev
Branch Preview URL: https://adb-fixes.agentproxy.pages.dev

View logs

Comment thread assets/agw-docs/pages/agentgateway/llm/observability.md Outdated
Comment thread assets/agw-docs/pages/agentgateway/llm/observability.md Outdated
Comment thread assets/agw-docs/pages/agentgateway/llm/observability.md Outdated

The gateway extracts tool calls from every response format that it supports, including streaming responses. For a streaming response, the gateway assembles the argument fragments from the individual chunks into one value when the stream ends, so a set of arguments that the provider splits across several chunks still arrives as one object.

When a response carries no tool calls, the gateway omits the attribute from the log line completely, rather than recording an empty array. Filter for the attribute name to find the requests that used tools.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assuming this is true for traces also, but might be worth adding

When a response carries no tool calls, the gateway omits the attribute from the log line completely, rather than recording an empty array. Filter for the attribute name to find the requests that used tools.

> [!NOTE]
> Reading `llm.toolCalls` has a performance cost for large responses, because the gateway inspects the response body. Add the attribute where the tool calls matter, rather than to every route.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't understand the second sentence

Comment thread assets/agw-docs/pages/security/backend-authn-cross-app-access.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-cross-app-access.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-cross-app-access.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-cross-app-access.md Outdated
expression: jwt.id_token
```

The `jwt` variable holds the claims of the token that the JWT authentication policy validated, so an expression can read only a claim that arrived signed. The exchange runs on the extracted ID token, and the outer access token is never sent to either token endpoint.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I understand what it means with outer access token


### When the source yields no credential {#subject-token-empty}

The gateway does not fall back to another location. If the configured source yields nothing, the request fails with a `400` and the message `invalid request`, and the gateway does not call the identity provider. The following cases all fail this way:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this could be summarized to 1 or 2 sentences and added further up where you explain how to set the source

| `audiences`, `scopes`, `resources` | The `audience`, `scope`, and `resource` parameters sent to the token endpoint. `resources` are [RFC 8707](https://datatracker.ietf.org/doc/html/rfc8707) resource indicators. |
| `subjectToken` | Where to read the incoming credential and its `tokenType` (`AccessToken`, `Jwt`, and so on). Defaults to the `Authorization: Bearer` header. |
| `actorToken` | Optional RFC 8693 delegation actor token (`TokenExchange` grant only). |
| `subjectToken` | Where to read the incoming credential and its `tokenType`, which is either a built-in name such as `AccessToken`, `Jwt`, or `IdToken`, or a custom absolute URI, as described in [Token types](#token-types). Defaults to the `Authorization: Bearer` header, with the type `AccessToken`. |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is accesstoken, jwt, etc the type of token and the authorization header is the source? if so maybe update that sentence.

Comment thread assets/agw-docs/pages/security/backend-authn-oauth.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-oauth.md Outdated
Comment thread content/docs/standalone/main/configuration/security/backend-authn/_index.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-jwt-sign.md Outdated
Comment thread assets/agw-docs/pages/security/backend-authn-jwt-sign.md Outdated
| `ttl` | Optional token lifetime that the gateway uses for `exp`. Defaults to `300s`. |
| `location` | Optional location that the gateway writes the signed token to. Defaults to the `Authorization` header with a `Bearer` prefix. Set exactly one of `header`, `queryParameter`, or `cookie` to change it. At a custom location, the gateway writes the bare token with no `Bearer` prefix. |

2. Only `signingKeyRef` is required. A policy that sets nothing else signs with `RS256` and a 300-second lifetime, and writes the token to the `Authorization` header.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure why this is a step

artberger and others added 4 commits August 12, 2026 14:51
Signed-off-by: Art Berger <art.berger@solo.io>
Signed-off-by: Art Berger <art.berger@solo.io>
Co-authored-by: Nadine Spies <nadinekipsch@onlinehome.de>
Signed-off-by: Art <artberger@users.noreply.github.com>
Signed-off-by: Art Berger <art.berger@solo.io>
@artberger
artberger merged commit 95fb7f7 into main Aug 13, 2026
28 checks passed
@artberger
artberger deleted the adb-fixes branch August 13, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agentgateway documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants