view mrjunejune/inference_bridge.h @ 261:b401627fc49e

Add JRPG mock flows and interactive previews Add scripted mock SSE commands, custom event forwarding, animated chat turns, full-height message navigation, and a cyberpunk resume dossier. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <mrjunejune@users.noreply.github.com>
date Wed, 05 Aug 2026 20:38:32 -0700
parents 1f9877b637e9
children 056790c4fb0d
line wrap: on
line source

#ifndef MRJUNEJUNE_INFERENCE_BRIDGE_H
#define MRJUNEJUNE_INFERENCE_BRIDGE_H

#include "dowa/dowa.h"

typedef struct Inference_Bridge Inference_Bridge;

typedef struct {
  const char *type;
  const char *request_id;
  const char *conversation_id;
  const char *delta;
  const char *content;
  const char *error_code;
  const char *error_message;
  const char *raw_json;
  size_t raw_json_length;
  int64 input_tokens;
  int64 output_tokens;
  boolean failed;
  boolean aborted;
} Inference_Event;

typedef void (*Inference_Event_Handler)(
    const Inference_Event *p_event,
    void *p_user_data);

Inference_Bridge *Inference_Bridge_Create(
    const char *sidecar_path,
    const char *copilot_cli_path,
    Inference_Event_Handler handler,
    void *p_user_data);

boolean Inference_Bridge_Start(Inference_Bridge *p_bridge);
boolean Inference_Bridge_Is_Ready(const Inference_Bridge *p_bridge);

boolean Inference_Bridge_Start_Turn(
    Inference_Bridge *p_bridge,
    const char *request_id,
    const char *conversation_id,
    const char *prompt);

boolean Inference_Bridge_Abort_Turn(
    Inference_Bridge *p_bridge,
    const char *request_id,
    const char *conversation_id);

boolean Inference_Bridge_Delete_Conversation(
    Inference_Bridge *p_bridge,
    const char *request_id,
    const char *conversation_id);

void Inference_Bridge_Destroy(Inference_Bridge *p_bridge);

#endif