sessionPing(sessionURI: URI)
sessionPong(sessionURI: URI)
createAgentRequest(authType: String, authValue: String)
authType == "password"
(case-insensitive)
createAgentError(reason: String)
- returned synchronously
createAgentResponse(agentURI: URI)
- returned synchronously
initializeSessionRequest(agentURI: URI)
initializeSessionError(agentURI: URI, reason: String)
- returned synchronously
initializeSessionResponse(sessionURI: URI)
- returned synchronously
addAgentExternalIdentityRequest(sessionURI: URI, id: ID)
ID(idType: IDType, idValue: String)
IDType = Email
- We only support adding one identity per message because of need for confirmation
addAgentExternalIdentityError(sessionURI: URI, reason: String)
addAgentExternalIdentityWaiting(sessionURI: URI)
addAgentExternalIdentityToken(sessionURI: URI, token: String)
addAgentExternalIdentityResponse(sessionURI: URI)
removeAgentExternalIdentitiesRequest(sessionURI: URI, ids: List[ID])
removeAgentExternalIdentitiesError(sessionURI: URI, reason: String)
removeAgentExternalIdentitiesResponse(sessionURI: URI)
getAgentExternalIdentitiesRequest(sessionURI: URI, idType: IDType)
- One value of
IDType
isANY
- One value of
getAgentExternalIdentitiesError(sessionURI: URI, reason: String)
getAgentExternalIdentitiesResponse(sessionURI: URI, ids: List[ID])
addAgentAliasesRequest(sessionURI: URI, aliases: List[Alias])
Alias = String
addAgentAliasesError(sessionURI: URI, reason: String)
addAgentAliasesResponse(sessionURI: URI)
removeAgentAliasesRequest(sessionURI: URI, aliases: List[Alias])
removeAgentAliasesError(sessionURI: URI, reason: String)
removeAgentAliasesResponse(sessionURI: URI)
getAgentAliasesRequest(sessionURI: URI)
getAgentAliasesError(sessionURI: URI, reason: String)
getAgentAliasesResponse(sessionURI: URI, aliases: List[Alias])
getDefaultAliasRequest(sessionURI: URI)
getDefaultAliasError(sessionURI: URI, reason: String)
getDefaultAliasResponse(sessionURI: URI, alias: Alias)
setDefaultAliasRequest(sessionURI: URI, alias: Alias)
setDefaultAliasError(sessionURI: URI, reason: String)
setDefaultAliasResponse(sessionURI: URI)
addAliasExternalIdentitiesRequest(sessionURI: URI, alias: Alias, ids: List[ID])
- Only ids already on the agent are allowed
addAliasExternalIdentitiesError(sessionURI: URI, reason: String)
addAliasExternalIdentitiesResponse(sessionURI: URI)
removeAliasExternalIdentitiesRequest(sessionURI: URI, alias: Alias, ids: List[ID])
removeAliasExternalIdentitiesError(sessionURI: URI, reason: String)
removeAliasExternalIdentitiesResponse(sessionURI: URI)
getAliasExternalIdentitiesRequest(sessionURI: URI, alias: Alias, idType: IDType)
- One value of
IDType
isANY
- One value of
getAliasExternalIdentitiesError(sessionURI: URI, reason: String)
getAliasExternalIdentitiesResponse(sessionURI: URI, ids: List[(IDType, String)])
setAliasDefaultExternalIdentityRequest(sessionURI: URI, alias: Alias, id: ID)
setAliasDefaultExternalIdentityError(sessionURI: URI, reason: String)
setAliasDefaultExternalIdentityResponse(sessionURI: URI)
addAliasConnectionsRequest(sessionURI: URI, alias: Alias, cnxns: List[Cnxn])
Cnxn = (URI, FlatTerm, URI)
addAliasConnectionsError(sessionURI: URI, reason: String)
addAliasConnectionsResponse(sessionURI: URI)
removeAliasConnectionsRequest(sessionURI: URI, alias: Alias, cnxns: List[Cnxn])
removeAliasConnectionsError(sessionURI: URI, reason: String)
removeAliasConnectionsResponse(sessionURI: URI)
getAliasConnectionsRequest(sessionURI: URI, alias: Alias)
getAliasConnectionsError(sessionURI: URI, reason: String)
getAliasConnectionsResponse(sessionURI: URI, cnxns: List[Cnxn])
setAliasDefaultConnectionRequest(sessionURI: URI, alias: Alias, cnxn: Cnxn)
setAliasDefaultConnectionError(sessionURI: URI, reason: String)
setAliasDefaultConnectionResponse(sessionURI: URI)
addAliasLabelsRequest(sessionURI: URI, alias: Alias, Labels: List[Label])
Label = String
addAliasLabelsError(sessionURI: URI, reason: String)
addAliasLabelsResponse(sessionURI: URI)
updateAliasLabelsRequest(sessionURI: URI, alias: Alias, Labels: List[Label])
updateAliasLabelsError(sessionURI: URI, reason: String)
updateAliasLabelsResponse(sessionURI: URI)
getAliasLabelsRequest(sessionURI: URI, alias: Alias)
getAliasLabelsError(sessionURI: URI, reason: String)
getAliasLabelsResponse(sessionURI: URI, Labels: List[Labels])
setAliasDefaultLabelRequest(sessionURI: URI, alias: Alias, Label: Label)
setAliasDefaultLabelError(sessionURI: URI, reason: String)
setAliasDefaultLabelResponse(sessionURI: URI)
getAliasDefaultLabelRequest(sessionURI: URI, alias: Alias)
getAliasDefaultLabelError(sessionURI: URI, reason: String)
getAliasDefaultLabelResponse(sessionURI: URI, Label: Label)
evalSubscribeRequest(sessionURI: URI, expression: GloSExpr)
GlosExpr =
InsertContent(Labels: List[Label], cnxns: List[Cnxn], value: Value)
Value = String
FeedExpr(Labels: List[Label], cnxns: List[Cnxn])
ScoreExpr(Labels: List[Label], cnxns: List[Cnxn], staff: Staff
Staff =
List[Cnxn]
List[Label]
evalSubscribeError(sessionURI: URI, reason: String)
evalSubscribeResponse(sessionURI: URI, values: List[Value])
- Can we know when we are done to send back an
evalSubscribeComplete
?
evalSubscribeCancelRequest(sessionURI: URI)
evalSubscribeCancelError(sessionURI: URI, reason: String)
evalSubscribeCancelResponse(sessionURI: URI)
Here is the data that needs to be passed between the UI and GLoSEval for the introduction protocol. The following assumes that Alice is introducing Bob to Charlie / Charlie to Bob.
BeginIntroductionRequest (get's sent from Alice):
BeginIntroductionResponse (is received by Alice):
IntroductionRequest (is received by Bob and Charlie):
IntroductionResponse (is sent by Bob and Charlie):
I haven't modeled it, but another message could be sent to Bob and Charlie after a successful connection to tell the UI to update its list of connections.