Users that have authenticated with the server over a secure network (using this portal) have elevated permissions and capabilities when using the server. Specifically this means that program source code can be entered and tasks initiated and run, as well as other world verb commands according to avatar spatial arrangement.

Usage Instructions

  • The /stream/interface portal command line interface. Enter a preceding '@' to interpret agent code.
  • Telnet or client session readline or command-line editing interface. Commands are entered as a list of words separated by spaces. The first word is used to search for a verb match on world objects associated with the user (avatar, room, avatar inventory and equipment, room contents, etc.) and the rest of the command following this first word (spaces included) is passed as a string to the player interpreter.
  • A command entered by a player starts a task with the permissions of the identity. This task calls the player/interpreter/command method in the library. This implementation may construct and operate the command instance, or enqueue it and start a player interpreter task.


The user authenticated with the secure web server can manage a collection of other separate but similar things called identities. An identity names privileges for accessing the Agent System library. They are also linked with a player entity in the world for exploration and virtual asset accrual. Instead of sharing the username registered with the site, players interact based on identity, which has a direct connection to operating permissions.

A user's Primary Identity is set through the main menu on the website, and is the default identity used to access the system when a verb is run by the user and no other identity is specified.

In the Main Menu you can add an identity to your registered account by logging in an existing player identity through the claim form. Click Create Immersion to create and name a new identified character that you can at once claim and then activate in the world with a session connection.

REST Interface

Many client application components like script and data can be generated and downloaded using /page/ URLs. Interface documents and page emulations allow configuration of web resources so that data is returned and streamed and the client can easily handle it.

See: Writing a Web View.

Console Agent Interpreter

Executing @ scripts or create-pane blocks also features a return value, but because the Agent Interpreter is designed to more closely resemble a console REPL session, the string representation is displayed only. Interpreting this value is better done using a web view.

Applet Trace

Tasks can stream instruction and stack state to a REST consumer or a session.

        session.errorFormat = 'immersion/welcome/error$format'() # environment['error-format']
        session.traceFormat = 'immersion/welcome/tracing$'() # container.tracing
        # session.traceJSMethod = 'trace$instruction'

Programmable Login of Session Identity

Users logging into the /stream/interface portal have an associated session, which is initialized with custom code defined by the user for that immersive identity.

The following three functions invoke (and join with) individual tasks:

  trigger = structure('identities/' +
  html = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.topMatterHtml(html)
  trigger = structure('identities/' +
  html = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.panelHtml(html)
  trigger = structure('identities/' +
  code = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.javascript(code)

Read the Programming Guide.

Last modified 7 months ago Last modified on 04/27/23 12:58:28
Note: See TracWiki for help on using the wiki.