docs: remove beta references from Coder Agents docs and manifest (#27939)
Removes all references to "beta" from the Coder Agents documentation under `docs/ai-coder/agents/` and the corresponding `"state": ["beta"]` entries in `docs/manifest.json`. Also updates screenshots, video, and hero image, and regenerates the auto-generated feature-stages table. **Beta reference removal:** - `getting-started.md`: Removed "Coder Agents is in Beta" from the top note, "is in beta" from the Chats API note, and "during Beta" from the feedback section. Removed the version/stability note pinning 2.33.1. - `index.md`: Removed the "Product status" section that stated Coder Agents is in Beta. - `manifest.json`: Removed `"state": ["beta"]` from 17 entries for pages under `docs/ai-coder/agents/`. Preserved all `premium` and `early access` states. - `feature-stages.md`: Regenerated the auto-generated beta features table, which no longer lists Coder Agents. **Asset updates:** - `coder-agents-ui.mp4`: Updated demo video on the agents landing page. - `llm-providers.png`: Updated LLM provider support screenshot. - `models-list.png`: Updated models list screenshot. - `models-add-model.png`: Updated add model form screenshot. - `agents-hero-image.png`: Updated hero image on the `docs/ai-coder` landing page. Two references in `models.md` (`v1beta` in the Google Gemini API URL and `anthropic-beta` in the Anthropic header name) were left unchanged as they are provider API identifiers, not product status labels. PR generated with Coder Agents --------- Co-authored-by: Nick Vigilante <nickvigilante@users.noreply.github.com>
@@ -3,11 +3,6 @@
|
||||
This guide walks platform teams and administrators through setting up Coder
|
||||
Agents, preparing your deployment, and running your first Coder Agent.
|
||||
|
||||
> [!NOTE]
|
||||
> Coder Agents is in Beta. APIs, behavior, and configuration may change
|
||||
> between releases without notice; pin a release before broad rollout.
|
||||
> Use **Coder version 2.33.1 or greater**.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you begin, confirm the following:
|
||||
@@ -167,10 +162,9 @@ credential scoping, and pre-installing dependencies.
|
||||
|
||||
### Plan for change between releases
|
||||
|
||||
Coder Agents is under active development. APIs, behavior, and
|
||||
configuration may change between releases without notice. Pin a
|
||||
specific release before broad rollout and review the release notes
|
||||
before upgrading so changes do not surprise developers in production.
|
||||
Coder Agents is generally available.
|
||||
However, APIs, behavior, and configuration may change between releases.
|
||||
As always, you should review [release notes](https://github.com/coder/coder/releases) and the [changelog](https://coder.com/changelog) before upgrading, so changes do not affect production.
|
||||
|
||||
### Use HTTPS for push notifications
|
||||
|
||||
@@ -196,7 +190,7 @@ deployment. Use this to encode organizational conventions:
|
||||
- Any guardrails specific to your environment.
|
||||
|
||||
Configure the system prompt from **AI Settings** > **Coder Agents** > **Instructions**
|
||||
or via the API at `PUT /api/experimental/chats/config/system-prompt`.
|
||||
or via the API at `PUT /api/v2/chats/config/system-prompt`.
|
||||
See [Platform Controls](./platform-controls/index.md) for details.
|
||||
|
||||
### Understand the security model
|
||||
@@ -256,7 +250,7 @@ This is useful for building automations such as:
|
||||
**Quick example — create a Coder Agent via the API:**
|
||||
|
||||
```sh
|
||||
curl -X POST https://coder.example.com/api/experimental/chats \
|
||||
curl -X POST https://coder.example.com/api/v2/chats \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -269,7 +263,7 @@ curl -X POST https://coder.example.com/api/experimental/chats \
|
||||
Stream updates in real time by connecting to the WebSocket endpoint:
|
||||
|
||||
```txt
|
||||
GET /api/experimental/chats/{chat}/stream
|
||||
GET /api/v2/chats/{chat}/stream
|
||||
```
|
||||
|
||||
For service-to-service automation, use
|
||||
@@ -277,10 +271,6 @@ For service-to-service automation, use
|
||||
rather than developer session tokens. Keep automation credentials
|
||||
narrowly scoped.
|
||||
|
||||
> [!NOTE]
|
||||
> The Chats API is in beta and may change without notice.
|
||||
> See [Chats API](../../reference/api/chats.md) for the full endpoint reference.
|
||||
|
||||
### Add workspace context with AGENTS.md
|
||||
|
||||
Create an `AGENTS.md` file in the home directory (`~/.coder/AGENTS.md`) or
|
||||
@@ -319,7 +309,7 @@ Good feedback includes:
|
||||
- **Context** — screenshots, `chat_id` values, or links to the Agents page help
|
||||
the team investigate quickly.
|
||||
|
||||
Your input directly influences product direction during Beta.
|
||||
Your input directly influences product direction.
|
||||
|
||||
## Next steps
|
||||
|
||||
|
||||
@@ -321,8 +321,3 @@ Coder Agents is a new approach that differs from
|
||||
| Workspace selection | Automatic, based on task description | Manual, user selects template |
|
||||
| Sub-agents | Built-in parallel delegation | Not supported |
|
||||
| Modern chat UI | Native chat with diffs, queuing | Terminal-based interface |
|
||||
|
||||
## Product status
|
||||
|
||||
Coder Agents is in Beta. The feature is under active development and
|
||||
available for evaluation.
|
||||
|
||||
@@ -297,9 +297,9 @@ subagents always run on the administrator-configured computer-use model and
|
||||
reject explicit model selection.
|
||||
|
||||
> [!NOTE]
|
||||
> Both override layers are experimental and may change between releases.
|
||||
> The same values are available through the experimental chat
|
||||
> configuration API under `/api/experimental/chats/config/`.
|
||||
> Both override layers may change between releases.
|
||||
> The same values are available through the chat
|
||||
> configuration API under `/api/v2/chats/config/`.
|
||||
|
||||
## User API keys (BYOK)
|
||||
|
||||
|
||||
@@ -44,5 +44,5 @@ Failed advisor invocations refund the per-turn budget.
|
||||
|
||||
The same configuration is available at:
|
||||
|
||||
- `GET /api/experimental/chats/config/advisor`
|
||||
- `PUT /api/experimental/chats/config/advisor`
|
||||
- `GET /api/v2/chats/config/advisor`
|
||||
- `PUT /api/v2/chats/config/advisor`
|
||||
|
||||
@@ -78,8 +78,8 @@ enable auto-archiving.
|
||||
|
||||
Use the admin API to read or update the value:
|
||||
|
||||
GET /api/experimental/chats/config/auto-archive-days
|
||||
PUT /api/experimental/chats/config/auto-archive-days
|
||||
GET /api/v2/chats/config/auto-archive-days
|
||||
PUT /api/v2/chats/config/auto-archive-days
|
||||
|
||||
## Rollout advice
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@ Off by default. Three layers control whether it runs for a given chat:
|
||||
1. **Runtime admin gate.** With the deployment override unset, the
|
||||
*Let users record chat debug logs* toggle decides whether users can opt
|
||||
in. Configure it under **AI Settings** > **Lifecycle**, or at
|
||||
`GET/PUT /api/experimental/chats/config/debug-logging`.
|
||||
`GET/PUT /api/v2/chats/config/debug-logging`.
|
||||
1. **Per-user toggle.** Users with the admin gate enabled can turn debug
|
||||
logging on for their own chats from **Agents** > **Settings** > **General**
|
||||
under *Record debug logs for my chats*. The endpoint
|
||||
`PUT /api/experimental/chats/config/user-debug-logging` returns
|
||||
`PUT /api/v2/chats/config/user-debug-logging` returns
|
||||
`409 Conflict` if the deployment override is active and `403 Forbidden`
|
||||
if the admin has not enabled user opt-in.
|
||||
|
||||
@@ -49,11 +49,11 @@ the newest runs.
|
||||
|
||||
### API access
|
||||
|
||||
The same data is available through the experimental API:
|
||||
The same data is available through the API:
|
||||
|
||||
- `GET /api/experimental/chats/{chat}/debug/runs` lists the most recent runs
|
||||
- `GET /api/v2/chats/{chat}/debug/runs` lists the most recent runs
|
||||
for a chat (up to 100, newest first).
|
||||
- `GET /api/experimental/chats/{chat}/debug/runs/{debugRun}` returns a single
|
||||
- `GET /api/v2/chats/{chat}/debug/runs/{debugRun}` returns a single
|
||||
run with all of its steps, including normalized request and response bodies.
|
||||
|
||||
Fetch a single run and save it as JSON:
|
||||
@@ -66,7 +66,7 @@ export RUN_ID="11111111-1111-1111-1111-111111111111"
|
||||
|
||||
curl -fsS \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
"$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs/$RUN_ID" \
|
||||
"$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs/$RUN_ID" \
|
||||
| jq . > "coder-agents-debug-run-$RUN_ID.json"
|
||||
```
|
||||
|
||||
@@ -77,7 +77,7 @@ from above:
|
||||
```sh
|
||||
RUN_IDS=$(curl -fsS \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
"$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs" \
|
||||
"$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs" \
|
||||
| jq -r '.[].id') || {
|
||||
echo "Failed to list debug runs" >&2
|
||||
exit 1
|
||||
@@ -89,7 +89,7 @@ trap 'rm -f "$RUN_EXPORTS"' EXIT
|
||||
for RUN_ID in $RUN_IDS; do
|
||||
curl -fsS \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
"$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs/$RUN_ID" \
|
||||
"$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs/$RUN_ID" \
|
||||
>> "$RUN_EXPORTS" || {
|
||||
echo "Failed to fetch debug run $RUN_ID" >&2
|
||||
exit 1
|
||||
|
||||
@@ -25,11 +25,11 @@ Navigate to the **Agents** page, open **Settings**, and select the
|
||||
Set the value to `0` to disable debug data retention entirely. The maximum value
|
||||
is `3650` days.
|
||||
|
||||
Use the experimental admin API to read or update the value:
|
||||
Use the admin API to read or update the value:
|
||||
|
||||
```txt
|
||||
GET /api/experimental/chats/config/debug-retention-days
|
||||
PUT /api/experimental/chats/config/debug-retention-days
|
||||
GET /api/v2/chats/config/debug-retention-days
|
||||
PUT /api/v2/chats/config/debug-retention-days
|
||||
```
|
||||
|
||||
## Interaction with conversation retention
|
||||
|
||||
@@ -28,11 +28,11 @@ Navigate to the **Agents** page, open **Settings**, and select the **Behavior**
|
||||
tab to configure the conversation retention period. The default is 30 days. Use the toggle to
|
||||
disable retention entirely.
|
||||
|
||||
Use the experimental admin API to read or update the value:
|
||||
Use the admin API to read or update the value:
|
||||
|
||||
```txt
|
||||
GET /api/experimental/chats/config/retention-days
|
||||
PUT /api/experimental/chats/config/retention-days
|
||||
GET /api/v2/chats/config/retention-days
|
||||
PUT /api/v2/chats/config/retention-days
|
||||
```
|
||||
|
||||
## What gets deleted
|
||||
|
||||
@@ -63,10 +63,10 @@ plan sections, approval checkpoints, or review workflows.
|
||||
|
||||
This setting is available under **AI Settings** > **Coder Agents** > **Instructions**. Developers do not edit it directly.
|
||||
|
||||
The same value is exposed over the experimental chat configuration API:
|
||||
The same value is exposed over the chat configuration API:
|
||||
|
||||
- `GET /api/experimental/chats/config/plan-mode-instructions`
|
||||
- `PUT /api/experimental/chats/config/plan-mode-instructions`
|
||||
- `GET /api/v2/chats/config/plan-mode-instructions`
|
||||
- `PUT /api/v2/chats/config/plan-mode-instructions`
|
||||
|
||||
### Template routing
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@ $1,000,000 per member per period.
|
||||
> Configured per-model prices and historical native cost totals are also not migrated to AI Gateway.
|
||||
> Before upgrading, record any per-model prices you need from **Admin settings** > **AI** > **Models**.
|
||||
> The old cost endpoints default `start_date` to 30 days before the request and `end_date` to the request time, so choose explicit RFC 3339 UTC values that cover all history you need.
|
||||
> Fetch `/api/experimental/chats/cost/users?start_date=<start>&end_date=<end>&limit=100&offset=0` and save the response.
|
||||
> Fetch `/api/v2/chats/cost/users?start_date=<start>&end_date=<end>&limit=100&offset=0` and save the response.
|
||||
> After each page, stop when `offset + users.length >= count`; otherwise, increase `offset` by 100 and fetch the next page.
|
||||
> For every `users[].user_id` across those pages, save `/api/experimental/chats/cost/{user_id}/summary?start_date=<start>&end_date=<end>` with the same dates.
|
||||
> For every `users[].user_id` across those pages, save `/api/v2/chats/cost/{user_id}/summary?start_date=<start>&end_date=<end>` with the same dates.
|
||||
> Each summary contains the user's totals plus `by_model` and `by_chat` breakdowns.
|
||||
> After upgrading, the native **Spend** page, per-model pricing fields, and aggregate cost endpoints are unavailable.
|
||||
> Historical `chat_messages.total_cost_micros` values remain in the database temporarily for rolling upgrade compatibility, but AI Gateway reports do not include or reconstruct them.
|
||||
|
||||
@@ -39,5 +39,5 @@ provider is set.
|
||||
|
||||
The same configuration is available at:
|
||||
|
||||
- `GET /api/experimental/chats/config/computer-use-provider`
|
||||
- `PUT /api/experimental/chats/config/computer-use-provider`
|
||||
- `GET /api/v2/chats/config/computer-use-provider`
|
||||
- `PUT /api/v2/chats/config/computer-use-provider`
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
# Migrating from the Tasks API to the Chats API
|
||||
|
||||
The [Tasks API](../../reference/api/tasks.md) (`/api/v2/tasks`) and the
|
||||
[Chats API](../../reference/api/chats.md) (`/api/experimental/chats`) serve similar
|
||||
[Chats API](../../reference/api/chats.md) (`/api/v2/chats`) serve similar
|
||||
goals (programmatic access to AI-powered coding agents) but they differ
|
||||
significantly in architecture, capabilities, and usage patterns.
|
||||
|
||||
This guide walks you through updating your integrations from the Tasks API
|
||||
to the Chats API.
|
||||
|
||||
> [!NOTE]
|
||||
> The Chats API is experimental in current Coder releases. Endpoints live under `/api/experimental/chats` and may change without notice until the feature graduates to GA.
|
||||
|
||||
## When to migrate
|
||||
|
||||
Coder Tasks is being deprecated. Support continues on the ESR release and
|
||||
@@ -44,21 +41,21 @@ Before mapping individual endpoints, understand the structural changes:
|
||||
|
||||
The table below maps each Tasks API endpoint to its Chats API equivalent.
|
||||
|
||||
| Operation | Tasks API | Chats API |
|
||||
|-------------------|-------------------------------------------|---------------------------------------------------------------------|
|
||||
| List | `GET /api/v2/tasks` | `GET /api/experimental/chats` |
|
||||
| Create | `POST /api/v2/tasks/{user}` | `POST /api/experimental/chats` |
|
||||
| Get by ID | `GET /api/v2/tasks/{user}/{task}` | `GET /api/experimental/chats/{chat}` |
|
||||
| Delete | `DELETE /api/v2/tasks/{user}/{task}` | `PATCH /api/experimental/chats/{chat}` with `{"archived": true}` |
|
||||
| Send follow-up | `POST /api/v2/tasks/{user}/{task}/send` | `POST /api/experimental/chats/{chat}/messages` |
|
||||
| Update input | `PATCH /api/v2/tasks/{user}/{task}/input` | `PATCH /api/experimental/chats/{chat}/messages/{message}` |
|
||||
| Get logs / stream | `GET /api/v2/tasks/{user}/{task}/logs` | `GET /api/experimental/chats/{chat}/stream` (WebSocket) |
|
||||
| Pause | `POST /api/v2/tasks/{user}/{task}/pause` | `POST /api/experimental/chats/{chat}/interrupt` |
|
||||
| Resume | `POST /api/v2/tasks/{user}/{task}/resume` | `POST /api/experimental/chats/{chat}/messages` (send a new message) |
|
||||
| Watch all | n/a | `GET /api/experimental/chats/watch` (WebSocket) |
|
||||
| Get messages | n/a | `GET /api/experimental/chats/{chat}/messages` |
|
||||
| List models | n/a | `GET /api/experimental/chats/models` |
|
||||
| Upload file | n/a | `POST /api/experimental/chats/files` |
|
||||
| Operation | Tasks API | Chats API |
|
||||
|-------------------|-------------------------------------------|-----------------------------------------------------------|
|
||||
| List | `GET /api/v2/tasks` | `GET /api/v2/chats` |
|
||||
| Create | `POST /api/v2/tasks/{user}` | `POST /api/v2/chats` |
|
||||
| Get by ID | `GET /api/v2/tasks/{user}/{task}` | `GET /api/v2/chats/{chat}` |
|
||||
| Delete | `DELETE /api/v2/tasks/{user}/{task}` | `PATCH /api/v2/chats/{chat}` with `{"archived": true}` |
|
||||
| Send follow-up | `POST /api/v2/tasks/{user}/{task}/send` | `POST /api/v2/chats/{chat}/messages` |
|
||||
| Update input | `PATCH /api/v2/tasks/{user}/{task}/input` | `PATCH /api/v2/chats/{chat}/messages/{message}` |
|
||||
| Get logs / stream | `GET /api/v2/tasks/{user}/{task}/logs` | `GET /api/v2/chats/{chat}/stream` (WebSocket) |
|
||||
| Pause | `POST /api/v2/tasks/{user}/{task}/pause` | `POST /api/v2/chats/{chat}/interrupt` |
|
||||
| Resume | `POST /api/v2/tasks/{user}/{task}/resume` | `POST /api/v2/chats/{chat}/messages` (send a new message) |
|
||||
| Watch all | n/a | `GET /api/v2/chats/watch` (WebSocket) |
|
||||
| Get messages | n/a | `GET /api/v2/chats/{chat}/messages` |
|
||||
| List models | n/a | `GET /api/v2/chats/models` |
|
||||
| Upload file | n/a | `POST /api/v2/chats/files` |
|
||||
|
||||
## Migration steps
|
||||
|
||||
@@ -97,7 +94,7 @@ path segment is required:
|
||||
|
||||
```sh
|
||||
# Chats API: create a chat
|
||||
curl -X POST https://coder.example.com/api/experimental/chats \
|
||||
curl -X POST https://coder.example.com/api/v2/chats \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -140,7 +137,7 @@ curl -X POST https://coder.example.com/api/v2/tasks/me/my-task/send \
|
||||
```sh
|
||||
# Chats API: send a message
|
||||
curl -X POST \
|
||||
https://coder.example.com/api/experimental/chats/$CHAT_ID/messages \
|
||||
https://coder.example.com/api/v2/chats/$CHAT_ID/messages \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -168,7 +165,7 @@ curl https://coder.example.com/api/v2/tasks/me/my-task/logs \
|
||||
**Chats API**. You open a one-way WebSocket connection:
|
||||
|
||||
```txt
|
||||
GET wss://coder.example.com/api/experimental/chats/{chat}/stream
|
||||
GET wss://coder.example.com/api/v2/chats/{chat}/stream
|
||||
```
|
||||
|
||||
The WebSocket sends JSON envelopes with a `type` field (`"ping"`,
|
||||
@@ -215,7 +212,7 @@ The Tasks API uses `DELETE` to remove a task. The Chats API uses archiving:
|
||||
- curl -X DELETE https://coder.example.com/api/v2/tasks/me/my-task \
|
||||
- -H "Coder-Session-Token: $CODER_SESSION_TOKEN"
|
||||
|
||||
+ curl -X PATCH https://coder.example.com/api/experimental/chats/$CHAT_ID \
|
||||
+ curl -X PATCH https://coder.example.com/api/v2/chats/$CHAT_ID \
|
||||
+ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
+ -H "Content-Type: application/json" \
|
||||
+ -d '{"archived": true}'
|
||||
@@ -244,12 +241,12 @@ message resumes processing:
|
||||
```sh
|
||||
# Chats API: interrupt
|
||||
curl -X POST \
|
||||
https://coder.example.com/api/experimental/chats/$CHAT_ID/interrupt \
|
||||
https://coder.example.com/api/v2/chats/$CHAT_ID/interrupt \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN"
|
||||
|
||||
# Chats API: resume by sending a new message
|
||||
curl -X POST \
|
||||
https://coder.example.com/api/experimental/chats/$CHAT_ID/messages \
|
||||
https://coder.example.com/api/v2/chats/$CHAT_ID/messages \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -480,7 +477,7 @@ WORKSPACE_ID=$(curl -s -X POST \
|
||||
}' | jq -r '.id')
|
||||
|
||||
# 2. Create the chat bound to that workspace.
|
||||
curl -s -X POST https://coder.example.com/api/experimental/chats \
|
||||
curl -s -X POST https://coder.example.com/api/v2/chats \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
@@ -510,7 +507,7 @@ List available models to verify at least one provider is configured and
|
||||
reachable:
|
||||
|
||||
```sh
|
||||
curl -s https://coder.example.com/api/experimental/chats/models \
|
||||
curl -s https://coder.example.com/api/v2/chats/models \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '.[].display_name'
|
||||
```
|
||||
|
||||
@@ -522,7 +519,7 @@ If this returns an empty list or an error, revisit
|
||||
Create a simple chat that does not require a workspace:
|
||||
|
||||
```sh
|
||||
curl -s -X POST https://coder.example.com/api/experimental/chats \
|
||||
curl -s -X POST https://coder.example.com/api/v2/chats \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -541,7 +538,7 @@ returns a response. Using [websocat](https://github.com/vi/websocat):
|
||||
|
||||
```sh
|
||||
websocat -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
"wss://coder.example.com/api/experimental/chats/$CHAT_ID/stream"
|
||||
"wss://coder.example.com/api/v2/chats/$CHAT_ID/stream"
|
||||
```
|
||||
|
||||
You should see JSON envelopes with `"type": "data"` containing
|
||||
@@ -554,7 +551,7 @@ Verify multi-turn conversation works:
|
||||
|
||||
```sh
|
||||
curl -s -X POST \
|
||||
"https://coder.example.com/api/experimental/chats/$CHAT_ID/messages" \
|
||||
"https://coder.example.com/api/v2/chats/$CHAT_ID/messages" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -584,7 +581,7 @@ as `execute`) against the attached workspace. After the chat finishes,
|
||||
verify the chat is bound to the workspace via the API:
|
||||
|
||||
```sh
|
||||
curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \
|
||||
curl -s "https://coder.example.com/api/v2/chats/$CHAT_ID" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '{workspace_id, status}'
|
||||
```
|
||||
|
||||
@@ -599,14 +596,14 @@ Start a long-running chat and interrupt it:
|
||||
|
||||
```sh
|
||||
curl -s -X POST \
|
||||
"https://coder.example.com/api/experimental/chats/$CHAT_ID/interrupt" \
|
||||
"https://coder.example.com/api/v2/chats/$CHAT_ID/interrupt" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN"
|
||||
```
|
||||
|
||||
Then confirm the chat status returns to `"waiting"`:
|
||||
|
||||
```sh
|
||||
curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \
|
||||
curl -s "https://coder.example.com/api/v2/chats/$CHAT_ID" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '.status'
|
||||
```
|
||||
|
||||
@@ -615,20 +612,20 @@ curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \
|
||||
```sh
|
||||
# Archive
|
||||
curl -s -X PATCH \
|
||||
"https://coder.example.com/api/experimental/chats/$CHAT_ID" \
|
||||
"https://coder.example.com/api/v2/chats/$CHAT_ID" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"archived": true}'
|
||||
|
||||
# Confirm it no longer appears in the default list
|
||||
curl -s "https://coder.example.com/api/experimental/chats" \
|
||||
curl -s "https://coder.example.com/api/v2/chats" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
| jq --arg id "$CHAT_ID" '[.[] | select(.id == $id)] | length'
|
||||
# Should return 0
|
||||
|
||||
# Restore
|
||||
curl -s -X PATCH \
|
||||
"https://coder.example.com/api/experimental/chats/$CHAT_ID" \
|
||||
"https://coder.example.com/api/v2/chats/$CHAT_ID" \
|
||||
-H "Coder-Session-Token: $CODER_SESSION_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"archived": false}'
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 353 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 156 KiB |
@@ -102,11 +102,10 @@ available in the documentation.
|
||||
|
||||
<!-- Code generated by scripts/release/docs_update_feature_stages.sh. DO NOT EDIT. -->
|
||||
<!-- BEGIN: available-beta-features -->
|
||||
| Feature | Description |
|
||||
|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
|
||||
| [MCP Server](../../ai-coder/mcp-server.md) | Connect external AI coding agents to Coder using its built-in Model Context Protocol server. |
|
||||
| [JetBrains Toolbox](../../user-guides/workspace-access/jetbrains/toolbox.md) | Connect to and manage your Coder workspaces from the JetBrains Toolbox app. |
|
||||
| [Coder Agents](../../ai-coder/agents/index.md) | Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API. |
|
||||
| Feature | Description |
|
||||
|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
|
||||
| [MCP Server](../../ai-coder/mcp-server.md) | Connect external AI coding agents to Coder using its built-in Model Context Protocol server. |
|
||||
| [JetBrains Toolbox](../../user-guides/workspace-access/jetbrains/toolbox.md) | Connect to and manage your Coder workspaces from the JetBrains Toolbox app. |
|
||||
<!-- END: available-beta-features -->
|
||||
|
||||
## General Availability (GA)
|
||||
|
||||
@@ -1027,61 +1027,51 @@
|
||||
"title": "Coder Agents",
|
||||
"description": "Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API.",
|
||||
"path": "./ai-coder/agents/index.md",
|
||||
"state": ["beta"],
|
||||
"children": [
|
||||
{
|
||||
"title": "Getting Started",
|
||||
"description": "Enable Coder Agents, prepare your deployment, and run your first Coder Agent",
|
||||
"path": "./ai-coder/agents/getting-started.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/getting-started.md"
|
||||
},
|
||||
{
|
||||
"title": "Search Syntax",
|
||||
"description": "Filter Coder Agents conversations by title, status, and linked pull requests with search syntax.",
|
||||
"path": "./ai-coder/agents/chat-search-syntax.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/chat-search-syntax.md"
|
||||
},
|
||||
{
|
||||
"title": "Architecture",
|
||||
"description": "Learn how the Coder Agents control-plane agent communicates with your workspaces.",
|
||||
"path": "./ai-coder/agents/architecture.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/architecture.md"
|
||||
},
|
||||
{
|
||||
"title": "Chat Sharing",
|
||||
"description": "Give other users and groups read-only access to a Coder Agents conversation with chat sharing.",
|
||||
"path": "./ai-coder/agents/chat-sharing.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/chat-sharing.md"
|
||||
},
|
||||
{
|
||||
"title": "Models",
|
||||
"description": "Configure the LLM providers and models that power Coder Agents from Admin settings.",
|
||||
"path": "./ai-coder/agents/models.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/models.md"
|
||||
},
|
||||
{
|
||||
"title": "Tools",
|
||||
"description": "How Coder Agents uses tool calls to select templates and create workspaces",
|
||||
"path": "./ai-coder/agents/tools/index.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/tools/index.md"
|
||||
},
|
||||
{
|
||||
"title": "Platform Controls",
|
||||
"description": "Learn how platform teams control Coder Agents behavior, models, spend, and policies.",
|
||||
"path": "./ai-coder/agents/platform-controls/index.md",
|
||||
"state": ["beta"],
|
||||
"children": [
|
||||
{
|
||||
"title": "Template Optimization",
|
||||
"description": "Best practices for creating templates that are discoverable and useful to Coder Agents",
|
||||
"path": "./ai-coder/agents/platform-controls/template-optimization.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/template-optimization.md"
|
||||
},
|
||||
{
|
||||
"title": "MCP Servers",
|
||||
"description": "Configure external MCP servers that provide additional tools for agent chat sessions",
|
||||
"path": "./ai-coder/agents/platform-controls/mcp-servers.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/mcp-servers.md"
|
||||
},
|
||||
{
|
||||
"title": "Spend management",
|
||||
@@ -1092,26 +1082,22 @@
|
||||
{
|
||||
"title": "Git Providers",
|
||||
"description": "Configure Git providers so Coder Agents can show pull request diffs in the in-chat viewer.",
|
||||
"path": "./ai-coder/agents/platform-controls/git-providers.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/git-providers.md"
|
||||
},
|
||||
{
|
||||
"title": "Data Retention",
|
||||
"description": "Configure automatic cleanup of old Coder Agents conversation data to manage database size.",
|
||||
"path": "./ai-coder/agents/platform-controls/chat-retention.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/chat-retention.md"
|
||||
},
|
||||
{
|
||||
"title": "Debug Data Retention",
|
||||
"description": "Configure automatic cleanup of old Coder Agents chat debug data to manage database size.",
|
||||
"path": "./ai-coder/agents/platform-controls/chat-debug-retention.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/chat-debug-retention.md"
|
||||
},
|
||||
{
|
||||
"title": "Auto-Archive",
|
||||
"description": "Automatically archive long-inactive Coder Agents conversations to keep chat lists tidy.",
|
||||
"path": "./ai-coder/agents/platform-controls/chat-auto-archive.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/platform-controls/chat-auto-archive.md"
|
||||
},
|
||||
{
|
||||
"title": "Advisor",
|
||||
@@ -1136,14 +1122,12 @@
|
||||
{
|
||||
"title": "Extending Agents",
|
||||
"description": "Extend Coder Agents with custom skills and MCP tools defined in your workspace templates.",
|
||||
"path": "./ai-coder/agents/extending-agents.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/extending-agents.md"
|
||||
},
|
||||
{
|
||||
"title": "Tasks to Chats API Migration",
|
||||
"description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.",
|
||||
"path": "./ai-coder/agents/tasks-to-chats-migration.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/tasks-to-chats-migration.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1411,8 +1395,7 @@
|
||||
{
|
||||
"title": "Tasks to Chats API Migration",
|
||||
"description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.",
|
||||
"path": "./ai-coder/agents/tasks-to-chats-migration.md",
|
||||
"state": ["beta"]
|
||||
"path": "./ai-coder/agents/tasks-to-chats-migration.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||