]> git.giacomolli.uk - onechat/blobdiff - socket.go
Describe queued event delivery boundaries
[onechat] / socket.go
index 0dffeb088c4c61013cf690c8b2188a0446ad6a5b..1205d8c69a1ad4a51da6f15971dc675f0356072e 100644 (file)
--- a/socket.go
+++ b/socket.go
@@ -20,6 +20,21 @@ const (
        terminalSource = "terminal"
 )
 
+// SocketRequest is one line from a client: "send" with the text of a user
+// message, "interrupt", "stop" with the name of a subagent in Text, or
+// "whatsapp" with the text after /whatsapp of a WhatsApp command, or "backup"
+// with the absolute output path in Text. The backup answer is a "backup" event
+// with the path and size, or an "error" event. An "image" request has an
+// absolute Path and the caption in Text. A "notify" request has external data
+// in Notify. Its private "notify" answer has a queue ID and an accepted or
+// duplicate Status, not a processing result.
+type SocketRequest struct {
+       Type   string       `json:"type"`
+       Text   string       `json:"text,omitempty"`
+       Path   string       `json:"path,omitempty"`
+       Notify *NotifyInput `json:"notify,omitempty"`
+}
+
 // checkSocketPath makes sure that path fits in the address of a Unix socket.
 func checkSocketPath(path string) error {
        if len(path) > socketPathBytes {
@@ -28,15 +43,3 @@ func checkSocketPath(path string) error {
 
        return nil
 }
-
-// SocketRequest is one line from a client: "send" with the text of a user
-// message, "interrupt", "stop" with the name of a subagent in Text, or
-// "whatsapp" with the text after /whatsapp of a WhatsApp command, or "backup"
-// with the absolute output path in Text. The backup answer is a "backup" event
-// with the path and size, or an "error" event. An "image" request has an
-// absolute Path and the caption in Text.
-type SocketRequest struct {
-       Type string `json:"type"`
-       Text string `json:"text,omitempty"`
-       Path string `json:"path,omitempty"`
-}