Ames Scry Reference

Here are the scry endpoints of Ames. All of them take a %x $care and require the $desk in the path prefix be empty, so the general format is .^([type] %ax /=//=/[some-path]).

/protocol/version

A scry with a %x $care and a $path of /protocol/version will return the current Ames protocol version as a @.

Example

> .^(@ %ax /=//=/protocol/version)
0

/peers

A scry with a %x $care and a $path of /peers will return all ships that Ames is aware of. The type returned is a (map ship ?(%alien %known)), where %known means we have PKI data for them and %alien means we don't.

Example

> .^((map ship ?(%alien %known)) %ax /=//=/peers)
{[p=~wet q=%known] [p=~nes q=%known]}

/peers/[ship]

A scry with a %x $care and a $path of /peers/[ship] where [ship] is a ship name like ~dopzod will return everything Ames knows about that ship, or crash if the ship is unknown to Ames. The type returned is a $ship-state.

Example

/peers/[ship]/forward-lane

A scry with a %x $care and a $path of /peers/[ship]/forward-lane where [ship] is a ship name like ~dopzod will return outbound routes to the given ship, or ~ if there are none. The type returned is a (list lane:ames), see $lane for type details.

Examples

/bones/[ship]

A scry with a %x $care and a $path of /bones/[ship] where [ship] is a ship name like ~dopzod will return inbound and outbound $bones, which index message flows. If the ship in question is unknown to Ames, the scry will fail. The type returned is [snd=(set bone) rcv=(set bone)].

Example

/snd-bones/[ship]/[bone]

A scry with a %x $care and a $path of /snd-bones/[ship]/[bone], where [ship] is a ship name like ~dopzod and [bone] is an outbound $bone, will return message flow details for that $bone. If the ship in question is unknown to Ames or the $bone does not exist, the scry will fail. The type returned is a $message-pump-state wrapped in a $vase.

Example

/snubbed

A scry with a %x $care and a $path of /snubbed will return Ames' current ship whitelist/blacklist. The type is a [form=?(%allow %deny) ships=(list ship)], where +form says whether it's a whitelist or blacklist and .ships are the ships on that list.

Example

Last updated