Connection Policy

link-connection-policy holds a connection's opinions as the agent's spec writes them, and the checks a conversation's tools header takes. The agent spec, the connection contract and the store contract share it, so each reads them alike.

A connection's opinions

Connection is one table of an agent's spec: [connections] for every connection, [connection.<name>] for one, each key left out where the spec doesn't set it. A key or table it doesn't know is refused, so a spec never says something no connection reads (Agent Spec).

What the table holds

working is a reaction on your message while the agent answers, and steered one on a message that joined a running turn, both on a connection that has reactions. stream shows the answer as it's written, activity each tool it calls above it, and pace how often it's shown again ("1s"), never faster than the platform allows.

Groups and parts

groups says which of the owner's messages in a group the agent answers: mention, those that mention it or answer one of its messages, or never, direct messages alone. images, documents and voice say whether a message's images, PDF or text documents and voice notes reach the agent; left out or false, each is left out and the agent told so.

Durations

duration_ms reads a spec's durations, such as "10m", as milliseconds, the same way for every spec.

A conversation's tools

A conversation may be narrowed to some of its tools by the Link-Tools header, a list of tools' names separated by commas (The Endpoint).

A tool's name

is_tool_name takes a name of 1 to 128 letters, digits, _, - and ., and the header names at most TOOLS_MAX, 256 tools.

Writing the header

tools_header writes a list of tools as the header, and refuses a name it may not hold, or more than 256 of them, saying which.

Reading the header

tools_of reads the header back: each tool once, in its order, and none for an empty header. A header that isn't a list of tools' names, or names more than 256, reads as nothing at all, so it's refused rather than taken as every tool.