|
|
@@ -8,19 +8,19 @@ interruptions are recoverable.
|
|
|
There are 3 main server side event handlers:
|
|
|
|
|
|
* `connect` - Invoked when a new connection to the server is established. (This may be via http or WebSocket)
|
|
|
-* `oh_action` - Invoked when a connected client sends an event (Such as `INIT` or a prompt for the Agent) -
|
|
|
+* `oh_action` - Invoked when a connected client sends an event (Such as `INIT` or a prompt for the Agent) -
|
|
|
this is distinct from the `oh_event` sent from the server to the client.
|
|
|
* `disconnect` - Invoked when a connected client disconnects from the server.
|
|
|
|
|
|
## Init
|
|
|
Each connection has a unique id, and when initially established, is not associated with any session. An
|
|
|
-`INIT` event must be sent to the server in order to attach a connection to a session. The `INIT` event
|
|
|
-may optionally include a GitHub token and a token to connect to an existing session. (Which may be running
|
|
|
-locally or may need to be hydrated). If no token is received as part of the init event, it is assumed a
|
|
|
+`INIT` event must be sent to the server in order to attach a connection to a session. The `INIT` event
|
|
|
+may optionally include a GitHub token and a token to connect to an existing session. (Which may be running
|
|
|
+locally or may need to be hydrated). If no token is received as part of the init event, it is assumed a
|
|
|
new session should be started.
|
|
|
|
|
|
## Disconnect
|
|
|
-The (manager)[manager.py] manages connections and sessions. Each session may have zero or more connections
|
|
|
+The (manager)[manager.py] manages connections and sessions. Each session may have zero or more connections
|
|
|
associated with it, managed by invocations of `INIT` and disconnect. When a session no longer has any
|
|
|
connections associated with it, after a set amount of time (determined by `config.sandbox.close_delay`),
|
|
|
-the session and runtime are passivated (So will need to be rehydrated to continue.)
|
|
|
+the session and runtime are passivated (So will need to be rehydrated to continue.)
|