diff --git a/billing/budgets.mdx b/billing/budgets.mdx index 61b1278..9f37648 100644 --- a/billing/budgets.mdx +++ b/billing/budgets.mdx @@ -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 --- @@ -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. @@ -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. diff --git a/changelog.mdx b/changelog.mdx index 8dd8341..a8524aa 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -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. + + ## 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`. + + ## Authorize terminal sign-in without copying a code diff --git a/concepts/context-lifecycle.mdx b/concepts/context-lifecycle.mdx index 753da21..502a714 100644 --- a/concepts/context-lifecycle.mdx +++ b/concepts/context-lifecycle.mdx @@ -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 diff --git a/docs.json b/docs.json index 1ce7d5d..7583500 100644 --- a/docs.json +++ b/docs.json @@ -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" ] }, { @@ -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}",