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
35 changes: 2 additions & 33 deletions docs/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,38 +76,6 @@ same local bound and lifetime.
Keys stay in native custody. Hosted-provider provisioning and standalone tool
servers do not support these operations.

## Owner tools

In communities the build flag `BUZZ_OWNER_MCP_COMMUNITIES` enables, an agent's
runs in this app on a bundled harness list `owner_channel_list`, `owner_channel_get`,
`owner_member_list`, `owner_read`, `owner_canvas_get` and `owner_canvas_history`.
They read the owner's channels, one channel's details and
the owner's rights in it, its roster, its messages, whole threads and searches,
and its Canvas and earlier revisions, through the
owner's own signed-in session, including private and archived channels, DMs and
Solo chats the agent is not in. Message reads and Canvas history page with a
`next` cursor, as `read` and the app's history do. A search covers only the
owner's channels and says `partial` while their list is incomplete. Other
channels' matches still fill its page, so `limited` with few results means
narrowing it by channel or time. A message shows its newest edit by its author
or, as in the app, by the author's verified owner. One read fetches a page's edits;
when they fill it, the answer says `edits_limited` and some messages may show earlier text. They write
nothing: no membership, subscription, read state, post, agent start or Canvas
change. Content comes from the relay's own answer, not the owner's open views,
so it changes no unread counts. They do not save the owner's attachments: a
saved file would be readable before the call's final checks. The app
decides the agent, owner and community;
answers name them in `executedAs`. Each call needs the agent's owner signed in
to that community now and fails, returning nothing, when the account, community
or connection changes during it or the turn ends or is stopped, including while
protection reviews its result. Installed harness plugins, plugins' tools, plugin
MCP connections and external apps never get this access, and a plugin cannot add
a tool whose name starts with `owner_`. A [Mesh agent](../src/bundled/mesh-compute/MESH_AGENT.md)
has these tools too; as its setup warns of all tool output, members serving its
model can read what they return. Protection reviews these calls and their
results as it does other Buzz tools. See
[configuration](configuration.md#owner-mcp-community-flag).

## External app authorization

The build flag `BUZZ_EXTERNAL_MCP_COMMUNITIES` lists the allowed community
Expand Down Expand Up @@ -380,7 +348,8 @@ attention is off. A new shared tool needs no harness change.
Plugins add tools with `ctx.agents.addTool`, listed after the Buzz tools under
the same `buzz` server. Names are shared by every plugin, so a plugin's tools
should start with its name (`notes_get`); `addTool` refuses one that a Buzz tool
or another plugin has. The standalone server in
or another plugin has, and any starting with `owner_`, the prefix of retired
owner-access tools, so a call to one never reaches plugin code. The standalone server in
`src/buzz-mcp/main.ts` stays without them. A harness reads `agents.tools()`
and passes it to `respond` or `callSessionTool`. A session keeps the list it
started with, so `addedKey` goes in what decides when one is replaced: the
Expand Down
7 changes: 0 additions & 7 deletions docs/buzz-help.md
Original file line number Diff line number Diff line change
Expand Up @@ -940,13 +940,6 @@ available rather than silently discarding it.
no switch to turn on. A change shows as not saved when it is active but
could not be saved on this device.

- In communities where your build enables it, an agent running on this
device with a built-in harness can list your channels, including private and
archived ones, DMs and Solo chats it is not in, and see a channel's details
and members, read with your access. It cannot change anything this way, and
it stops working when you sign out, switch accounts, disconnect or stop its
turn.

Saved teams from **Your teams** appear in the inline `@` suggestions and the
mention picker. Select a team to insert its members as individual mentions.
Typing its name alone does not notify it. Empty teams, teams with more than 32
Expand Down
15 changes: 3 additions & 12 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ Build defaults are readable binary data, **never secret storage**.
| Input | Consumer and boundary |
| --- | --- |
| `BUZZ_EXTERNAL_MCP_COMMUNITIES` | Frontend build: space-separated secure community origins allowed to authorize external MCP access. Empty disables access. See below. |
| `BUZZ_OWNER_MCP_COMMUNITIES` | Frontend build: space-separated secure community origins where an agent's app-hosted runs can read its owner's channels, members, messages and Canvases with the owner's access. Empty disables them. See below. |
| `BUZZ_WORKFLOW_RESTRICTED_COMMUNITIES` | Frontend build: space-separated secure community origins where workflow messages cannot start or steer local agents. Empty keeps checked workflow delegation everywhere. See below. |
| `BUZZ_BUILDERLAB_URL` | Shared frontend/native build: the live development broker's Builderlab, and whether a build without an added sign-in server keeps the built-in one; no runtime override. See below. |
| `BUZZ_BUILDERLAB_APPS_DOMAIN` | Shared frontend/native build: exact Apps cookie domain paired with the login origin for native viewer SSO; no runtime override. |
Expand All @@ -28,7 +27,9 @@ Build defaults are readable binary data, **never secret storage**.
The retired v1 inputs `BUZZ_BUILD_AGENT_ENV`, `BUZZ_BUILD_BUZZ_AGENT_PROVIDER`
and `BUZZ_BUILD_AGENT_ACCESS_OWNER_ONLY` are no longer read or compiled. Agents
uses each plugin agent type's settings. Remove these old defaults from local/CI
configuration; they do not configure Agents. Restart Vite to change broker or
configuration; they do not configure Agents. `BUZZ_OWNER_MCP_COMMUNITIES`,
which enabled the retired owner-read agent tools, is no longer read either.
Restart Vite to change broker or
routing configuration. Production frontend builds never load the dev broker or
expose its auto-open seed. They can separately opt into the packaged community
default below.
Expand All @@ -45,16 +46,6 @@ repository's workflow sets none. Community names do not grant access. The Agents
opening a connection and on each tool call. Consent disables other communities,
and Settings hides External apps there. Normal agent MCP servers are unchanged.

## Owner MCP community flag

`BUZZ_OWNER_MCP_COMMUNITIES` is a space-separated list of `https://` or
`wss://` community origins, parsed as the external flag is. The default is
empty, which turns the owner tools off in every community. Each build lists
its own community origins. It is not an employee entitlement and grants no external app or plugin access.
The Agents service compares the agent's exact canonical community origin when
it starts a run and again on each call. See
[owner tools](agents.md#owner-tools).

## Workflow restriction community flag

`BUZZ_WORKFLOW_RESTRICTED_COMMUNITIES` is a space-separated list of `https://`
Expand Down
8 changes: 0 additions & 8 deletions docs/relay-queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,6 @@ state for their shared load/preflight/confirmation reads; the member dialog's
separate display-roster load remains replica-eligible. Channel-write membership
preflights (including session sends and canvas saves) also use the writer, so a
just-added member does not fail the next operation.
`owner_channel_get` reads a channel's records from the writer once and judges
its archive state and lifecycle rights, including an owned agent's grant, from
those records. The other channel-scoped owner reads check the same records
before reading the channel's content as a snapshot read, which feeds no session
view; an unscoped `owner_read` search keeps only results in the owner's listed
channels. The first page of `owner_canvas_history` is the writer's, as the app's
history is, and `owner_canvas_get` reads an explicit revision from the writer,
so a revision that history just listed is found.
Template setup also confirms exact Canvas/member events and selected Canvas heads
against the writer without replaying accepted commands. Agent deletion discovers
member channels and confirms each removal with writer-backed rosters; unreadable
Expand Down
Loading
Loading