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