Wip web interface
This commit is contained in:
@@ -180,4 +180,5 @@ class AutoApprover:
|
||||
return
|
||||
if (self._response_enabled and
|
||||
self.agent.llms[self._llm_name] == LlmState.IDLE):
|
||||
self.agent.approve_response(self._llm_name, self.agent.get_output(self._llm_name))
|
||||
response = self.agent.response_buffer.get_text()
|
||||
self.agent.approve_response()
|
||||
|
||||
@@ -94,6 +94,8 @@ class Api:
|
||||
"""Approve current buffer content"""
|
||||
data = await request.json()
|
||||
try:
|
||||
response = data.get("response")
|
||||
self._agent.response_buffer.set_text(response)
|
||||
self._agent.approve_response()
|
||||
return web.Response(status=200)
|
||||
except ValueError as e:
|
||||
@@ -147,10 +149,10 @@ class Api:
|
||||
"""Get all LLMs and their current states."""
|
||||
states = self._agent.llms
|
||||
return web.Response(
|
||||
text=json.dumps({
|
||||
name: state.name
|
||||
for name, state in states.items()
|
||||
}),
|
||||
text=json.dumps(
|
||||
[{"name": name, "state": state.name}
|
||||
for name, state in states.items()]
|
||||
),
|
||||
content_type="application/json"
|
||||
)
|
||||
|
||||
@@ -234,10 +236,12 @@ class Api:
|
||||
"""Get complete working memory state."""
|
||||
entries = self._working_memory.get_entries()
|
||||
return web.Response(
|
||||
text=json.dumps([e.serialize() for e in entries]),
|
||||
text=json.dumps({
|
||||
"type": "memory_state",
|
||||
"entries": [e.serialize() for e in entries]
|
||||
}),
|
||||
content_type="application/json"
|
||||
)
|
||||
|
||||
async def _create_entry(self, request: web.Request) -> web.Response:
|
||||
"""Create a new entry in working memory."""
|
||||
data = await request.json()
|
||||
|
||||
@@ -12,7 +12,7 @@ class ResponseWebSocket:
|
||||
|
||||
async def _handle_buffer_change(self, buffer):
|
||||
await self._broadcast_message({
|
||||
"buffer": buffer,
|
||||
"response": buffer,
|
||||
})
|
||||
|
||||
async def _broadcast_message(self, message):
|
||||
@@ -32,7 +32,7 @@ class ResponseWebSocket:
|
||||
|
||||
try:
|
||||
await ws.send_json({
|
||||
"buffer": self._agent.response_buffer.get_text(),
|
||||
"response": self._agent.response_buffer.get_text(),
|
||||
})
|
||||
|
||||
async for msg in ws:
|
||||
|
||||
@@ -22,7 +22,7 @@ class Websockets:
|
||||
|
||||
app.router.add_get("/ws/auto_approver", self._auto_approver_ws.handle_connection)
|
||||
app.router.add_get("/ws/context", self._context_ws.handle_connection)
|
||||
app.router.add_get("/ws/llm", self._llm_ws.handle_connection)
|
||||
app.router.add_get("/ws/llms", self._llm_ws.handle_connection)
|
||||
app.router.add_get("/ws/memory", self._memory_ws.handle_connection)
|
||||
app.router.add_get("/ws/response", self._response_ws.handle_connection)
|
||||
app.router.add_get("/ws/stdout", self._stdout_ws.handle_connection)
|
||||
|
||||
@@ -132,6 +132,8 @@ class WebAgent(BaseAgent):
|
||||
|
||||
def approve_response(self) -> None:
|
||||
"""Process approved response from specified LLM"""
|
||||
if self.llms.get(llm_name) != LlmState.IDLE:
|
||||
return
|
||||
timestamp = datetime.now(timezone.utc)
|
||||
self._iteration_logger.log_iteration(timestamp, self._context, self._response_buffer.get_text())
|
||||
parse_result = self._parser.parse(timestamp, self._response_buffer.get_text())
|
||||
|
||||
Reference in New Issue
Block a user