Mercurial
diff infinite_canvas/agent_service.h @ 280:49e9e591c9bb
Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 19:14:53 -0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/infinite_canvas/agent_service.h Tue Aug 18 19:14:53 2026 -0700 @@ -0,0 +1,39 @@ +#ifndef INFINITE_CANVAS_AGENT_SERVICE_H +#define INFINITE_CANVAS_AGENT_SERVICE_H + +#include "dowa/dowa.h" +#include "infinite_canvas/canvas.h" + +#define CANVAS_AGENT_RESPONSE_CAPACITY 16384 + +typedef enum { + CANVAS_AGENT_IDLE = 0, + CANVAS_AGENT_WORKING, + CANVAS_AGENT_READY, + CANVAS_AGENT_ERROR, +} Canvas_Agent_Status; + +typedef struct { + Dowa_Arena *p_arena; + void *p_native; + Canvas_Agent_Status status; + char response[CANVAS_AGENT_RESPONSE_CAPACITY]; + char error[512]; +} Canvas_Agent_Service; + +boolean Canvas_Agent_Service_Init( + Canvas_Agent_Service *p_service, + Dowa_Arena *p_arena); +boolean Canvas_Agent_Service_Submit( + Canvas_Agent_Service *p_service, + const char *p_prompt, + const char *p_context); +Canvas_Agent_Status Canvas_Agent_Service_Poll( + Canvas_Agent_Service *p_service, + char *p_response, + size_t response_capacity, + char *p_error, + size_t error_capacity); +void Canvas_Agent_Service_Shutdown(Canvas_Agent_Service *p_service); + +#endif