GET <page>.json (JSON) and GET <page>.toon (TOON). Both carry the same fields.
Top level
string
required
"AIP".string
required
Protocol version, e.g.
"0.1-demo".string
required
Pathname of this page, e.g.
"/store".string
Absolute URL of the site’s agent sitemap.
"session" | "public_schema_only"
required
session when a valid token was supplied and the tab has synced. Otherwise public_schema_only, with empty state.boolean
required
Whether the session’s tab has sent a heartbeat in the last 15 seconds.
string
required
Absolute URL for
POST invocations.string
required
"POST".object
Template of the invocation body.
object
A complete valid body built from the first action.
string
Cookie name (
aim_session).string
"Authorization: Bearer <session token>".object
required
Page-defined JSON state. Empty in public scope.
Action[]
required
Actions available right now. Always includes
disconnect.Action
string
required
Non-empty identifier, used as
actionId.string
required
What the action does.
StringSchema | ObjectSchema
required
Shape of
input.any
required
A value that passes
input_schema.boolean
required
Advisory flag: the action has real effects and should be confirmed with the user.
Input schemas
0.1 is intentionally a small subset of JSON Schema: strings and flat objects of strings. Richer types are future work.
The disconnect action
Every manifest lists disconnect (input {}). Invoking it revokes the session token and frees the tab. Use it to recover from a stuck session or page conflict.