Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 2 additions & 25 deletions content/docs/configuration/dotenv.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1586,37 +1586,14 @@ Named attached environments can also expose a self-service pairing control plane

Settings for showing a conversation's GitHub pull request. See [Conversation Pull Requests](/docs/features/pull_requests) and [`endpoints.agents.pullRequests`](/docs/configuration/librechat_yaml/object_structure/agents#pullrequests).

<Callout type="important" title="Pending: not yet released">
The three fallback token variables are part of LibreChat-AI/LibreChat#16876. In older versions,
set the variable that `token: "${NAME}"` refers to.
</Callout>

<OptionTable
options={[
[
'GITHUB_PULL_REQUEST_TOKEN',
'GITHUB_PULL_REQUEST_TOKEN (or any name you choose)',
'string',
'Pending. Fallback read-only GitHub token when `pullRequests.token` is not set. Tried first. Set on the LibreChat server.',
'The variable that `pullRequests.token: "${NAME}"` refers to, holding a read-only GitHub token. Set on the LibreChat server.',
'# GITHUB_PULL_REQUEST_TOKEN=your-read-only-token',
],
[
'GITHUB_TOKEN',
'string',
'Pending. Fallback token, tried second. It is a common name: if your deployment already uses it for something else, the fallback starts using it here as soon as a repository scope is set.',
'# GITHUB_TOKEN=your-read-only-token',
],
[
'GH_TOKEN',
'string',
'Pending. Fallback token, tried third.',
'# GH_TOKEN=your-read-only-token',
],
[
'Any name you choose',
'string',
'The variable that `pullRequests.token: "${NAME}"` refers to. Set on the LibreChat server.',
'# MY_GITHUB_TOKEN=your-read-only-token',
],
[
'CODEAPI_BRIDGE_LANE_GIT',
'boolean',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -552,44 +552,30 @@ Event Actor detached Action completion is selected automatically from the built-

## pullRequests

{/* Pending items (LibreChat-AI/LibreChat#16876): delete the "Older versions" notes and Pending markers once it merges. Re-verify defaults and ranges against packages/data-provider/src/config.ts. */}

Shows the GitHub pull request for a conversation's attached code workspace in the chat header and sidebar. See [Conversation Pull Requests](/docs/features/pull_requests) for setup, behavior and troubleshooting. Every key is optional.

Most administrators set only a token, a repository scope, and possibly `enabled: false`. The remaining keys are for tuning, and their defaults are fine.

<Callout type="important" title="Pending: not yet released">
Default-on behavior, the environment variable token fallback, and `allowAllRepositories` are part
of LibreChat-AI/LibreChat#16876. In older versions `enabled` defaults to `false` and `token` is
required.
</Callout>
Most administrators set only `enabled`, `token` and `allowedRepositories`. The remaining keys are for tuning, and their defaults are fine.

<OptionTable
options={[
[
'enabled',
'Boolean',
'Set `false` to turn the feature off. Pending: it is on once a token and a repository scope exist. Older versions: defaults to `false`, and `true` requires `token` and a non-empty `allowedRepositories`.',
'enabled: false',
'Turns the feature on. Default: `false`. `true` requires `token` and a non-empty `allowedRepositories`.',
'enabled: true',
],
[
'token',
'String',
'Reference to an environment variable that holds a read-only GitHub token, in the form `${NAME}`. Never the token itself. Pending: when unset, the server uses the first of `GITHUB_PULL_REQUEST_TOKEN`, `GITHUB_TOKEN`, `GH_TOKEN` that is set. A `token` that does not resolve fails with `NOT_CONFIGURED` and does not fall back. Older versions: required.',
'Reference to an environment variable that holds a read-only GitHub token, in the form `${NAME}`. Never the token itself. Required when `enabled` is `true`. A `token` whose variable is empty or missing fails with `NOT_CONFIGURED`.',
'token: "${GITHUB_PULL_REQUEST_TOKEN}"',
],
[
'allowedRepositories',
'Array of Strings',
'Repositories the token may be used for, as `owner/name` or `owner/*` (up to 256 entries, case-insensitive). `*/*`, `*`, `owner`, and entries containing `..` are rejected.',
'Repositories the token may be used for, as `owner/name` or `owner/*` (up to 256 entries, case-insensitive). Required when `enabled` is `true`. `*/*`, `*`, `owner`, and entries containing `..` are rejected.',
'allowedRepositories: ["LibreChat-AI/LibreChat", "my-org/*"]',
],
[
'allowAllRepositories',
'Boolean',
'Pending. Look up any repository the token can read. Default: `false`. See the warning below.',
'allowAllRepositories: false',
],
[
'cacheTtlSeconds',
'Number',
Expand Down Expand Up @@ -659,16 +645,11 @@ Most administrators set only a token, a repository scope, and possibly `enabled:
]}
/>

<Callout type="warning" title="Security: allowAllRepositories">
With this on, any user who can run code can point the server's token at any repository that token
can read, and see the pull request title, size and check status. Use a read-only token scoped to
the repositories you are willing to show.
</Callout>

```yaml filename="endpoints / agents / pullRequests"
endpoints:
agents:
pullRequests:
enabled: true
token: '${GITHUB_PULL_REQUEST_TOKEN}'
allowedRepositories:
- 'LibreChat-AI/LibreChat'
Expand All @@ -677,8 +658,6 @@ endpoints:
maxConcurrentLookups: 4
```

On older versions, add `enabled: true`.

## backgroundTasks

Controls whether supported completed background tools and detached Subagents automatically resume their saved parent Agent.
Expand Down
Loading
Loading