Documentation Wiki rss-feed

Command line tools guide

Some commands you can use for exploring how EigenD works. Especially useful if you don't have Workbench.

The commands here can be found in the bin directory of your EigenD installation. The examples here were run via Cygwin on Windows. You might have to adjust your syntax slightly if you're using plain Windows or a Mac.

Listing agents

List all the agents in the main index. This will list their addresses, or canonical names.

./bls.exe '<main>'

List all the agents in rig 6, the clarinet rig. This looks in the index with address main.rig6:main. The bit before the colon is the workspace name

./bls.exe '<main.rig6:main>'

Picking out individual agents

Identify the address and proper name of everything that will be found by the noun clarinet

./brpc.exe '<interpreter1>' identify clarinet

Seeing connections

See the connections between agents in the main workspace. interpreter1 is the agent’s address, or canonical name + ordinal, enclosed in angle brackets:

./brpc.exe '<interpreter1>' dump main

See the connections to and from clarinet rig 1

./brpc.exe '<interpreter1>' dump clarinet rig 1

See all connections for the gateway agent inside the clarinet rig

./brpc.exe '<interpreter1>' dump clarinet rig 1 gateway

Seeing the state variables

See the tree of state variables for rig 6 (as seen from the outside), the clarinet rig.

./bcat.exe '<rig6>'

See the tree of state variables of a particular node:

./bcat.exe '<rig6>#2.1'

See the data in rig 6’s eigend1 agent, the clarinet rig’s gateway agent

./bcat.exe '<main.rig6:eigend1>'

What you're seeing

An agent has an address, and a tree of state variables. The address is set when the agent is first created, and never changes, even if you rename the agent. The bit before the #, in angle brackets is the agent address, and anything after the '#' is the state variable with in the agent.

The state variable hold everything about the agent. All its ports, verbs, descriptive data, and setup are represented here. When a setup is saved, its the state variables which are saved.

In the actual address part, there is a workspace and the agent name. The workspace name is used by the rig system.

Things like ports, and verbs, and names are represented in the state tree idiomatically. Most interesting are the .255 variables, which contain a dictionary of metadata about an atom. This includes the name and ordinal, and much more. All connections, talker actions, everything, are in here somewhere.

See more in Jim Chapman's forum post