@@ -5,47 +5,45 @@ import (
55 "fmt"
66 "log"
77
8- "github.com/hofstadter-io/hof/lib/agent/runtime"
8+ aruntime "github.com/hofstadter-io/hof/lib/agent/runtime"
99 "github.com/hofstadter-io/hof/lib/cuetils"
10+ "github.com/hofstadter-io/hof/lib/runtime"
1011)
1112
12- // TODO, we need a good list of message types
13- // for both the frontend, backend, and where/how they are used
14-
15- func SetupHandlers (r * runtime.Runtime ) {
13+ func SetupHandlers (r * runtime.Runtime , ar * aruntime.Runtime ) {
1614
1715 // standard fare
18- r .Handlers ["echo" ] = echo
19- r .Handlers ["hello" ] = hello
16+ ar .Handlers ["echo" ] = echo
17+ ar .Handlers ["hello" ] = hello
2018
2119 // informational handlers
22- r .Handlers ["requestSync" ] = broadcastSync
23- r .Handlers ["config.reload" ] = reloadEnvConfig
24- r .Handlers ["config.info" ] = configInfo
25- r .Handlers ["models.list" ] = modelsList
26- r .Handlers ["agents.list" ] = agentsList
20+ ar .Handlers ["requestSync" ] = broadcastSync
21+ ar .Handlers ["config.reload" ] = reloadEnvConfig
22+ ar .Handlers ["config.info" ] = configInfo
23+ ar .Handlers ["models.list" ] = modelsList
24+ ar .Handlers ["agents.list" ] = agentsList
2725
2826 // chat
29- r .Handlers ["chat" ] = chatUserMessage
30- r .Handlers ["chat.userMessage" ] = chatUserMessage
31- r .Handlers ["session.cancel" ] = sessionCancel
27+ ar .Handlers ["chat" ] = makeChatUserMessageHandler ( r )
28+ ar .Handlers ["chat.userMessage" ] = makeChatUserMessageHandler ( r )
29+ ar .Handlers ["session.cancel" ] = sessionCancel
3230
3331 // sessions
34- r .Handlers ["session.get" ] = sessionGet
35- r .Handlers ["session.getList" ] = sessionList
36- r .Handlers ["session.create" ] = sessionCreate
37- r .Handlers ["session.delete" ] = sessionDelete
38- r .Handlers ["session.getStateAll" ] = sessionGetStateAll
39- r .Handlers ["session.state.get" ] = sessionGetState
40- r .Handlers ["session.state.put" ] = sessionPutState
41- r .Handlers ["session.state.del" ] = sessionDelState
42-
43- r .Handlers ["session.merge" ] = sessionMerge
44- r .Handlers ["session.tag" ] = sessionTag
45- r .Handlers ["session.push" ] = sessionPush
46- r .Handlers ["session.pull" ] = sessionPull
47- r .Handlers ["session.clone" ] = sessionClone
48- r .Handlers ["session.splice" ] = sessionSplice
32+ ar .Handlers ["session.get" ] = sessionGet
33+ ar .Handlers ["session.getList" ] = sessionList
34+ ar .Handlers ["session.create" ] = sessionCreate
35+ ar .Handlers ["session.delete" ] = sessionDelete
36+ ar .Handlers ["session.getStateAll" ] = sessionGetStateAll
37+ ar .Handlers ["session.state.get" ] = sessionGetState
38+ ar .Handlers ["session.state.put" ] = sessionPutState
39+ ar .Handlers ["session.state.del" ] = sessionDelState
40+
41+ ar .Handlers ["session.merge" ] = sessionMerge
42+ ar .Handlers ["session.tag" ] = sessionTag
43+ ar .Handlers ["session.push" ] = sessionPush
44+ ar .Handlers ["session.pull" ] = sessionPull
45+ ar .Handlers ["session.clone" ] = sessionClone
46+ ar .Handlers ["session.splice" ] = sessionSplice
4947 // r.Handlers["session.environ.set"] = sessionEnvironSet
5048
5149 //
@@ -65,7 +63,7 @@ type EchoResponsePayload struct {
6563 ResponseText string `json:"responseText"`
6664}
6765
68- func echo (r * runtime .Runtime , c * runtime .Client , m * runtime .Message ) {
66+ func echo (r * aruntime .Runtime , c * aruntime .Client , m * aruntime .Message ) {
6967 var p EchoPayload
7068 if err := json .Unmarshal (m .Payload , & p ); err != nil {
7169 log .Printf ("Error unmarshaling 'echo' payload: %v" , err )
@@ -83,7 +81,7 @@ type HelloPayload struct {
8381 Version string `json:"version"`
8482}
8583
86- func hello (r * runtime .Runtime , c * runtime .Client , m * runtime .Message ) {
84+ func hello (ar * aruntime .Runtime , c * aruntime .Client , m * aruntime .Message ) {
8785 var p HelloPayload
8886 if err := json .Unmarshal (m .Payload , & p ); err != nil {
8987 log .Printf ("Error unmarshaling 'hello' payload: %v" , err )
@@ -92,28 +90,28 @@ func hello(r *runtime.Runtime, c *runtime.Client, m *runtime.Message) {
9290 log .Printf ("Hello from client version: %s (Client: %p)" , p .Version , c )
9391}
9492
95- func broadcastSync (r * runtime .Runtime , c * runtime .Client , m * runtime .Message ) {
93+ func broadcastSync (ar * aruntime .Runtime , c * aruntime .Client , m * aruntime .Message ) {
9694 // fmt.Println("broadcastSync")
9795 // reloadEnvConfig(r, c, m)
98- sessionGet (r , c , m )
99- sessionList (r , c , m )
96+ sessionGet (ar , c , m )
97+ sessionList (ar , c , m )
10098 // sessionFilesysDiff(r, c, m)
10199
102100 // runtime (runners?)
103101 // memory
104102 // artifacts
105103}
106104
107- func reloadEnvConfig (r * runtime .Runtime , c * runtime .Client , m * runtime .Message ) {
105+ func reloadEnvConfig (ar * aruntime .Runtime , c * aruntime .Client , m * aruntime .Message ) {
108106 // todo, this should happen on a per-client/user basis
109107 var err error
110- err = r .ReadEnvConfig ()
108+ err = ar .ReadEnvConfig ()
111109 if err != nil {
112110 err = cuetils .ExpandCueError (err )
113111 c .Mail ("config.reload.error" , map [string ]any {
114112 "status" : "error" ,
115113 "error_message" : fmt .Errorf ("while reloading config: %w" , err ),
116114 })
117115 }
118- configInfo (r , c , m )
116+ configInfo (ar , c , m )
119117}
0 commit comments