HTTPS and SSL
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.
Identities
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
.
- https://thetaplane.com/lang/core/operation
- https://thetaplane.com/lang/components/web
- https://thetaplane.com/library/immersion/title
interfaces/identities/Itham:: enterGame(trigger):: 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/' + session.avatar.name).topMatterGreeting html = act(trigger, [], mapping(['session', session])).outcome session.messages += session.messages.topMatterHtml(html)
trigger = structure('identities/' + session.avatar.name).panelGreeting html = act(trigger, [], mapping(['session', session])).outcome session.messages += session.messages.panelHtml(html)
trigger = structure('identities/' + session.avatar.name).enterGame code = act(trigger, [], mapping(['session', session])).outcome session.messages += session.messages.javascript(code)
Read the Programming Guide.