view 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 source

#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