Skip to content
Merged
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
55 changes: 49 additions & 6 deletions billing/budgets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Fleet budgets
description: Daily and monthly spending limits for one fleet.
type: explanation
audience: user
verified: 2026-10-23
verified: 2026-10-26
product_version: 0.65.0
executable: false
---
Expand All @@ -29,7 +29,11 @@ Each limit is a decimal string of whole nanodollars. One dollar is `"1000000000"

Every workspace in one account shares the same credit balance. A fleet budget stops one fleet from draining that shared balance.

The dashboard header shows what is left of that balance on every page, as a **Credits** chip beside the workspace switcher. It appears on screens at least 640px wide. Select the chip to open **Settings → Billing**, which holds the live figure and the charge history.
The dashboard header shows what is left of that balance on every page, as a **Credits** chip beside the workspace switcher.
It appears on screens at least 640px wide.

Select the chip to open **Settings → Billing** and review recorded charges.
The header continues to show your available balance.

The fleet owns its budget. Applying a reviewed setup change replaces the limits, and deleting the fleet removes them.

Expand All @@ -51,13 +55,52 @@ While billing is available, a limit is checked before each run and at each renew

If billing cannot answer, work continues and can exceed that bound. The full charge is settled later.

### How charges are counted
### Review your spending

Open **Settings → Billing** to see confirmed charges across your account's workspaces.
These are called **settled charges**.

Choose **Month to date** or **Today**, then filter by fleet or model.
Both periods use Coordinated Universal Time (UTC), so a day starts at midnight UTC.

The totals cover all matching activity in the selected period, including activity on later pages.
**Spending breakdown** groups those charges by fleet and model.

Each activity groups charges from one fleet run or private setup attempt.
Expand an activity to see its charges and usage.
**Setup chat** hides private draft titles and messages.

Input tokens are pieces of text the model reads; output tokens are pieces it writes.
The details show those counts, model names, charges and run time.
When a model name is unavailable, Billing shows its recorded identifier.

Some older charges combine model use and run time in one amount.
Billing keeps that recorded amount because separate historical prices are unavailable.

Each report includes charges confirmed by the time it was opened.
Pending usage stays outside its totals; newer reports can include charges confirmed later.
Missing usage information does not mean that usage was free.

Changing a filter starts a new report.
Moving between pages keeps the same report time, so its totals stay consistent.

If loading fails, use **Retry report** or **Retry charges**.
A loading error is shown as an error, rather than as zero spending.

**Add credits** opens an email to support.

### Read charges through the API

In **Settings → Billing**, **Model** shows its published display name when available. **Usage** separates input and output counts.
`GET /v1/tenants/me/billing/reports/current` returns the report.
`GET /v1/tenants/me/billing/activities/{activity_id}/charges` returns one activity's individual charges.
Both require `billing:read` and use your signed-in account.

**Occurred** shows relative time; hover to see the exact timestamp. Unavailable usage stays marked as unavailable.
For activity charges, include `activity_type=runtime` for a fleet run or `activity_type=setup` for a setup attempt.
To match an existing report, keep its period, fleet and model filters, and `through_at` cutoff.
Use `starting_after` to read later pages without changing those values.

`agentsfleet` charges each provider request on its own line. A fleet run or setup chat also adds one run-time line for each stretch of time it ran. The charge history at `GET /v1/tenants/me/billing/charges` returns one row per line.
`agentsfleet` records each provider request and each billed stretch of runtime separately.
`GET /v1/tenants/me/billing/charges` returns those individual records.

Each request is priced at the rate in effect when it was made, and at the tier its whole prompt falls in. Cached reads, cache writes, and output each use their own rate.

Expand Down
15 changes: 15 additions & 0 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@ description: "Product changes and upgrade notes."
agentsfleet is in **stealth-mode testing** and pre-production. APIs and agent behavior may change between releases without long deprecation windows. Email [agentsfleet@agentmail.to](mailto:agentsfleet@agentmail.to) if you want a hand calibrating an agent or to join as a design partner.
</Tip>

<Update label="Oct 26, 2026" tags={["What's new", "API reference"]}>
## Continue long conversations and review your spending

Setup chats and fleet runs summarize older messages when the model's working space gets close to full. Billing shows confirmed charges across your account.

## What's new

- **Conversations** — summaries make room for more replies. [Context limits](/concepts/context-lifecycle), spending limits and run limits still apply.
- **Billing** — open **Settings → Billing** and choose a period, fleet or model. [Totals cover every page](/billing/budgets#review-your-spending).

## API reference

- **Reports** — read confirmed charges at `GET /v1/tenants/me/billing/reports/current` and individual charges at `GET /v1/tenants/me/billing/activities/{activity_id}/charges`.
</Update>

<Update label="Oct 24, 2026" tags={["CLI"]}>
## Authorize terminal sign-in without copying a code

Expand Down
80 changes: 58 additions & 22 deletions concepts/context-lifecycle.mdx
Original file line number Diff line number Diff line change
@@ -1,49 +1,85 @@
---
title: Run context
description: Learn how a fleet keeps useful context during long runs.
title: Conversation context
description: How long conversations keep working as older messages are summarized.
type: explanation
audience: user
verified: 2026-10-19
product_version: 0.62.1
verified: 2026-10-26
product_version: 0.65.0
executable: false
---

## What it is

Each model has a context limit. Tool results consume that context during a run.
A model can use only a limited amount of conversation at once.
That working space is its **context window**.

`agentsfleet` can checkpoint findings and remove older tool results from the active context. The activity stream keeps the recorded events.
When the window gets close to full, `agentsfleet` summarizes older messages and keeps recent messages ready for the next reply.
This works in setup chat and during fleet runs.

Your original conversation and saved fleet instructions stay available.

## Why it exists

A long investigation can make many tool calls. Context controls keep recent evidence available without losing saved findings.
Messages, instructions and tool results all take space in the context window.
A shorter summary makes room for the conversation to continue.
This process is called **compaction**.

## How it behaves

Set these values in `context` under `config["x-agentsfleet"]` in the fleet's Definition.
Compaction normally starts around 90 percent of the selected model's context window.
It can start sooner to leave room for a reply or to respect a smaller limit you chose.

| Option | Effect | Default | Valid range |
|---|---|---|---|
| `tool_window` | Keeps this many recent tool results in active context. | `auto` | `auto` or 0–4,294,967,295 results |
| `memory_checkpoint_every` | Prompts a memory checkpoint after this many tool calls. | `5` calls | `auto` or 0–4,294,967,295 calls |
| `stage_chunk_threshold` | Signals when prompt use reaches this share of the context limit. | `0.75` | `0.0` through `1.0` |
| `context_cap_tokens` | Sets the context size used for these controls. | Active model limit | `auto` or 0–4,294,967,295 tokens |
The summary is asked to keep the goal, decisions, findings and unfinished work.
Tool requests stay with their results so the model can follow what happened.
Creating a summary uses the model and is billed like other model requests.

### What you see

During compaction, the conversation shows **Context summarizing…**.
After the summary is saved, it shows **Context summarized, resuming…** until the reply continues.
An unsuccessful summary can show **Context summarization interrupted.**

After a reconnect, the conversation reloads its saved history and clears temporary status messages.

### What carries over

`0` selects the default for each option. The three integer options also accept `auto`.
Changing `context_cap_tokens` does not change the model or increase its physical context limit.
Setup summaries stay private to the person who started the chat, within that workspace.
Saving a fleet keeps its reviewed instructions.
Later setup chats use the same summarizing behavior.

The automatic tool window keeps 10 results for contexts up to 200,000 tokens.
It keeps 30 results for contexts of at least 1,000,000 tokens, and 20 otherwise.
During a fleet run, summarizing continues the same run.
A later event starts a new run and uses information saved in fleet memory.
Workspace memory follows the fleet's access permissions.

The runtime checks the threshold after each model response. Crossing the threshold records a signal; the fleet decides when to finish.
Account-wide memory is not available.

A later event starts a new run. The fleet can recall the prior checkpoint from memory.
### Runtime options

Models measure text in **tokens**, small pieces of text they read or write.
Set these options in `context` under `config["x-agentsfleet"]` in the fleet's Definition.

| Option | Effect | Default | Valid range |
|---|---|---|---|
| `context_cap_tokens` | Requests a smaller working window, up to the selected model's limit. | Active model limit | `auto` or 0–4,294,967,295 tokens |
| `stage_chunk_threshold` | Starts summarizing at this fraction of the working window, capped at 90 percent. | `0.90` | `0.0` through `1.0` |
| `memory_checkpoint_every` | Saves pending fleet memory after this many tool calls. | `5` calls | `auto` or 0–4,294,967,295 calls |
| `tool_window` | Keeps the saved setting; compaction decides which complete tool exchanges stay in the working window. | `auto` | `auto` or 0–4,294,967,295 results |

`0` selects the default for each option.
The integer options also accept `auto`.
Changing `context_cap_tokens` never increases the model's context window.

## Limits

The threshold does not interrupt a running tool call. Budget, lease, memory, and process limits can stop a run.
A summary can miss details.
Keep exact instructions in the saved fleet setup and save important findings in fleet memory.

If summarizing fails or is cancelled, the current turn stops.
The original messages and last complete summary stay available.
Other conversations can continue.

No continuation starts without a new trigger. Send a new message or event when you want the fleet to continue.
Spending limits and run limits still apply.
Summarizing does not start another event or increase a spending limit.

## Related pages

Expand Down
6 changes: 5 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,9 @@
"group": "Balance and usage",
"pages": [
"GET /v1/tenants/me/billing",
"GET /v1/tenants/me/billing/charges"
"GET /v1/tenants/me/billing/charges",
"GET /v1/tenants/me/billing/reports/current",
"GET /v1/tenants/me/billing/activities/{activity_id}/charges"
]
},
{
Expand Down Expand Up @@ -223,6 +225,8 @@
"POST /v1/runners/me/leases/{lease_id}/activity",
"POST /v1/runners/me/leases/{lease_id}/tool-calls",
"POST /v1/runners/me/leases/{lease_id}/messages",
"GET /v1/runners/me/leases/{lease_id}/context-checkpoints/{branch_id}",
"PUT /v1/runners/me/leases/{lease_id}/context-checkpoints/{branch_id}",
"GET /v1/runners/me/leases/{lease_id}/schedules",
"POST /v1/runners/me/leases/{lease_id}/schedules",
"PATCH /v1/runners/me/leases/{lease_id}/schedules/{schedule_id}",
Expand Down
Loading