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
IDTypeisANY
- 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
IDTypeisANY
- 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: StaffStaff =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.