mirror of
https://github.com/SHOGGOTH-SECTOR/sica-fondt.git
synced 2026-08-01 16:40:24 +00:00
Delete hermes_protocol.ads
This commit is contained in:
parent
2c69102395
commit
8f4a65e7b2
@ -1,74 +0,0 @@
|
||||
-- Hermes MCP stdio bridge.
|
||||
-- SPARK_Mode Off sections are justified: trust boundary checks happen
|
||||
-- in SPARK-proven code (Ada_Medium / Trust_Boundary) before any I/O call.
|
||||
-- This package handles only the process boundary crossing.
|
||||
with Mafiabot_Types; use Mafiabot_Types;
|
||||
|
||||
package Hermes_Protocol
|
||||
with SPARK_Mode => Off -- Ada.Text_IO is not SPARK-compatible
|
||||
is
|
||||
|
||||
Max_JSON_Length : constant := 8192;
|
||||
|
||||
-- Raw JSON buffer (stack-allocated, 8 KiB)
|
||||
subtype JSON_Length is Natural range 0 .. Max_JSON_Length;
|
||||
type JSON_Buffer is record
|
||||
Data : String (1 .. Max_JSON_Length) := (others => ' ');
|
||||
Length : JSON_Length := 0;
|
||||
end record;
|
||||
|
||||
-- Read one JSON-RPC message from stdin (newline-delimited).
|
||||
-- Returns Error_Overflow if the line exceeds Max_JSON_Length.
|
||||
procedure Read_Message
|
||||
(Buf : out JSON_Buffer;
|
||||
Status : out Operation_Status);
|
||||
|
||||
-- Write one JSON-RPC response to stdout followed by a newline.
|
||||
procedure Write_Message (Buf : in JSON_Buffer);
|
||||
|
||||
-- Extract the string value for a top-level JSON key.
|
||||
-- Simple state machine: finds `"key": "value"` patterns only.
|
||||
-- Returns empty Bounded_Text if the key is absent.
|
||||
procedure Extract_Field
|
||||
(Buf : in JSON_Buffer;
|
||||
Key : in String;
|
||||
Value : out Bounded_Text);
|
||||
|
||||
-- Extract the RAW value token for a key, verbatim, preserving its JSON
|
||||
-- type: a quoted string keeps its quotes, a number/literal is copied as
|
||||
-- digits. Used for `id`, which must be echoed back unchanged. Returns the
|
||||
-- literal `null` if the key is absent.
|
||||
procedure Extract_Raw_Field
|
||||
(Buf : in JSON_Buffer;
|
||||
Key : in String;
|
||||
Value : out Bounded_Text);
|
||||
|
||||
-- Write the SOUL.md content to ~/.hermes/SOUL.md.
|
||||
procedure Write_Soul_MD
|
||||
(Content : in Bounded_Text;
|
||||
Status : out Operation_Status);
|
||||
|
||||
-- Build the standard MCP initialize response.
|
||||
procedure Make_Init_Response
|
||||
(Id : in Bounded_Text;
|
||||
Buf : out JSON_Buffer);
|
||||
|
||||
-- Build the tools/list response exposing the inference cycle tool.
|
||||
procedure Make_Tools_List_Response
|
||||
(Id : in Bounded_Text;
|
||||
Buf : out JSON_Buffer);
|
||||
|
||||
-- Build a tools/call result response wrapping the inference output.
|
||||
procedure Make_Tool_Result_Response
|
||||
(Id : in Bounded_Text;
|
||||
Result : in Bounded_Text;
|
||||
Buf : out JSON_Buffer);
|
||||
|
||||
-- Build a JSON-RPC error response.
|
||||
procedure Make_Error_Response
|
||||
(Id : in Bounded_Text;
|
||||
Code : in Integer;
|
||||
Message : in String;
|
||||
Buf : out JSON_Buffer);
|
||||
|
||||
end Hermes_Protocol;
|
||||
Loading…
x
Reference in New Issue
Block a user