diff --git a/.gitignore b/.gitignore index bbe12fd..68693c6 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,6 @@ core/dist .verysync test .sillyplus -test* \ No newline at end of file +test* +node_modules +plugins \ No newline at end of file diff --git a/core/adapter.go b/core/adapter.go index b9f5b07..94de16f 100644 --- a/core/adapter.go +++ b/core/adapter.go @@ -532,17 +532,32 @@ func (f *Factory) SetIsAdmin(function func(string) bool) { } } -func (f *Factory) Sender2() *CustomSender { +func (f *Factory) Sender2(options map[string]string) *CustomSender { var demo = *f.demo sender := &demo + sender.SetID() + if options != nil { + fsp := &common.FakerSenderParams{} + if v, ok := options[CONETNT]; ok { + fsp.Content = v + } + if v, ok := options[USER_ID]; ok { + fsp.UserID = v + } + if v, ok := options[CHAT_ID]; ok { + fsp.ChatID = v + } + if v, ok := options[MESSAGE_ID]; ok { + fsp.MessageID = v + } + sender.SetFsps(fsp) + } return sender } func (f *Factory) Sender() interface{} { - var demo = *f.demo - sender := &demo return &SenderJsIplm{ - Message: sender, + Message: f.Sender2(nil), Vm: f.vm, Private: "private", Group: "group", @@ -552,10 +567,11 @@ func (f *Factory) Sender() interface{} { } } -func (f *Factory) Receive(wt interface{}) *CustomSender { +func (f *Factory) Receive(props map[string]interface{}) *CustomSender { var demo = *f.demo sender := &demo - props := wt.(map[string]interface{}) + sender.SetID() + console.Log("senderId", sender.GetID()) emf := map[string]interface{}{} for i := range props { h := false @@ -636,12 +652,12 @@ func (sender *CustomSender) GetBotID() string { type PUSH string -func (sender *CustomSender) Action(options map[string]interface{}) (interface{}, string) { +func (sender *CustomSender) Action(options map[string]interface{}) (interface{}, error) { var platform = sender.f.botplt var any *common.Function var one *common.Function var result interface{} - var err = "" + var err error for _, function := range Functions { if function.Reply != nil && function.Reply.Platform == platform { if len(function.Reply.BotsID) == 0 { @@ -668,7 +684,7 @@ func (sender *CustomSender) Action(options map[string]interface{}) (interface{}, result = value } if property == "error" { - err = value.String() + err = errors.New(value.String()) } return true }, @@ -897,3 +913,21 @@ func (sender *CustomSender) IsAdmin() bool { } return sender.f.isAdmin(sender.GetUserID()) } + +func (sender *CustomSender) GetID() string { + return sender.id +} + +var test = "4d6371a8-2778-11ee-a3c2-821680fbbf6b" + +func (sender *CustomSender) SetID() { + if test != "" { + sender.id = test + test = "" + } else { + sender.id = utils.GenUUID() + } + + sender.CreatedAt = time.Now() + senders.Store(sender.id, sender) +} diff --git a/core/base_sender.go b/core/base_sender.go index 4b1fd6d..c347637 100644 --- a/core/base_sender.go +++ b/core/base_sender.go @@ -160,6 +160,8 @@ type BaseSender struct { params []string level int emf map[string]interface{} + id string + CreatedAt time.Time } func (sender *BaseSender) SetLevel(l int) { @@ -369,8 +371,22 @@ func (sender *BaseSender) Event() map[string]interface{} { return nil } -func (sender *BaseSender) Action(map[string]interface{}) (interface{}, string) { - return nil, "" +func (sender *BaseSender) Action(map[string]interface{}) (interface{}, error) { + return nil, nil +} + +func (sender *BaseSender) GetID() string { + return sender.id +} + +func (sender *BaseSender) SetID() { + sender.id = utils.GenUUID() + sender.CreatedAt = time.Now() + senders.Store(sender.id, sender) +} + +func (sender *BaseSender) GetTime() time.Time { + return sender.CreatedAt } func (sender *BaseSender) IsAtLast() bool { @@ -581,7 +597,6 @@ func (s *BaseSender) Await(message common.Sender, callback func(common.Sender) i c.Result <- result return s.GetContent() } - case error: if handleErr != nil { handleErr(s) diff --git a/core/carry.go b/core/carry.go index ae03526..b63969c 100644 --- a/core/carry.go +++ b/core/carry.go @@ -63,7 +63,7 @@ func initCarry() { q := value.(*Queue) for _, qm := range q.GetValues() { if qm.From != nil && qm.From.GetMessageID() == event["message_id"] { - qm.To.Sender2().RecallMessage(qm.MessageID) + qm.To.Sender2(nil).RecallMessage(qm.MessageID) } } return true @@ -434,7 +434,7 @@ func init() { functions := Functions for _, function := range functions { if function.UUID != "" { - scripts[function.UUID] = function.Title + ".js" + scripts[function.UUID] = function.Title + function.Suffix } } ctx.JSON(200, map[string]interface{}{ @@ -496,7 +496,7 @@ func init() { functions := Functions for _, function := range functions { if function.UUID != "" && ((len(function.Rules) == 0 && !function.OnStart && !function.Module && len(function.Https) == 0 && function.Reply == nil) || function.Carry) { - scripts[function.UUID] = function.Title + ".js" + scripts[function.UUID] = function.Title + function.Suffix } } var user_names = []NicklabeL{} diff --git a/core/common/function.go b/core/common/function.go index f9bfcda..431750a 100644 --- a/core/common/function.go +++ b/core/common/function.go @@ -19,6 +19,8 @@ type Function struct { Origin string `json:"-"` UUID string `json:"id"` Title string `json:"title"` + Type string `json:"type"` //脚本类型 + Suffix string `json:"suffix"` //脚本后缀 Description string `json:"description"` Public bool `json:"public"` Icon string `json:"icon"` diff --git a/core/common/sender.go b/core/common/sender.go index f79a739..1eb58f8 100644 --- a/core/common/sender.go +++ b/core/common/sender.go @@ -1,6 +1,11 @@ package common +import "time" + type Sender interface { + GetID() string + GetTime() time.Time + SetID() GetUserID() string GetChatID() string GetBotID() string @@ -51,7 +56,7 @@ type Sender interface { SetLevel(int) GetLevel() int Event() map[string]interface{} - Action(map[string]interface{}) (interface{}, string) + Action(map[string]interface{}) (interface{}, error) } type FakerSenderParams struct { diff --git a/core/gprc.go b/core/gprc.go new file mode 100644 index 0000000..6c208e2 --- /dev/null +++ b/core/gprc.go @@ -0,0 +1,25 @@ +package core + +import ( + "log" + "net" + + "github.com/cdle/sillyplus/proto3/srpc" + "google.golang.org/grpc" +) + +// protoc --go_out=. -I. --go-grpc_out=. bucket.proto +func init() { + go func() { + lis, err := net.Listen("tcp", ":50051") + if err != nil { + log.Fatalf("failed to listen: %v", err) + } + s := grpc.NewServer() + srpc.RegisterSillyGirlServiceServer(s, &SillyGirlService{}) + log.Printf("grpc server listening at %v", lis.Addr()) + if err := s.Serve(lis); err != nil { + log.Fatalf("failed to serve: %v", err) + } + }() +} diff --git a/core/grpc_adapter.go b/core/grpc_adapter.go new file mode 100644 index 0000000..e8ed082 --- /dev/null +++ b/core/grpc_adapter.go @@ -0,0 +1,110 @@ +package core + +import ( + "context" + "encoding/json" + "sync" + "time" + + "github.com/cdle/sillyplus/proto3/srpc" + "github.com/cdle/sillyplus/utils" +) + +func (sg *SillyGirlService) AdapterRegist(stream srpc.SillyGirlService_AdapterRegistServer) error { + var adapter *Factory + var echos sync.Map + for { + req, err := stream.Recv() + if err != nil { + return err + } + if adapter == nil { + bot_id := req.GetBotId() + platform := req.GetPlatform() + adapter = &Factory{} + defer adapter.Destroy() + adapter.Init(platform, bot_id, nil) + adapter.SetReplyHandler(func(m map[string]interface{}) string { + m["__type__"] = "reply" + echo := utils.GenUUID() + ch := make(chan string) + echos.Store(echo, ch) + defer echos.Delete(echo) + m["echo"] = echo + stream.Send(&srpc.Default{ + Value: string(utils.JsonMarshal(m)), + }) + select { + case v := <-ch: + return v + case <-time.After(time.Second * 5): + } + return "" + }) + } else { + echo := req.GetBotId() + message_id := req.GetPlatform() + v, ok := echos.Load(echo) + if ok { + select { + case v.(chan string) <- message_id: + case <-time.After(time.Millisecond): + } + } + } + } +} + +func (sg *SillyGirlService) AdapterReceive(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) { + msgs := map[string]interface{}{} + bot_id := req.GetBotId() + platform := req.GetPlatform() + json.Unmarshal([]byte(req.Value), &msgs) + adapter, err := GetAdapter(bot_id, platform) + if err == nil { + s := adapter.Receive(msgs) + return &srpc.Default{Value: s.GetID()}, nil + } + return &srpc.Default{Value: ""}, err +} + +func (sg *SillyGirlService) AdapterPush(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) { + msgs := map[string]string{} + bot_id := req.GetBotId() + platform := req.GetPlatform() + json.Unmarshal([]byte(req.Value), &msgs) + adapter, err := GetAdapter(bot_id, platform) + if err == nil { + result := adapter.Push(msgs) + message_id := result["message_id"] + error := result["error"] + if error != "" { + return &srpc.Default{Value: ""}, err + } + return &srpc.Default{Value: message_id}, err + } + return &srpc.Default{Value: ""}, err +} + +func (sg *SillyGirlService) AdapterSender(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) { + msgs := map[string]string{} + bot_id := req.GetBotId() + platform := req.GetPlatform() + json.Unmarshal([]byte(req.Value), &msgs) + adapter, err := GetAdapter(bot_id, platform) + if err == nil { + s := adapter.Sender2(msgs) + return &srpc.Default{Value: s.GetID()}, nil + } + return &srpc.Default{Value: ""}, err +} + +func (sg *SillyGirlService) AdapterDestroy(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Empty, error) { + bot_id := req.GetBotId() + platform := req.GetPlatform() + adapter, err := GetAdapter(bot_id, platform) + if err == nil { + adapter.Destroy() + } + return &srpc.Empty{}, err +} diff --git a/core/grpc_bucket.go b/core/grpc_bucket.go new file mode 100644 index 0000000..0d57bfc --- /dev/null +++ b/core/grpc_bucket.go @@ -0,0 +1,56 @@ +package core + +import ( + "context" + + "github.com/cdle/sillyplus/proto3/srpc" + "github.com/cdle/sillyplus/utils" +) + +type SillyGirlService struct { + srpc.UnsafeSillyGirlServiceServer +} + +// Get implements BucketServiceServer.Get. +func (sg *SillyGirlService) BucketGet(ctx context.Context, req *srpc.BucketKeyRequest) (*srpc.Default, error) { + value := MakeBucket(req.Name).GetString(req.Key) + return &srpc.Default{Value: value}, nil +} + +// Set implements BucketServiceServer.Set. +func (sg *SillyGirlService) BucketSet(ctx context.Context, req *srpc.BucketSetRequest) (*srpc.BucketSetResponse, error) { + message, changed, err := MakeBucket(req.Name).Set(req.Key, req.Value) + return &srpc.BucketSetResponse{Changed: changed, Message: message}, err +} + +// Delete implements BucketServiceServer.Delete. +func (sg *SillyGirlService) BucketDelete(ctx context.Context, req *srpc.BucketRequest) (*srpc.Empty, error) { + err := MakeBucket(req.Name).Delete() + return &srpc.Empty{}, err +} + +// Keys implements BucketServiceServer.Keys. +func (sg *SillyGirlService) BucketKeys(ctx context.Context, req *srpc.BucketRequest) (*srpc.BucketKeysResponse, error) { + keys, err := MakeBucket(req.Name).Keys() + return &srpc.BucketKeysResponse{Keys: keys}, err +} + +// Len implements BucketServiceServer.Len. +func (sg *SillyGirlService) BucketLen(ctx context.Context, req *srpc.BucketRequest) (*srpc.LenResponse, error) { + keys, err := MakeBucket(req.Name).Keys() + return &srpc.LenResponse{Length: int32(len(keys))}, err +} + +func (sg *SillyGirlService) BucketGetAll(ctx context.Context, req *srpc.BucketRequest) (*srpc.Default, error) { + var values = map[string]string{} + MakeBucket(req.Name).Foreach(func(b1, b2 []byte) error { + values[string(b1)] = string(b2) + return nil + }) + return &srpc.Default{Value: string(utils.JsonMarshal(values))}, nil +} + +// Buckets implements BucketServiceServer.Buckets. +func (sg *SillyGirlService) BucketBuckets(ctx context.Context, req *srpc.Empty) (*srpc.BucketsResponse, error) { + return &srpc.BucketsResponse{Buckets: MakeBucket("app").Buckets()}, nil +} diff --git a/core/grpc_plugins.go b/core/grpc_plugins.go new file mode 100644 index 0000000..d32e9ba --- /dev/null +++ b/core/grpc_plugins.go @@ -0,0 +1,197 @@ +package core + +import ( + "crypto/sha1" + "fmt" + "io/ioutil" + "os" + "os/exec" + "path/filepath" + "strings" + + "github.com/cdle/sillyplus/core/common" + "github.com/cdle/sillyplus/core/storage" + "github.com/cdle/sillyplus/utils" + "github.com/dop251/goja" + "github.com/fsnotify/fsnotify" + "github.com/google/uuid" + cron "github.com/robfig/cron/v3" +) + +func init() { + go initNodePlugins() +} + +func initNodePlugins() { + root := utils.ExecPath + "/plugins" + plugins := []string{root} + os.Mkdir(root, 0755) + filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if !strings.HasPrefix(path, "/Users/a1-6/Code/sillyplus/plugins/") { + return nil + } + files := strings.Split(strings.Replace(path, root+"/", "", 1), "/") + // var plugin_dir = false + // var plugin_index = false + switch len(files) { + case 1: + // plugin_dir = true + if info.IsDir() { + plugins = append(plugins, path) + } + case 2: + if (files[1] == "main.ts" || files[1] == "main.js") && !info.IsDir() { + AddNodePlugin(path, files[0]) + } + } + return nil + }) + watcher, err := fsnotify.NewWatcher() + if err != nil { + fmt.Println("创建监视器失败:", err) + return + } + defer watcher.Close() + + // 要监控的文件夹路径 + + for _, dir := range plugins { + err = watcher.Add(dir) + if err != nil { + fmt.Println("添加监视目录失败:", err) + return + } + } + + for { + select { + case event, ok := <-watcher.Events: + if !ok { + return + } + // fmt.Println(event.Name, "op", event.Op.String()) + files := strings.Split(strings.Replace(event.Name, root+"/", "", 1), "/") + var plugin_dir = false + var plugin_index = false + var plugin_name = "" + switch len(files) { + case 1: + plugin_dir = true + fmt.Println("目录事件") + plugin_name = files[0] + case 2: + if files[1] == "main.ts" || files[1] == "main.js" { + plugin_index = true + fmt.Println("入口文件事件") + } + plugin_name = files[0] + } + switch event.Op.String() { + case "CREATE": + if plugin_dir { + info, err := os.Stat(event.Name) + // fmt.Println(err) + if err == nil && info.IsDir() { + watcher.Add(event.Name) + // fmt.Println("增加插件目录", event.Name) + } else { + // fmt.Println("非插件目录", event.Name) + } + } else if plugin_index { + // fmt.Println("增加插件", event.Name) + AddNodePlugin(event.Name, plugin_name) + } + case "REMOVE", "RENAME", "REMOVE|RENAME": + if plugin_dir { + watcher.Remove(event.Name) + // fmt.Println("移除插件目录", event.Name) + // fmt.Println("移除插件", plugin_name) + RemNodePlugin(plugin_name) + } else if plugin_index { + // fmt.Println("移除插件", plugin_name) + RemNodePlugin(plugin_name) + } + case "WRITE": + if plugin_index { + RemNodePlugin(plugin_name) + AddNodePlugin(event.Name, plugin_name) + // fmt.Println("变更插件", event.Name, plugin_name) + } + } + case err, ok := <-watcher.Errors: + if !ok { + return + } + fmt.Println("错误:", err) + } + } +} + +func RemNodePlugin(name string) error { + pluginLock.Lock() + defer pluginLock.Unlock() + key := nameUuid(name) + fmt.Println("rem", key, name) + for i := range Functions { + if Functions[i].UUID == key { + fmt.Println("pl", key) + DestroyAdapterByUUID(key) + Functions[i].Running = false + if len(Functions[i].CronIds) != 0 { + for _, id := range Functions[i].CronIds { + CRON.Remove(cron.EntryID(id)) + } + } + Functions = append(Functions[:i], Functions[i+1:]...) + CancelPluginCrons(key) + CancelPluginWebs(key) + CancelPluginlistening(key) + CancelHttpListen(key) + remStatic(key) + storage.DisableHandle(key) + break + } + } + return nil +} + +func nameUuid(name string) string { + hash := sha1.Sum([]byte(name)) + return uuid.NewSHA1(uuid.Nil, hash[:]).String() +} + +func AddNodePlugin(path, name string) error { + pluginLock.Lock() + defer pluginLock.Unlock() + file, err := os.Open(path) + if err != nil { + return err + } + data, err := ioutil.ReadAll(file) + if err != nil { + return err + } + uuid := nameUuid(name) + // fmt.Println("add,", uuid, name) + f, cbs := pluginParse(string(data), uuid) + f.Suffix = ".ts" + f.Type = "typescript" + f.Handle = func(s common.Sender, f func(vm *goja.Runtime)) interface{} { + cmd := exec.Command("node", "/Users/a1-6/.nvm/versions/node/v18.16.1/lib/node_modules/ts-node/dist/bin.js", path) + cmd.Env = append(cmd.Env, "SENDER_ID="+s.GetID()) + // 执行命令,并捕获其输出 + output, err := cmd.Output() + if err != nil { + fmt.Println("命令执行失败:", err) + return nil + } + // 输出命令的输出结果 + fmt.Println(string(output)) + return nil + } + for _, cb := range cbs { + cb() + } + AddCommand([]*common.Function{f}) + return nil +} diff --git a/core/grpc_sender.go b/core/grpc_sender.go new file mode 100644 index 0000000..50d448e --- /dev/null +++ b/core/grpc_sender.go @@ -0,0 +1,196 @@ +package core + +import ( + "context" + "encoding/json" + "errors" + "sync" + "time" + + "github.com/cdle/sillyplus/core/common" + "github.com/cdle/sillyplus/proto3/srpc" + "github.com/cdle/sillyplus/utils" +) + +var senders sync.Map + +func init() { + //垃圾回收 + go func() { + for { + time.Sleep(time.Minute) + senders.Range(func(key, value any) bool { + s := value.(common.Sender) + if s.GetTime().Add(time.Minute * 20).Before(time.Now()) { + senders.Delete(s.GetID()) + } + return true + }) + } + }() +} + +func GetSender(uuid string) (common.Sender, error) { + v, ok := senders.Load(uuid) + if !ok { + return nil, errors.New("not found sender") + } + return v.(common.Sender), nil +} + +func (sg *SillyGirlService) SenderGetUserId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetChatID()}, nil +} + +func (sg *SillyGirlService) SenderGetUserName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetUserName()}, nil +} + +func (sg *SillyGirlService) SenderGetChatId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetChatID()}, nil +} + +func (sg *SillyGirlService) SenderGetChatName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetChatName()}, nil +} + +func (sg *SillyGirlService) SenderGetMessageId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetMessageID()}, nil +} + +func (sg *SillyGirlService) SenderGetPlatform(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetImType()}, nil +} + +func (sg *SillyGirlService) SenderGetBotId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetBotID()}, nil +} + +func (sg *SillyGirlService) SenderGetContent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: s.GetContent()}, nil +} + +func (sg *SillyGirlService) SenderSetContent(ctx context.Context, req *srpc.SenderContentRequest) (*srpc.Empty, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + s.SetContent(req.Content) + return &srpc.Empty{}, nil +} + +func (sg *SillyGirlService) SenderContinue(ctx context.Context, req *srpc.SenderRequest) (*srpc.Empty, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + s.Continue() + return &srpc.Empty{}, nil +} + +// todo +func (sg *SillyGirlService) SenderListen(ctx context.Context, req *srpc.SenderListenRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + + options := []interface{}{} + var carry = &Carry{ + ListenPrivate: req.ListenPrivate, + ListenGroup: req.ListenGroup, + RequireAdmin: req.RequireAdmin, + AllowPlatforms: req.AllowPlatforms, + ProhibitPlatforms: req.ProhibitPlatforms, + AllowGroups: req.AllowGroups, + ProhibitGroups: req.ProhibitGroups, + AllowUsers: req.AllowUsers, + ProhibitUsers: req.ProhibitUsers, + UserID: s.GetUserID(), + ChatID: s.GetChatID(), + } + + if req.Timeout != 0 { + options = append(options, time.Duration(req.Timeout)*time.Millisecond) + } + if len(req.Rules) != 0 { + for _, rule := range req.Rules { + _rs := formatRule(rule) + if len(_rs) != 0 { + carry.Function.Rules = append(carry.Function.Rules, _rs...) + } else { + carry.Function.Rules = append(carry.Function.Rules, rule) + } + } + } + options = append(options, carry) + id := "" + s.Await(s, func(s common.Sender) interface{} { + id = s.GetID() + return nil + }, options...) + return &srpc.Default{Value: id}, nil +} + +func (sg *SillyGirlService) SenderEvent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + return &srpc.Default{Value: string(utils.JsonMarshal(s.Event()))}, nil +} + +func (sg *SillyGirlService) SenderReply(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + message_id, err := s.Reply(req.Content) + return &srpc.Default{Value: message_id}, err +} + +func (sg *SillyGirlService) SenderAction(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) { + s, err := GetSender(req.Uuid) + if err != nil { + return nil, err + } + var params = map[string]interface{}{} + err = json.Unmarshal([]byte(req.Content), ¶ms) + if err != nil { + return nil, err + } + result, err := s.Action(params) + return &srpc.Default{Value: string(utils.JsonMarshal(result))}, err +} diff --git a/core/plugin_core.go b/core/plugin_core.go index 8fa9f96..b6e6757 100644 --- a/core/plugin_core.go +++ b/core/plugin_core.go @@ -19,6 +19,8 @@ import ( "github.com/robfig/cron/v3" ) +var pluginLock = new(sync.Mutex) + type myFieldNameMapper struct{} var mutexMap = make(map[string]*sync.Mutex) @@ -89,7 +91,9 @@ func initPlugins() { return nil }) plugins.Foreach(func(key, data []byte) error { - f, cbs, err := initPlugin(string(data), string(key)) + pluginLock.Lock() + defer pluginLock.Unlock() + f, cbs, err := initPlugin(string(data), string(key), "") if err != nil { console.Error("初始化插件%s错误: %v", key, err) } @@ -100,7 +104,7 @@ func initPlugins() { // os.WriteFile(fmt.Sprintf("%s/%s.js", pluginPath, f.Title), data, 0600) return nil }) - var pluginLock = new(sync.Mutex) + storage.Watch(plugins, nil, func(old, new, key string) (fin *storage.Final) { pluginLock.Lock() defer pluginLock.Unlock() @@ -110,7 +114,7 @@ func initPlugins() { continue } script := string(fetchScript(p.Address, key)) - if f, _, _ := initPlugin(script, p.UUID); f.CreateAt != "" { + if f, _, _ := initPlugin(script, p.UUID, ""); f.CreateAt != "" { fin = &storage.Final{ Now: script, } @@ -203,7 +207,7 @@ func initPlugins() { } new = su.script } - f, cbs, err := initPlugin(new, key) + f, cbs, err := initPlugin(new, key, "") if err != nil && new != "" { pluginConsole(key).Error(err) } @@ -227,13 +231,13 @@ func initPlugins() { if new != "" { AddCommand([]*common.Function{f}) if old == "" { - console.Log("已加载 %s.js", f.Title) + console.Log("已加载 %s%s", f.Title, f.Suffix) } else if !f.OnStart { - console.Log("已重载 %s.js", f.Title) + console.Log("已重载 %s%s", f.Title, f.Suffix) } } else { - of, _, _ := initPlugin(old, key) - console.Log("已卸载 %s.js", of.Title) + of, _, _ := initPlugin(old, key, "") + console.Log("已卸载 %s%s", of.Title, of.Suffix) } apd = true break @@ -255,236 +259,12 @@ func initPlugins() { }) } -func initPlugin(data string, uuid string) (*common.Function, []func(), error) { - var cbs = []func(){} - var err error - var rules []string - var imType *common.Filter - var userId *common.Filter - var groupId *common.Filter - var cron = map[string]string{} - var admin bool - var disable bool - var priority int - var title string - var public bool - var description string - var icon string - var version string = "v1.0.0" - var author string - var create_at string - var module bool - var web bool - var encrypt bool - var onStart bool - var origin = "自定义" - var https = []*common.Http{} - var message *common.Reply - var FindAll bool - var hasForm bool - var carry bool - var classes = []string{} - ks := map[string]bool{} - ress := regexp.MustCompile( - `\*\s?@([\d\w+-]+)\s+([^\n]+?)\n`, - ).FindAllStringSubmatch(data, -1) - for _, res := range ress { - switch res[1] { - case "rule", "match", "regex", "pattern": - rule := strings.TrimSpace(res[2]) - rule = parseReply3(rule, func(s1, s2 string) { - k := s1 + "." + s2 - if _, ok := ks[k]; !ok { - cbs = append(cbs, func() { - storage.Watch(MakeBucket(s1), s2, func(old, new, key string) *storage.Final { - return &storage.Final{ - EndFunc: func() { - plugins.Set(uuid, "reload") - }, - } - }, uuid) - }) - ks[k] = true - } - }) - _rs := []string{} - FR: - ress := regexp.MustCompile(`\[([^\s\[\]]+)\]`).FindAllStringSubmatch(rule, -1) - if len(ress) != 0 { - res := ress[len(ress)-1] - var inner = res[1] - slice := strings.SplitN(inner, ":", 2) - name := slice[0] - ps := "" - if len(slice) == 2 { - ps = slice[1] - } - if strings.HasSuffix(name, "?") { - name = strings.TrimRight(name, "?") - rep := "" - if ps == "" { - rep = fmt.Sprintf("[%s]", name) - } else { - rep = fmt.Sprintf("[%s:%s]", name, ps) - } - for l := range _rs { - _rs[l] = strings.Replace(_rs[l], res[0], rep, 1) - } - rule1 := strings.Replace(rule, res[0], rep, 1) - if len(_rs) == 0 { - _rs = append(_rs, rule1) - } - rule = strings.Replace(rule, res[0], "", 1) - rule = regexp.MustCompile("\x20{2,}").ReplaceAllString(rule, " ") - rule = strings.TrimSpace(rule) - _rs = append(_rs, rule) - goto FR - } - } - if len(_rs) != 0 { - rules = append(rules, _rs...) - } else { - rules = append(rules, rule) - } - case "class": - classes = append(classes, regexp.MustCompile(`[\S]+`).FindAllString(res[2], -1)...) - classes = utils.Unique(classes) - case "platform", "imType", "platform+", "imType+": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - imType = &common.Filter{ - BlackMode: false, - Items: item, - } - case "platform-", "imType-": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - imType = &common.Filter{ - BlackMode: true, - Items: item, - } - case "userId", "userID", "uid", "userId+", "userID+", "uid+": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - userId = &common.Filter{ - BlackMode: false, - Items: item, - } - case "userId-", "userID-", "uid-": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - userId = &common.Filter{ - BlackMode: true, - Items: item, - } - case "groupId", "groupID", "groupCode", "chat_id", "chat_id+", "chatId", "chatID", "gid", "groupId+", "groupID+", "groupCode+", "chatId+", "chatID+", "gid+": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - groupId = &common.Filter{ - BlackMode: false, - Items: item, - } - case "groupId-", "groupID-", "groupCode-", "chatId-", "chat_id-", "chatID-", "gid-": - var item []string - for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { - item = append(item, strings.TrimSpace(i)) - } - groupId = &common.Filter{ - BlackMode: true, - Items: item, - } - - case "admin": - admin = strings.TrimSpace(res[2]) == "true" - case "disable": - disable = strings.TrimSpace(res[2]) == "true" - case "findall": - FindAll = strings.TrimSpace(res[2]) == "true" - case "priority": - priority = utils.Int(strings.TrimSpace(res[2])) - case "title", "name", "show": - title = strings.TrimSpace(res[2]) - case "public": - public = strings.TrimSpace(res[2]) == "true" - case "description": - description = strings.TrimSpace(res[2]) - case "icon": - icon = strings.TrimSpace(res[2]) - case "version": - version = strings.TrimSpace(res[2]) - case "author": - author = strings.TrimSpace(res[2]) - case "http": - ss := regexp.MustCompile(`[\S]+`).FindAllString(strings.TrimSpace(res[2]), -1) - if len(ss) == 2 { - https = append(https, &common.Http{ - Path: ss[1], - Method: strings.ToUpper(ss[0]), - }) - } else { - console.Warn("http param is not 2") - } - case "message": - ss := regexp.MustCompile(`[\S]+`).FindAllString(strings.TrimSpace(res[2]), -1) - if len(ss) > 1 { - if len(ss) == 2 && ss[1] == "*" { - message = &common.Reply{ - Platform: ss[0], - BotsID: []string{}, - } - } else { - message = &common.Reply{ - Platform: ss[0], - BotsID: ss[1:], - } - } - - } else { - console.Warn("message param is 0") - } - case "create_at": - create_at = strings.TrimSpace(res[2]) - case "origin": - origin = strings.TrimSpace(res[2]) - case "module": - module = strings.TrimSpace(res[2]) == "true" - case "web": - web = strings.TrimSpace(res[2]) == "true" - case "carry": - carry = strings.TrimSpace(res[2]) == "true" - case "encrypt": - encrypt = strings.TrimSpace(res[2]) == "true" - case "on_start": - onStart = strings.TrimSpace(res[2]) == "true" - case "form": - hasForm = true - case "paterner": - paterner := strings.TrimSpace(res[2]) - go func() { - time.Sleep(time.Second * 2) - getPaterner(uuid, strings.TrimSpace(paterner)) - }() - default: - cron_ := strings.TrimSpace(res[2]) - cron_ = strings.ReplaceAll(cron_, `\/`, "/") - if strings.HasPrefix(res[1], "cron") { - cron[res[1]] = cron_ - } - } - } - +func initPlugin(data string, uuid string, scriptType string) (*common.Function, []func(), error) { + f, cbs := pluginParse(data, uuid) + f.Suffix = ".js" + f.Type = "goja" script := "" - if encrypt { + if f.Encrypt { script = DecryptPlugin(string(data)) } else { script = string(data) @@ -494,152 +274,119 @@ func initPlugin(data string, uuid string) (*common.Function, []func(), error) { script = strings.ReplaceAll(script, "new Bucket", "Bucket") // script = regexp.MustCompile(`import\s+\{\s*([^\}]+)\s*\}\s*from\s*['"]([^'"]+)['"]\s*;`).ReplaceAllString(script, "const {$1} = require('$2');") // script = regexp.MustCompile(`import\s+\s*([^\}]+)\s*\s*from\s*['"]([^'"]+)['"]\s*;`).ReplaceAllString(script, "const $1 = require('$2');") - if !hasForm { - hasForm = strings.Contains(script, "Form(") - } - prg, err2 := goja.Compile(title+".js", script, false) + var err error + prg, err2 := goja.Compile(f.Title+".js", script, false) if err == nil && err2 != nil { err = err2 } // if err == nil && len(rules) == 0 && cron != "" { // err = fmt.Errorf("无效的脚本%s", title) // } - if web { - onStart = true - } // if icon == "" { // icon = "https://joeschmoe.io/api/v1/random?t=" + fmt.Sprint(time.Now().Nanosecond()) // } var running func() bool - f := &common.Function{ - Handle: func(s common.Sender, set func(vm *goja.Runtime)) interface{} { - if !debug { - defer func() { - err := recover() - if err != nil { - pluginConsole(uuid).Error(err) - // s.Reply(fmt.Sprint(err)) - } - }() - } - if err2 != nil { - panic(err2) - } - loop := eventloop.NewEventLoop() - loop.Run(func(vm *goja.Runtime) { - SetPluginMethod(vm, uuid, onStart, running) - ss := &SenderJsIplm{ - Message: s, - Vm: vm, - Private: "private", - Group: "group", - Routine: "routine", - Persistent: "persistent", - UUID: uuid, - } - vm.Set("msg", goja.Undefined()) - vm.Set("message", goja.Undefined()) - vm.Set("res", goja.Undefined()) - vm.Set("req", goja.Undefined()) - vm.Set("action", goja.Undefined()) - vm.Set("sender", ss) - vm.Set("run", func(uuid string) bool { //执行子脚本 - fs := Functions - for i := range fs { - if fs[i].UUID == uuid { - fs[i].Handle(s, nil) - return true - } - } - return false - }) - vm.Set("s", ss) - vm.Set("InitAdapter", func(plt, botid string, params map[string]interface{}) *Factory { - f := &Factory{ - uuid: uuid, - vm: vm, - } - f.Init(plt, botid, params) - return f - }) - vm.Set("initAdapter", func(plt, botid string, params map[string]interface{}) *Factory { - f := &Factory{ - uuid: uuid, - vm: vm, - } - f.Init(plt, botid, params) - return f - }) - getAdapter := func(plt, botid string) map[string]interface{} { - adapter, err := GetAdapter(plt, botid) - errstr := "" - if err != nil { - errstr = err.Error() - } - return map[string]interface{}{ - "error": errstr, - "adapter": adapter, - } - } - vm.Set("GetAdapter", getAdapter) - vm.Set("getAdapter", getAdapter) - vm.Set("getAdapterBotsID", GetAdapterBotsID) - vm.Set("getAdapterBotPlts", GetAdapterBotPlts) - vm.Set("GetAdapterBotsID", GetAdapterBotsID) - vm.Set("GetAdapterBotPlts", GetAdapterBotPlts) - vm.Set("running", running) - vm.Set("Running", running) - vm.Set("uuid", func() string { - return uuid - }) - vm.Set("genUuid", func() string { - return utils.GenUUID() - }) - vm.Set("genUUID", func() string { - return utils.GenUUID() - }) - vm.Set("UUID", func() string { - return uuid - }) - if set != nil { - set(vm) - } - _, err := vm.RunProgram(prg) + f.Handle = func(s common.Sender, set func(vm *goja.Runtime)) interface{} { + if !debug { + defer func() { + err := recover() if err != nil { - pluginConsole(uuid).Error(strings.ReplaceAll(strings.ReplaceAll(err.Error(), "node_modules/", ""), "github.com/dop251/goja_nodejs/require", "")) + pluginConsole(uuid).Error(err) + // s.Reply(fmt.Sprint(err)) } + }() + } + if err2 != nil { + panic(err2) + } + loop := eventloop.NewEventLoop() + loop.Run(func(vm *goja.Runtime) { + SetPluginMethod(vm, uuid, f.OnStart, running) + ss := &SenderJsIplm{ + Message: s, + Vm: vm, + Private: "private", + Group: "group", + Routine: "routine", + Persistent: "persistent", + UUID: uuid, + } + vm.Set("msg", goja.Undefined()) + vm.Set("message", goja.Undefined()) + vm.Set("res", goja.Undefined()) + vm.Set("req", goja.Undefined()) + vm.Set("action", goja.Undefined()) + vm.Set("sender", ss) + vm.Set("run", func(uuid string) bool { //执行子脚本 + fs := Functions + for i := range fs { + if fs[i].UUID == uuid { + fs[i].Handle(s, nil) + return true + } + } + return false }) - return nil - }, - Rules: rules, - ImType: imType, - UserId: userId, - GroupId: groupId, - Cron: cron, - Admin: admin, - Priority: priority, - Disable: disable, - UUID: uuid, - Title: title, - Public: public, - Description: description, - Icon: icon, - Version: version, - Author: author, - CreateAt: create_at, - Module: module, - Encrypt: encrypt, - OnStart: onStart, - Origin: origin, - Running: onStart, - Reply: message, - Https: https, - FindAll: FindAll, - HasForm: hasForm, - Carry: carry, - Classes: classes, + vm.Set("s", ss) + vm.Set("InitAdapter", func(plt, botid string, params map[string]interface{}) *Factory { + f := &Factory{ + uuid: uuid, + vm: vm, + } + f.Init(plt, botid, params) + return f + }) + vm.Set("initAdapter", func(plt, botid string, params map[string]interface{}) *Factory { + f := &Factory{ + uuid: uuid, + vm: vm, + } + f.Init(plt, botid, params) + return f + }) + getAdapter := func(plt, botid string) map[string]interface{} { + adapter, err := GetAdapter(plt, botid) + errstr := "" + if err != nil { + errstr = err.Error() + } + return map[string]interface{}{ + "error": errstr, + "adapter": adapter, + } + } + vm.Set("GetAdapter", getAdapter) + vm.Set("getAdapter", getAdapter) + vm.Set("getAdapterBotsID", GetAdapterBotsID) + vm.Set("getAdapterBotPlts", GetAdapterBotPlts) + vm.Set("GetAdapterBotsID", GetAdapterBotsID) + vm.Set("GetAdapterBotPlts", GetAdapterBotPlts) + vm.Set("running", running) + vm.Set("Running", running) + vm.Set("uuid", func() string { + return uuid + }) + vm.Set("genUuid", func() string { + return utils.GenUUID() + }) + vm.Set("genUUID", func() string { + return utils.GenUUID() + }) + vm.Set("UUID", func() string { + return uuid + }) + if set != nil { + set(vm) + } + _, err := vm.RunProgram(prg) + if err != nil { + pluginConsole(uuid).Error(strings.ReplaceAll(strings.ReplaceAll(err.Error(), "node_modules/", ""), "github.com/dop251/goja_nodejs/require", "")) + } + }) + return nil } + running = func() bool { return f.Running } diff --git a/core/plugin_impl.go b/core/plugin_impl.go index b18a0ed..a91e229 100644 --- a/core/plugin_impl.go +++ b/core/plugin_impl.go @@ -23,10 +23,10 @@ var sleep = func(i int) { func GetScriptNameByUUID(uuid string) string { for _, f := range Functions { if f.UUID == uuid { - return fmt.Sprintf("%s.js", f.Title) + return fmt.Sprintf("%s%s", f.Title, f.Suffix) } } - return "未知脚本.js" + return "未知脚本" } type SenderJsIplm struct { diff --git a/core/plugin_parse.go b/core/plugin_parse.go new file mode 100644 index 0000000..cb14794 --- /dev/null +++ b/core/plugin_parse.go @@ -0,0 +1,268 @@ +package core + +import ( + "fmt" + "regexp" + "strings" + + "github.com/cdle/sillyplus/core/common" + "github.com/cdle/sillyplus/core/storage" + "github.com/cdle/sillyplus/utils" +) + +func pluginParse(script string, uuid string) (*common.Function, []func()) { + var cbs = []func(){} + var rules []string + var imType *common.Filter + var userId *common.Filter + var groupId *common.Filter + var cron = map[string]string{} + var admin bool + var disable bool + var priority int + var title string + var public bool + var description string + var icon string + var version string = "v1.0.0" + var author string + var create_at string + var module bool + var encrypt bool + var onStart bool + var origin = "自定义" + var https = []*common.Http{} + var message *common.Reply + var FindAll bool + var hasForm bool + var carry bool + var classes = []string{} + ks := map[string]bool{} + ress := regexp.MustCompile( + `\*\s?@([\d\w+-]+)\s+([^\n]+?)\n`, + ).FindAllStringSubmatch(script, -1) + for _, res := range ress { + switch res[1] { + case "rule", "match", "regex", "pattern": + rule := strings.TrimSpace(res[2]) + rule = parseReply3(rule, func(s1, s2 string) { + k := s1 + "." + s2 + if _, ok := ks[k]; !ok { + cbs = append(cbs, func() { + storage.Watch(MakeBucket(s1), s2, func(old, new, key string) *storage.Final { + return &storage.Final{ + EndFunc: func() { + plugins.Set(uuid, "reload") + }, + } + }, uuid) + }) + ks[k] = true + } + }) + _rs := []string{} + FR: + ress := regexp.MustCompile(`\[([^\s\[\]]+)\]`).FindAllStringSubmatch(rule, -1) + if len(ress) != 0 { + res := ress[len(ress)-1] + var inner = res[1] + slice := strings.SplitN(inner, ":", 2) + name := slice[0] + ps := "" + if len(slice) == 2 { + ps = slice[1] + } + if strings.HasSuffix(name, "?") { + name = strings.TrimRight(name, "?") + rep := "" + if ps == "" { + rep = fmt.Sprintf("[%s]", name) + } else { + rep = fmt.Sprintf("[%s:%s]", name, ps) + } + for l := range _rs { + _rs[l] = strings.Replace(_rs[l], res[0], rep, 1) + } + rule1 := strings.Replace(rule, res[0], rep, 1) + if len(_rs) == 0 { + _rs = append(_rs, rule1) + } + rule = strings.Replace(rule, res[0], "", 1) + rule = regexp.MustCompile("\x20{2,}").ReplaceAllString(rule, " ") + rule = strings.TrimSpace(rule) + _rs = append(_rs, rule) + goto FR + } + } + if len(_rs) != 0 { + rules = append(rules, _rs...) + } else { + rules = append(rules, rule) + } + case "class": + classes = append(classes, regexp.MustCompile(`[\S]+`).FindAllString(res[2], -1)...) + classes = utils.Unique(classes) + case "platform", "imType", "platform+", "imType+": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + imType = &common.Filter{ + BlackMode: false, + Items: item, + } + case "platform-", "imType-": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + imType = &common.Filter{ + BlackMode: true, + Items: item, + } + case "userId", "userID", "uid", "userId+", "userID+", "uid+": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + userId = &common.Filter{ + BlackMode: false, + Items: item, + } + case "userId-", "userID-", "uid-": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + userId = &common.Filter{ + BlackMode: true, + Items: item, + } + case "groupId", "groupID", "groupCode", "chat_id", "chat_id+", "chatId", "chatID", "gid", "groupId+", "groupID+", "groupCode+", "chatId+", "chatID+", "gid+": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + groupId = &common.Filter{ + BlackMode: false, + Items: item, + } + case "groupId-", "groupID-", "groupCode-", "chatId-", "chat_id-", "chatID-", "gid-": + var item []string + for _, i := range regexp.MustCompile(`[\d\w-]+`).FindAllString(res[2], -1) { + item = append(item, strings.TrimSpace(i)) + } + groupId = &common.Filter{ + BlackMode: true, + Items: item, + } + + case "admin": + admin = strings.TrimSpace(res[2]) == "true" + case "disable": + disable = strings.TrimSpace(res[2]) == "true" + case "findall": + FindAll = strings.TrimSpace(res[2]) == "true" + case "priority": + priority = utils.Int(strings.TrimSpace(res[2])) + case "title", "name", "show": + title = strings.TrimSpace(res[2]) + case "public": + public = strings.TrimSpace(res[2]) == "true" + case "description": + description = strings.TrimSpace(res[2]) + case "icon": + icon = strings.TrimSpace(res[2]) + case "version": + version = strings.TrimSpace(res[2]) + case "author": + author = strings.TrimSpace(res[2]) + case "http": + ss := regexp.MustCompile(`[\S]+`).FindAllString(strings.TrimSpace(res[2]), -1) + if len(ss) == 2 { + https = append(https, &common.Http{ + Path: ss[1], + Method: strings.ToUpper(ss[0]), + }) + } else { + console.Warn("http param is not 2") + } + case "message": + ss := regexp.MustCompile(`[\S]+`).FindAllString(strings.TrimSpace(res[2]), -1) + if len(ss) > 1 { + if len(ss) == 2 && ss[1] == "*" { + message = &common.Reply{ + Platform: ss[0], + BotsID: []string{}, + } + } else { + message = &common.Reply{ + Platform: ss[0], + BotsID: ss[1:], + } + } + + } else { + console.Warn("message param is 0") + } + case "create_at": + create_at = strings.TrimSpace(res[2]) + case "origin": + origin = strings.TrimSpace(res[2]) + case "module": + module = strings.TrimSpace(res[2]) == "true" + case "carry": + carry = strings.TrimSpace(res[2]) == "true" + case "encrypt": + encrypt = strings.TrimSpace(res[2]) == "true" + case "on_start": + onStart = strings.TrimSpace(res[2]) == "true" + case "form": + hasForm = true + case "paterner": + // paterner := strings.TrimSpace(res[2]) + // go func() { + // time.Sleep(time.Second * 2) + // getPaterner(uuid, strings.TrimSpace(paterner)) + // }() + default: + cron_ := strings.TrimSpace(res[2]) + cron_ = strings.ReplaceAll(cron_, `\/`, "/") + if strings.HasPrefix(res[1], "cron") { + cron[res[1]] = cron_ + } + } + } + if !hasForm { + hasForm = strings.Contains(script, "Form(") + } + return &common.Function{ + Rules: rules, + ImType: imType, + UserId: userId, + GroupId: groupId, + Cron: cron, + Admin: admin, + Priority: priority, + Disable: disable, + UUID: uuid, + Title: title, + Public: public, + Description: description, + Icon: icon, + Version: version, + Author: author, + CreateAt: create_at, + Module: module, + Encrypt: encrypt, + OnStart: onStart, + Origin: origin, + Running: onStart, + Reply: message, + Https: https, + FindAll: FindAll, + HasForm: hasForm, + Carry: carry, + Classes: classes, + }, cbs +} diff --git a/core/task.go b/core/task.go index 4c9a346..2f657ab 100644 --- a/core/task.go +++ b/core/task.go @@ -55,7 +55,7 @@ func RegistTasks(pt *Tasks) { for _, meta := range pt.Senders { adapter, _ := GetAdapter(meta.Platfrom, meta.BotID) if adapter != nil { - sender := adapter.Sender2() + sender := adapter.Sender2(nil) sender.SetFsps(&common.FakerSenderParams{ Content: content, ChatID: meta.ChatID, @@ -324,7 +324,7 @@ func init() { functions := Functions for _, function := range functions { if function.UUID != "" { - scripts[function.UUID] = function.Title + ".js" + scripts[function.UUID] = function.Title + function.Suffix } } var user_names = []NicklabeL{} diff --git a/go.mod b/go.mod index 2a7589b..efa5a6d 100644 --- a/go.mod +++ b/go.mod @@ -17,6 +17,7 @@ require ( github.com/dop251/goja v0.0.0-20230605162241-28ee0ee714f3 github.com/dop251/goja_nodejs v0.0.0-20230602164024-804a84515562 github.com/elastic/go-elasticsearch/v6 v6.8.10 + github.com/fsnotify/fsnotify v1.4.9 github.com/gin-gonic/gin v1.9.1 github.com/go-redis/redis/v8 v8.11.5 github.com/goccy/go-json v0.10.2 @@ -28,6 +29,7 @@ require ( github.com/stretchr/testify v1.8.4 go.mongodb.org/mongo-driver v1.11.7 golang.org/x/net v0.11.0 + google.golang.org/grpc v1.41.0 ) require ( @@ -37,6 +39,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gofrs/uuid/v5 v5.0.0 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.1 // indirect github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect github.com/klauspost/compress v1.13.6 // indirect @@ -56,6 +59,7 @@ require ( golang.org/x/mod v0.8.0 // indirect golang.org/x/sync v0.3.0 // indirect golang.org/x/tools v0.6.0 // indirect + google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) @@ -80,5 +84,5 @@ require ( golang.org/x/crypto v0.10.0 // indirect golang.org/x/sys v0.9.0 // indirect golang.org/x/text v0.10.0 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/protobuf v1.30.0 ) diff --git a/go.sum b/go.sum index 93bb011..4011c35 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,12 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Dreamacro/clash v1.17.0 h1:LWtp6KcnrCiujY58ufI8pylI+hbCBgSCsLI90EWhpi4= github.com/Dreamacro/clash v1.17.0/go.mod h1:PtcAft7sdsK325BD6uwm8wvhOkMV3TCeED6dfZ/lnfE= github.com/Dreamacro/protobytes v0.0.0-20230617041236-6500a9f4f158 h1:JFnwKplz9hj8ubqYjm8HkgZS1Rvz9yW+u/XCNNTxr0k= github.com/Dreamacro/protobytes v0.0.0-20230617041236-6500a9f4f158/go.mod h1:QvmEZ/h6KXszPOr2wUFl7Zn3hfFNYdfbXwPVDTyZs6k= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= github.com/beego/beego/v2 v2.1.0 h1:Lk0FtQGvDQCx5V5yEu4XwDsIgt+QOlNjt5emUa3/ZmA= @@ -13,6 +18,9 @@ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx2 github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= @@ -23,8 +31,13 @@ github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86c github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 h1:F1EaeKL/ta07PY/k9Os/UFtwERei2/XzGemhpGnBKNg= github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -45,9 +58,18 @@ github.com/dop251/goja_nodejs v0.0.0-20230602164024-804a84515562 h1:0gomDSJiLLlp github.com/dop251/goja_nodejs v0.0.0-20230602164024-804a84515562/go.mod h1:X2TOTJ+Uamd454RFp7ig2tmP3hQg0Z2Qk8gbVQmU0mk= github.com/elastic/go-elasticsearch/v6 v6.8.10 h1:2lN0gJ93gMBXvkhwih5xquldszpm8FlUwqG5sPzr6a8= github.com/elastic/go-elasticsearch/v6 v6.8.10/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -77,9 +99,30 @@ github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= @@ -87,10 +130,12 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs= github.com/google/pprof v0.0.0-20230602150820-91b7bce49751/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= @@ -135,10 +180,12 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -146,10 +193,12 @@ github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02 h1:v9ezJDHA1XGxVi github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02/go.mod h1:RF16/A3L0xSa0oSERcnhd8Pu3IXSDZSK2gmGIMsttFE= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -177,9 +226,11 @@ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.mongodb.org/mongo-driver v1.11.7 h1:LIwYxASDLGUg/8wOhgOOZhX8tQa/9tgZPgzZoVqJvcs= go.mongodb.org/mongo-driver v1.11.7/go.mod h1:G9TgswdsWjX4tmDA5zfs2+6AEPpYJwqblyjsfuh8oXY= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -193,22 +244,41 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -217,11 +287,16 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -240,6 +315,7 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= @@ -248,9 +324,15 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= @@ -258,7 +340,35 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 h1:ysnBoUyeL/H6RCvNRhWHjKoDEmguI+mPU+qHgK8qv/w= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= @@ -268,10 +378,14 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/proto3/list.json b/proto3/list.json new file mode 100644 index 0000000..e69de29 diff --git a/proto3/note.txt b/proto3/note.txt new file mode 100644 index 0000000..863d16f --- /dev/null +++ b/proto3/note.txt @@ -0,0 +1,13 @@ +protoc-gen-grpc --js_out=import_style=commonjs:. --grpc_out=. srpc.proto +protoc-gen-grpc --ts_out=service=grpc-node:. --grpc_out=. srpc.proto + +protoc --go_out=. -I. --go-grpc_out=. srpc.proto + +protoc --plugin=protoc-gen-ts=$(which protoc-gen-ts) --js_out=import_style=commonjs,binary:./ --ts_out=./ srpc.proto + +protoc --js_out=import_style=commonjs,binary:. --grpc_out=. srpc.proto + + +//ok +protoc --go_out=. -I. --go-grpc_out=. srpc.proto +protoc-gen-grpc --ts_out=service=grpc-node:. --grpc_out=. srpc.proto \ No newline at end of file diff --git a/proto3/package-lock.json b/proto3/package-lock.json new file mode 100644 index 0000000..cd2b5cc --- /dev/null +++ b/proto3/package-lock.json @@ -0,0 +1,1111 @@ +{ + "name": "proto3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@grpc/grpc-js": "^1.8.18", + "@grpc/proto-loader": "^0.7.8", + "google-protobuf": "^3.21.2", + "grpc": "^1.24.11", + "grpc-tools": "^1.12.4", + "grpc-web": "^1.4.2" + }, + "devDependencies": { + "@types/google-protobuf": "^3.15.6" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.8.18", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.18.tgz", + "integrity": "sha512-2uWPtxhsXmVgd8WzDhfamSjHpZDXfMjMDciY6VRTq4Sn7rFzazyf0LLDa0oav+61UHIoEZb4KKaAV6S7NuJFbQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.8.tgz", + "integrity": "sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@types/bytebuffer": { + "version": "5.0.44", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.44.tgz", + "integrity": "sha512-k1qonHga/SfQT02NF633i+7tIfKd+cfC/8pjnedcfuXJNMWooss/FkCgRMSnLf2WorLjbuH4bfgAZEbtyHBDoQ==", + "dependencies": { + "@types/long": "^3.0.0", + "@types/node": "*" + } + }, + "node_modules/@types/bytebuffer/node_modules/@types/long": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", + "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" + }, + "node_modules/@types/google-protobuf": { + "version": "3.15.6", + "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz", + "integrity": "sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw==", + "dev": true + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/node": { + "version": "20.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", + "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "dependencies": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", + "dependencies": { + "long": "~3" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/bytebuffer/node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/google-protobuf": { + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", + "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" + }, + "node_modules/grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "deprecated": "This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/grpc-tools": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/grpc-tools/-/grpc-tools-1.12.4.tgz", + "integrity": "sha512-5+mLAJJma3BjnW/KQp6JBjUMgvu7Mu3dBvBPd1dcbNIb+qiR0817zDpgPjS7gRb+l/8EVNIa3cB02xI9JLToKg==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.5" + }, + "bin": { + "grpc_tools_node_protoc": "bin/protoc.js", + "grpc_tools_node_protoc_plugin": "bin/protoc_plugin.js" + } + }, + "node_modules/grpc-web": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz", + "integrity": "sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw==" + }, + "node_modules/grpc/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grpc/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/grpc/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grpc/node_modules/protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "dependencies": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "bin": { + "pbjs": "bin/pbjs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/grpc/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grpc/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grpc/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grpc/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "node_modules/grpc/node_modules/yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha512-ONJZiimStfZzhKamYvR/xvmgW3uEkAUFSP91y2caTEPhzF6uP2JfPiVZcq66b/YR0C3uitxSV7+T1x8p5bkmMg==", + "dependencies": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha512-f8lTJm4LKirX+45xsFhuRNjA4f46QVLQKfGoNH7e2AEWS+24eM4XNH4pQ8Tw2LISCIvbST/wNcLdtgvgcqVaxA==" + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", + "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha512-2thx4pB0cV3h+Bw7QmMXcEbdmOzv9t0HFplJH/Lz6yu60hXYy5RT8rUu+wlIreVxWsGN20mo+MHeCSfUpQBwPw==", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + } + } +} diff --git a/proto3/package.json b/proto3/package.json new file mode 100644 index 0000000..b363e20 --- /dev/null +++ b/proto3/package.json @@ -0,0 +1,13 @@ +{ + "dependencies": { + "@grpc/grpc-js": "^1.8.18", + "@grpc/proto-loader": "^0.7.8", + "google-protobuf": "^3.21.2", + "grpc": "^1.24.11", + "grpc-tools": "^1.12.4", + "grpc-web": "^1.4.2" + }, + "devDependencies": { + "@types/google-protobuf": "^3.15.6" + } +} diff --git a/proto3/pnpm-lock.yaml b/proto3/pnpm-lock.yaml new file mode 100644 index 0000000..9145f1b --- /dev/null +++ b/proto3/pnpm-lock.yaml @@ -0,0 +1,756 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@grpc/proto-loader': + specifier: ^0.7.8 + version: 0.7.8 + google-protobuf: + specifier: ^3.21.2 + version: 3.21.2 + grpc: + specifier: ^1.24.11 + version: 1.24.11 + grpc-tools: + specifier: ^1.12.4 + version: 1.12.4 + +packages: + + /@grpc/proto-loader@0.7.8: + resolution: {integrity: sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + '@types/long': 4.0.2 + lodash.camelcase: 4.3.0 + long: 4.0.0 + protobufjs: 7.2.4 + yargs: 17.7.2 + dev: false + + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.6.12 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.5.4 + tar: 6.1.15 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@protobufjs/aspromise@1.1.2: + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + dev: false + + /@protobufjs/base64@1.1.2: + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + dev: false + + /@protobufjs/codegen@2.0.4: + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + dev: false + + /@protobufjs/eventemitter@1.1.0: + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + dev: false + + /@protobufjs/fetch@1.1.0: + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + dev: false + + /@protobufjs/float@1.0.2: + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + dev: false + + /@protobufjs/inquire@1.1.0: + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + dev: false + + /@protobufjs/path@1.1.2: + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + dev: false + + /@protobufjs/pool@1.1.0: + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + dev: false + + /@protobufjs/utf8@1.1.0: + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + dev: false + + /@types/bytebuffer@5.0.44: + resolution: {integrity: sha512-k1qonHga/SfQT02NF633i+7tIfKd+cfC/8pjnedcfuXJNMWooss/FkCgRMSnLf2WorLjbuH4bfgAZEbtyHBDoQ==} + dependencies: + '@types/long': 3.0.32 + '@types/node': 20.4.2 + dev: false + + /@types/long@3.0.32: + resolution: {integrity: sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==} + dev: false + + /@types/long@4.0.2: + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + dev: false + + /@types/node@20.4.2: + resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==} + dev: false + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: false + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: false + + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: false + + /are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + + /ascli@1.0.1: + resolution: {integrity: sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==} + dependencies: + colour: 0.7.1 + optjs: 3.2.2 + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: false + + /bytebuffer@5.0.1: + resolution: {integrity: sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==} + engines: {node: '>=0.8'} + dependencies: + long: 3.2.0 + dev: false + + /camelcase@2.1.1: + resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} + engines: {node: '>=0.10.0'} + dev: false + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: false + + /cliui@3.2.0: + resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + wrap-ansi: 2.1.0 + dev: false + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: false + + /code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: false + + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: false + + /colour@0.7.1: + resolution: {integrity: sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==} + engines: {node: '>=0.8'} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: false + + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: false + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: false + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: false + + /gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: false + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /google-protobuf@3.21.2: + resolution: {integrity: sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==} + dev: false + + /grpc-tools@1.12.4: + resolution: {integrity: sha512-5+mLAJJma3BjnW/KQp6JBjUMgvu7Mu3dBvBPd1dcbNIb+qiR0817zDpgPjS7gRb+l/8EVNIa3cB02xI9JLToKg==} + hasBin: true + requiresBuild: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /grpc@1.24.11: + resolution: {integrity: sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==} + engines: {node: '>=4'} + deprecated: This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead. + requiresBuild: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + '@types/bytebuffer': 5.0.44 + lodash.camelcase: 4.3.0 + lodash.clone: 4.5.0 + nan: 2.17.0 + protobufjs: 5.0.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: false + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /invert-kv@1.0.0: + resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} + engines: {node: '>=0.10.0'} + dev: false + + /is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + dependencies: + number-is-nan: 1.0.1 + dev: false + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: false + + /lcid@1.0.0: + resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} + engines: {node: '>=0.10.0'} + dependencies: + invert-kv: 1.0.0 + dev: false + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: false + + /lodash.clone@4.5.0: + resolution: {integrity: sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==} + dev: false + + /long@3.2.0: + resolution: {integrity: sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==} + engines: {node: '>=0.6'} + dev: false + + /long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + dev: false + + /long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: false + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: false + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: false + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: false + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: false + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /nan@2.17.0: + resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + dev: false + + /node-fetch@2.6.12: + resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: false + + /npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + dev: false + + /number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: false + + /optjs@3.2.2: + resolution: {integrity: sha512-f8lTJm4LKirX+45xsFhuRNjA4f46QVLQKfGoNH7e2AEWS+24eM4XNH4pQ8Tw2LISCIvbST/wNcLdtgvgcqVaxA==} + dev: false + + /os-locale@1.4.0: + resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==} + engines: {node: '>=0.10.0'} + dependencies: + lcid: 1.0.0 + dev: false + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: false + + /protobufjs@5.0.3: + resolution: {integrity: sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==} + engines: {node: '>=0.8'} + hasBin: true + dependencies: + ascli: 1.0.1 + bytebuffer: 5.0.1 + glob: 7.2.3 + yargs: 3.32.0 + dev: false + + /protobufjs@7.2.4: + resolution: {integrity: sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.4.2 + long: 5.2.3 + dev: false + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: false + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: false + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: false + + /tar@6.1.15: + resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: false + + /window-size@0.1.4: + resolution: {integrity: sha512-2thx4pB0cV3h+Bw7QmMXcEbdmOzv9t0HFplJH/Lz6yu60hXYy5RT8rUu+wlIreVxWsGN20mo+MHeCSfUpQBwPw==} + engines: {node: '>= 0.10.0'} + hasBin: true + dev: false + + /wrap-ansi@2.1.0: + resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==} + engines: {node: '>=0.10.0'} + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + dev: false + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: false + + /y18n@3.2.2: + resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==} + dev: false + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: false + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: false + + /yargs@3.32.0: + resolution: {integrity: sha512-ONJZiimStfZzhKamYvR/xvmgW3uEkAUFSP91y2caTEPhzF6uP2JfPiVZcq66b/YR0C3uitxSV7+T1x8p5bkmMg==} + dependencies: + camelcase: 2.1.1 + cliui: 3.2.0 + decamelize: 1.2.0 + os-locale: 1.4.0 + string-width: 1.0.2 + window-size: 0.1.4 + y18n: 3.2.2 + dev: false diff --git a/proto3/sillygirl.js b/proto3/sillygirl.js new file mode 100644 index 0000000..af49fb0 --- /dev/null +++ b/proto3/sillygirl.js @@ -0,0 +1,547 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = exports.sender = exports.Bucket = exports.Adapter = void 0; +const srpc_1 = require("./srpc"); +const grpc_1 = __importStar(require("@grpc/grpc-js")); +let client = new srpc_1.srpc.SillyGirlServiceClient("localhost:50051", grpc_1.credentials.createInsecure()); +class Sender { + constructor(uuid) { + this.uuid = uuid; + } + getUserId() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetUserId(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getUserName() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetUserName(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getChatId() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetChatId(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getChatName() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetChatName(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getMessageId() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetMessageId(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getPlatform() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetPlatform(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getBotId() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetBotId(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + getContent() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderGetContent(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + setContent(content) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderSetContent(new srpc_1.srpc.SenderContentRequest({ + uuid: this.uuid, + content, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(undefined); + } + }); + }); + }); + } + continue() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderContinue(new srpc_1.srpc.SenderRequest({ + uuid: this.uuid, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(undefined); + } + }); + }); + }); + } + getAdapter() { + return __awaiter(this, void 0, void 0, function* () { + return new Adapter({ + bot_id: yield this.getBotId(), + platform: yield this.getPlatform(), + }); + }); + } + listen(options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + let params = { + uuid: this.uuid, + rules: options === null || options === void 0 ? void 0 : options.rules, + timeout: options === null || options === void 0 ? void 0 : options.timeout, + listen_private: options === null || options === void 0 ? void 0 : options.listen_private, + listen_group: options === null || options === void 0 ? void 0 : options.listen_group, + allow_platforms: options === null || options === void 0 ? void 0 : options.allow_platforms, + prohibit_platforms: options === null || options === void 0 ? void 0 : options.prohibit_platforms, + allow_groups: options === null || options === void 0 ? void 0 : options.allow_groups, + prohibit_groups: options === null || options === void 0 ? void 0 : options.prohibit_groups, + allow_users: options === null || options === void 0 ? void 0 : options.allow_users, + prohibit_users: options === null || options === void 0 ? void 0 : options.prohibit_users, + }; + client.SenderListen(new srpc_1.srpc.SenderListenRequest(params), (err, resp) => { + if (err) { + reject(err); + } + else { + if (resp === null || resp === void 0 ? void 0 : resp.value) { + resolve(new Sender(resp.value)); + } + else { + reject(new Error("timeout")); + } + } + }); + }); + }); + } + reply(content) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.SenderReply(new srpc_1.srpc.ReplyRequest({ + uuid: this.uuid, + content, + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.value); + } + }); + }); + }); + } + action(options) { + return __awaiter(this, void 0, void 0, function* () { + return; + }); + } + event() { + return __awaiter(this, void 0, void 0, function* () { + return; + }); + } +} +class Bucket { + constructor(name) { + this.name = name; + } + transform(v) { + if (!v) { + return undefined; + } + let result; + if (v.startsWith("f:")) { + result = parseFloat(v.replace("f:", "")); + return result; + } + if (v.startsWith("d:")) { + result = parseInt(v.replace("d:", "")); + return result; + } + if (v.startsWith("b:")) { + result = v.replace("b:", "") === "true"; + return result; + } + if (v.startsWith("o:")) { + result = JSON.parse(v.replace("o:", "")); + return result; + } + return v; + } + reverseTransform(value) { + if (typeof value === "number" || typeof value === "boolean") { + return value.toString(); + } + if (typeof value === "object" && value !== null) { + return "o:" + JSON.stringify(value); + } + if (value === undefined || value === null) { + return ""; + } + if (typeof value === "string") { + if (!value) { + return undefined; + } + if (!isNaN(parseFloat(value))) { + return "f:" + parseFloat(value); + } + if (!isNaN(parseInt(value))) { + return "d:" + parseInt(value); + } + if (value === "true" || value === "false") { + return "b:" + (value === "true"); + } + } + return value; + } + get(key, defaultValue = undefined) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketGet(new srpc_1.srpc.BucketKeyRequest({ name: this.name, key }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(this.transform(resp === null || resp === void 0 ? void 0 : resp.value) || defaultValue); + } + }); + }); + }); + } + set(key, value) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketSet(new srpc_1.srpc.BucketSetRequest({ + name: this.name, + key, + value: this.reverseTransform(value), + }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve({ + message: resp === null || resp === void 0 ? void 0 : resp.message, + changed: resp === null || resp === void 0 ? void 0 : resp.changed, + }); + } + }); + }); + }); + } + getAll() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketGetAll(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => { + if (err) { + reject(err); + } + else { + let values = {}; + if (resp === null || resp === void 0 ? void 0 : resp.value) { + values = JSON.parse(resp === null || resp === void 0 ? void 0 : resp.value); + for (let key in values) { + values[key] = this.transform(values[key]); + } + } + resolve(values); + } + }); + }); + }); + } + delete() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketDelete(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(undefined); + } + }); + }); + }); + } + keys() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketKeys(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.keys); + } + }); + }); + }); + } + len() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketLen(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.length); + } + }); + }); + }); + } + buckets() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.BucketBuckets(new srpc_1.srpc.Empty(), (err, resp) => { + if (err) { + reject(err); + } + else { + resolve(resp === null || resp === void 0 ? void 0 : resp.buckets); + } + }); + }); + }); + } + _name() { + return __awaiter(this, void 0, void 0, function* () { + return this.name; + }); + } +} +exports.Bucket = Bucket; +class Adapter { + constructor(options) { + this.platform = options.platform; + this.bot_id = options.bot_id; + const call = client.AdapterRegist(); + if (options.replyHandler) { + let callback = options.replyHandler; + call.on("data", (response) => { + let message = JSON.parse(response.value); + const { echo, __type__ } = message; + delete (message.__type__); + delete (message.echo); + if (__type__ == "reply") { + call.write(new srpc_1.srpc.AdapterRegistRequest({ + bot_id: echo, + platform: callback(message), + })); + } + }); + call.on("error", (err) => { + // console.error(err); + }); + call.write(new srpc_1.srpc.AdapterRegistRequest({ + bot_id: options.bot_id, + platform: options.platform, + })); + this.call = call; + } + } + setActionHandler(func) { + // 将从服务端不断接收action消息,并处理 + // 事件处理巨饼 + } + receive(message) { + return __awaiter(this, void 0, void 0, function* () { + //投递消息 + return new Promise((resolve, reject) => { + client.AdapterReceive(new srpc_1.srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + value: JSON.stringify(message), + }), (err, resp) => { + if (err) { + reject(err); + } + else if (resp === null || resp === void 0 ? void 0 : resp.value) { + resolve(new Sender(resp.value)); + } + }); + }); + }); + } + push(message) { + return __awaiter(this, void 0, void 0, function* () { + //推送消息 + return new Promise((resolve, reject) => { + client.AdapterPush(new srpc_1.srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + value: JSON.stringify(message), + }), (err, resp) => { + if (err) { + reject(err); + } + else if (resp === null || resp === void 0 ? void 0 : resp.value) { + resolve(resp.value); + } + }); + }); + }); + } + destroy() { + return __awaiter(this, void 0, void 0, function* () { + this.call.cancel(); + }); + } + sender(options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + client.AdapterSender(new srpc_1.srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + }), (err, resp) => { + if (err) { + reject(err); + } + else if (resp === null || resp === void 0 ? void 0 : resp.value) { + resolve(new Sender(resp.value)); + } + }); + }); + }); + } +} +exports.Adapter = Adapter; +let sender = new Sender((_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a.SENDER_ID) !== null && _b !== void 0 ? _b : "4d6371a8-2778-11ee-a3c2-821680fbbf6b"); +exports.sender = sender; +function sleep(ms) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => setTimeout(resolve, ms)); + }); +} +exports.sleep = sleep; diff --git a/proto3/sillygirl.ts b/proto3/sillygirl.ts new file mode 100644 index 0000000..afb47df --- /dev/null +++ b/proto3/sillygirl.ts @@ -0,0 +1,549 @@ +import { srpc } from "./srpc"; +import * as grpc_1 from "@grpc/grpc-js"; + +let client = new srpc.SillyGirlServiceClient( + "localhost:50051", + grpc_1.credentials.createInsecure() +); + +class Sender { + private uuid: string; + constructor(uuid: string) { + this.uuid = uuid; + } + async getUserId(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetUserId( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getUserName(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetUserName( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getChatId(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetChatId( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getChatName(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetChatName( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getMessageId(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetMessageId( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getPlatform(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetPlatform( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getBotId(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetBotId( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async getContent(): Promise { + return new Promise((resolve, reject) => { + client.SenderGetContent( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async setContent(content: string): Promise { + return new Promise((resolve, reject) => { + client.SenderSetContent( + new srpc.SenderContentRequest({ + uuid: this.uuid, + content, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(undefined); + } + } + ); + }); + } + async continue(): Promise { + return new Promise((resolve, reject) => { + client.SenderContinue( + new srpc.SenderRequest({ + uuid: this.uuid, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(undefined); + } + } + ); + }); + } + async getAdapter() { + return new Adapter({ + bot_id: await this.getBotId(), + platform: await this.getPlatform(), + }); + } + async listen(options?: { + rules?: string[]; // 匹配规则 + timeout?: number; // 超时,单位毫秒 + handle?: (s: Sender) => string | void; // 如果匹配成功,则进入消息处理逻辑。如果将 holdOn(content) 的结果作为返回值,会继续监听 + listen_private?: boolean; // 监听用户群内消息时,同时监听用户消息 + listen_group?: boolean; // 监听用户群内消息时,同时监听群员消息 + allow_platforms?: string[]; // 平台白名单 + prohibit_platforms?: string[]; // 平台黑名单 + allow_groups?: string[]; // 群聊白名单 + prohibit_groups?: string[]; // 群聊黑名单 + allow_users?: string[]; // 用户白名单 + prohibit_users?: string[]; // 群聊白名单 + }): Promise { + return new Promise((resolve, reject) => { + let params: any = { + uuid: this.uuid, + rules: options?.rules, + timeout: options?.timeout, + listen_private: options?.listen_private, + listen_group: options?.listen_group, + allow_platforms: options?.allow_platforms, + prohibit_platforms: options?.prohibit_platforms, + allow_groups: options?.allow_groups, + prohibit_groups: options?.prohibit_groups, + allow_users: options?.allow_users, + prohibit_users: options?.prohibit_users, + }; + client.SenderListen(new srpc.SenderListenRequest(params), (err, resp) => { + if (err) { + reject(err); + } else { + if (resp?.value) { + resolve(new Sender(resp.value)); + } else { + reject(new Error("timeout")); + } + } + }); + }); + } + async reply(content: string): Promise { + return new Promise((resolve, reject) => { + client.SenderReply( + new srpc.ReplyRequest({ + uuid: this.uuid, + content, + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.value); + } + } + ); + }); + } + async action(options: any): Promise { + return; + } + async event(): Promise { + return; + } +} + +class Bucket { + name: string; + + constructor(name: string) { + this.name = name; + } + + transform(v: string | undefined) { + if (!v) { + return undefined; + } + let result: number | boolean; + if (v.startsWith("f:")) { + result = parseFloat(v.replace("f:", "")); + return result; + } + if (v.startsWith("d:")) { + result = parseInt(v.replace("d:", "")); + return result; + } + if (v.startsWith("b:")) { + result = v.replace("b:", "") === "true"; + return result; + } + if (v.startsWith("o:")) { + result = JSON.parse(v.replace("o:", "")); + return result; + } + return v; + } + + reverseTransform(value: any) { + if (typeof value === "number" || typeof value === "boolean") { + return value.toString(); + } + if (typeof value === "object" && value !== null) { + return "o:" + JSON.stringify(value); + } + if (value === undefined || value === null) { + return ""; + } + if (typeof value === "string") { + if (!value) { + return undefined; + } + if (!isNaN(parseFloat(value))) { + return "f:" + parseFloat(value); + } + if (!isNaN(parseInt(value))) { + return "d:" + parseInt(value); + } + if (value === "true" || value === "false") { + return "b:" + (value === "true"); + } + } + return value; + } + + async get(key: string, defaultValue: any = undefined): Promise { + return new Promise((resolve, reject) => { + client.BucketGet( + new srpc.BucketKeyRequest({ name: this.name, key }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(this.transform(resp?.value) || defaultValue); + } + } + ); + }); + } + + async set( + key: string, + value: any + ): Promise<{ message?: string; changed?: boolean }> { + return new Promise((resolve, reject) => { + client.BucketSet( + new srpc.BucketSetRequest({ + name: this.name, + key, + value: this.reverseTransform(value), + }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve({ + message: resp?.message, + changed: resp?.changed, + }); + } + } + ); + }); + } + + async getAll(): Promise { + return new Promise((resolve, reject) => { + client.BucketGetAll( + new srpc.BucketRequest({ name: this.name }), + (err, resp) => { + if (err) { + reject(err); + } else { + let values: any = {}; + if (resp?.value) { + values = JSON.parse(resp?.value); + for (let key in values) { + values[key] = this.transform(values[key]); + } + } + resolve(values); + } + } + ); + }); + } + + async delete(): Promise { + return new Promise((resolve, reject) => { + client.BucketDelete( + new srpc.BucketRequest({ name: this.name }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(undefined); + } + } + ); + }); + } + + async keys(): Promise { + return new Promise((resolve, reject) => { + client.BucketKeys( + new srpc.BucketRequest({ name: this.name }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.keys); + } + } + ); + }); + } + + async len(): Promise { + return new Promise((resolve, reject) => { + client.BucketLen( + new srpc.BucketRequest({ name: this.name }), + (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.length); + } + } + ); + }); + } + + async buckets(): Promise { + return new Promise((resolve, reject) => { + client.BucketBuckets(new srpc.Empty(), (err, resp) => { + if (err) { + reject(err); + } else { + resolve(resp?.buckets); + } + }); + }); + } + + async _name(): Promise { + return this.name; + } +} + +interface Message { + message_id?: string; // 消息ID + user_id: string; // 用户ID + chat_id?: string; // 聊天ID + content: string; // 聊天内容 + user_name?: string; // 用户名 + chat_name?: string; // 群组名 +} + +class Adapter { + platform: string | undefined; + bot_id: string | undefined; + call: any + constructor(options: { + platform?: string; + bot_id?: string; + replyHandler?: (message: Message) => string | undefined; + }) { + this.platform = options.platform; + this.bot_id = options.bot_id; + const call = client.AdapterRegist(); + if (options.replyHandler) { + let callback: any = options.replyHandler; + call.on("data", (response) => { + let message = JSON.parse(response.value); + const { echo, __type__ } = message; + delete(message.__type__) + delete(message.echo) + if (__type__ == "reply") { + call.write( + new srpc.AdapterRegistRequest({ + bot_id: echo, + platform: callback(message), + }) + ); + } + }); + call.on("error", (err) => { + // console.error(err); + }); + call.write( + new srpc.AdapterRegistRequest({ + bot_id: options.bot_id, + platform: options.platform, + }) + ); + this.call = call + } + } + setActionHandler(func: (action: {}) => any): void { + // 将从服务端不断接收action消息,并处理 + // 事件处理巨饼 + } + async receive(message: Message): Promise { + //投递消息 + return new Promise((resolve, reject) => { + client.AdapterReceive( + new srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + value: JSON.stringify(message), + }), + (err, resp) => { + if (err) { + reject(err); + } else if (resp?.value) { + resolve(new Sender(resp.value)); + } + } + ); + }); + } + async push(message: Message): Promise { + //推送消息 + return new Promise((resolve, reject) => { + client.AdapterPush( + new srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + value: JSON.stringify(message), + }), + (err, resp) => { + if (err) { + reject(err); + } else if (resp?.value) { + resolve(resp.value); + } + } + ); + }); + } + async destroy(): Promise { + this.call.cancel() + } + async sender(options: any): Promise { + return new Promise((resolve, reject) => { + client.AdapterSender( + new srpc.AdapterRequest({ + platform: this.platform, + bot_id: this.bot_id, + }), + (err, resp) => { + if (err) { + reject(err); + } else if (resp?.value) { + resolve(new Sender(resp.value)); + } + } + ); + }); + } +} + +let sender = new Sender( + process.env?.SENDER_ID ?? "4d6371a8-2778-11ee-a3c2-821680fbbf6b" +); + +async function sleep(ms: number | undefined) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +export { Adapter, Bucket, sender, sleep }; diff --git a/proto3/srpc.js b/proto3/srpc.js new file mode 100644 index 0000000..c28f59a --- /dev/null +++ b/proto3/srpc.js @@ -0,0 +1,1659 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.srpc = void 0; +/** + * Generated by the protoc-gen-ts. DO NOT EDIT! + * compiler version: 3.15.6 + * source: srpc.proto + * git: https://github.com/thesayyn/protoc-gen-ts */ +const pb_1 = __importStar(require("google-protobuf")); +const grpc_1 = __importStar(require("@grpc/grpc-js")); +var srpc; +(function (srpc) { + var _Empty_one_of_decls, _Default_one_of_decls, _BucketSetRequest_one_of_decls, _BucketSetResponse_one_of_decls, _BucketKeyRequest_one_of_decls, _BucketRequest_one_of_decls, _BucketKeysResponse_one_of_decls, _LenResponse_one_of_decls, _BucketsResponse_one_of_decls, _SenderRequest_one_of_decls, _ReplyRequest_one_of_decls, _SenderContentRequest_one_of_decls, _SenderListenRequest_one_of_decls, _AdapterRegistRequest_one_of_decls, _AdapterRequest_one_of_decls; + class Empty extends pb_1.Message { + constructor(data) { + super(); + _Empty_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _Empty_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data) { + const message = new Empty({}); + return message; + } + toObject() { + const data = {}; + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Empty(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return Empty.deserialize(bytes); + } + } + _Empty_one_of_decls = new WeakMap(); + srpc.Empty = Empty; + class Default extends pb_1.Message { + constructor(data) { + super(); + _Default_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _Default_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set value(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new Default({}); + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data = {}; + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.value.length) + writer.writeString(1, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Default(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return Default.deserialize(bytes); + } + } + _Default_one_of_decls = new WeakMap(); + srpc.Default = Default; + class BucketSetRequest extends pb_1.Message { + constructor(data) { + super(); + _BucketSetRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _BucketSetRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + if ("key" in data && data.key != undefined) { + this.key = data.key; + } + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set name(value) { + pb_1.Message.setField(this, 1, value); + } + get key() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set key(value) { + pb_1.Message.setField(this, 2, value); + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 3, ""); + } + set value(value) { + pb_1.Message.setField(this, 3, value); + } + static fromObject(data) { + const message = new BucketSetRequest({}); + if (data.name != null) { + message.name = data.name; + } + if (data.key != null) { + message.key = data.key; + } + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data = {}; + if (this.name != null) { + data.name = this.name; + } + if (this.key != null) { + data.key = this.key; + } + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (this.key.length) + writer.writeString(2, this.key); + if (this.value.length) + writer.writeString(3, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketSetRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + case 2: + message.key = reader.readString(); + break; + case 3: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketSetRequest.deserialize(bytes); + } + } + _BucketSetRequest_one_of_decls = new WeakMap(); + srpc.BucketSetRequest = BucketSetRequest; + class BucketSetResponse extends pb_1.Message { + constructor(data) { + super(); + _BucketSetResponse_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _BucketSetResponse_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("changed" in data && data.changed != undefined) { + this.changed = data.changed; + } + if ("message" in data && data.message != undefined) { + this.message = data.message; + } + } + } + get changed() { + return pb_1.Message.getFieldWithDefault(this, 1, false); + } + set changed(value) { + pb_1.Message.setField(this, 1, value); + } + get message() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set message(value) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data) { + const message = new BucketSetResponse({}); + if (data.changed != null) { + message.changed = data.changed; + } + if (data.message != null) { + message.message = data.message; + } + return message; + } + toObject() { + const data = {}; + if (this.changed != null) { + data.changed = this.changed; + } + if (this.message != null) { + data.message = this.message; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.changed != false) + writer.writeBool(1, this.changed); + if (this.message.length) + writer.writeString(2, this.message); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketSetResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.changed = reader.readBool(); + break; + case 2: + message.message = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketSetResponse.deserialize(bytes); + } + } + _BucketSetResponse_one_of_decls = new WeakMap(); + srpc.BucketSetResponse = BucketSetResponse; + class BucketKeyRequest extends pb_1.Message { + constructor(data) { + super(); + _BucketKeyRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _BucketKeyRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + if ("key" in data && data.key != undefined) { + this.key = data.key; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set name(value) { + pb_1.Message.setField(this, 1, value); + } + get key() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set key(value) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data) { + const message = new BucketKeyRequest({}); + if (data.name != null) { + message.name = data.name; + } + if (data.key != null) { + message.key = data.key; + } + return message; + } + toObject() { + const data = {}; + if (this.name != null) { + data.name = this.name; + } + if (this.key != null) { + data.key = this.key; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (this.key.length) + writer.writeString(2, this.key); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketKeyRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + case 2: + message.key = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketKeyRequest.deserialize(bytes); + } + } + _BucketKeyRequest_one_of_decls = new WeakMap(); + srpc.BucketKeyRequest = BucketKeyRequest; + class BucketRequest extends pb_1.Message { + constructor(data) { + super(); + _BucketRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _BucketRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set name(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new BucketRequest({}); + if (data.name != null) { + message.name = data.name; + } + return message; + } + toObject() { + const data = {}; + if (this.name != null) { + data.name = this.name; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketRequest.deserialize(bytes); + } + } + _BucketRequest_one_of_decls = new WeakMap(); + srpc.BucketRequest = BucketRequest; + class BucketKeysResponse extends pb_1.Message { + constructor(data) { + super(); + _BucketKeysResponse_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, _BucketKeysResponse_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("keys" in data && data.keys != undefined) { + this.keys = data.keys; + } + } + } + get keys() { + return pb_1.Message.getFieldWithDefault(this, 1, []); + } + set keys(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new BucketKeysResponse({}); + if (data.keys != null) { + message.keys = data.keys; + } + return message; + } + toObject() { + const data = {}; + if (this.keys != null) { + data.keys = this.keys; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.keys.length) + writer.writeRepeatedString(1, this.keys); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketKeysResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + pb_1.Message.addToRepeatedField(message, 1, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketKeysResponse.deserialize(bytes); + } + } + _BucketKeysResponse_one_of_decls = new WeakMap(); + srpc.BucketKeysResponse = BucketKeysResponse; + class LenResponse extends pb_1.Message { + constructor(data) { + super(); + _LenResponse_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _LenResponse_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("length" in data && data.length != undefined) { + this.length = data.length; + } + } + } + get length() { + return pb_1.Message.getFieldWithDefault(this, 1, 0); + } + set length(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new LenResponse({}); + if (data.length != null) { + message.length = data.length; + } + return message; + } + toObject() { + const data = {}; + if (this.length != null) { + data.length = this.length; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.length != 0) + writer.writeInt32(1, this.length); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new LenResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.length = reader.readInt32(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return LenResponse.deserialize(bytes); + } + } + _LenResponse_one_of_decls = new WeakMap(); + srpc.LenResponse = LenResponse; + class BucketsResponse extends pb_1.Message { + constructor(data) { + super(); + _BucketsResponse_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], __classPrivateFieldGet(this, _BucketsResponse_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("buckets" in data && data.buckets != undefined) { + this.buckets = data.buckets; + } + } + } + get buckets() { + return pb_1.Message.getFieldWithDefault(this, 1, []); + } + set buckets(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new BucketsResponse({}); + if (data.buckets != null) { + message.buckets = data.buckets; + } + return message; + } + toObject() { + const data = {}; + if (this.buckets != null) { + data.buckets = this.buckets; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.buckets.length) + writer.writeRepeatedString(1, this.buckets); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketsResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + pb_1.Message.addToRepeatedField(message, 1, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return BucketsResponse.deserialize(bytes); + } + } + _BucketsResponse_one_of_decls = new WeakMap(); + srpc.BucketsResponse = BucketsResponse; + class SenderRequest extends pb_1.Message { + constructor(data) { + super(); + _SenderRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _SenderRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set uuid(value) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data) { + const message = new SenderRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + return message; + } + toObject() { + const data = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return SenderRequest.deserialize(bytes); + } + } + _SenderRequest_one_of_decls = new WeakMap(); + srpc.SenderRequest = SenderRequest; + class ReplyRequest extends pb_1.Message { + constructor(data) { + super(); + _ReplyRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _ReplyRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("content" in data && data.content != undefined) { + this.content = data.content; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set uuid(value) { + pb_1.Message.setField(this, 1, value); + } + get content() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set content(value) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data) { + const message = new ReplyRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.content != null) { + message.content = data.content; + } + return message; + } + toObject() { + const data = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.content != null) { + data.content = this.content; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.content.length) + writer.writeString(2, this.content); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ReplyRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + message.content = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return ReplyRequest.deserialize(bytes); + } + } + _ReplyRequest_one_of_decls = new WeakMap(); + srpc.ReplyRequest = ReplyRequest; + class SenderContentRequest extends pb_1.Message { + constructor(data) { + super(); + _SenderContentRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _SenderContentRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("content" in data && data.content != undefined) { + this.content = data.content; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set uuid(value) { + pb_1.Message.setField(this, 1, value); + } + get content() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set content(value) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data) { + const message = new SenderContentRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.content != null) { + message.content = data.content; + } + return message; + } + toObject() { + const data = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.content != null) { + data.content = this.content; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.content.length) + writer.writeString(2, this.content); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderContentRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + message.content = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return SenderContentRequest.deserialize(bytes); + } + } + _SenderContentRequest_one_of_decls = new WeakMap(); + srpc.SenderContentRequest = SenderContentRequest; + class SenderListenRequest extends pb_1.Message { + constructor(data) { + super(); + _SenderListenRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 7, 8, 9, 10, 11, 12], __classPrivateFieldGet(this, _SenderListenRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("rules" in data && data.rules != undefined) { + this.rules = data.rules; + } + if ("timeout" in data && data.timeout != undefined) { + this.timeout = data.timeout; + } + if ("listen_group" in data && data.listen_group != undefined) { + this.listen_group = data.listen_group; + } + if ("listen_private" in data && data.listen_private != undefined) { + this.listen_private = data.listen_private; + } + if ("require_admin" in data && data.require_admin != undefined) { + this.require_admin = data.require_admin; + } + if ("allow_platforms" in data && data.allow_platforms != undefined) { + this.allow_platforms = data.allow_platforms; + } + if ("prohibit_platforms" in data && data.prohibit_platforms != undefined) { + this.prohibit_platforms = data.prohibit_platforms; + } + if ("allow_users" in data && data.allow_users != undefined) { + this.allow_users = data.allow_users; + } + if ("prohibit_users" in data && data.prohibit_users != undefined) { + this.prohibit_users = data.prohibit_users; + } + if ("allow_groups" in data && data.allow_groups != undefined) { + this.allow_groups = data.allow_groups; + } + if ("prohibit_groups" in data && data.prohibit_groups != undefined) { + this.prohibit_groups = data.prohibit_groups; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set uuid(value) { + pb_1.Message.setField(this, 1, value); + } + get rules() { + return pb_1.Message.getFieldWithDefault(this, 2, []); + } + set rules(value) { + pb_1.Message.setField(this, 2, value); + } + get timeout() { + return pb_1.Message.getFieldWithDefault(this, 3, 0); + } + set timeout(value) { + pb_1.Message.setField(this, 3, value); + } + get listen_group() { + return pb_1.Message.getFieldWithDefault(this, 4, false); + } + set listen_group(value) { + pb_1.Message.setField(this, 4, value); + } + get listen_private() { + return pb_1.Message.getFieldWithDefault(this, 5, false); + } + set listen_private(value) { + pb_1.Message.setField(this, 5, value); + } + get require_admin() { + return pb_1.Message.getFieldWithDefault(this, 6, false); + } + set require_admin(value) { + pb_1.Message.setField(this, 6, value); + } + get allow_platforms() { + return pb_1.Message.getFieldWithDefault(this, 7, []); + } + set allow_platforms(value) { + pb_1.Message.setField(this, 7, value); + } + get prohibit_platforms() { + return pb_1.Message.getFieldWithDefault(this, 8, []); + } + set prohibit_platforms(value) { + pb_1.Message.setField(this, 8, value); + } + get allow_users() { + return pb_1.Message.getFieldWithDefault(this, 9, []); + } + set allow_users(value) { + pb_1.Message.setField(this, 9, value); + } + get prohibit_users() { + return pb_1.Message.getFieldWithDefault(this, 10, []); + } + set prohibit_users(value) { + pb_1.Message.setField(this, 10, value); + } + get allow_groups() { + return pb_1.Message.getFieldWithDefault(this, 11, []); + } + set allow_groups(value) { + pb_1.Message.setField(this, 11, value); + } + get prohibit_groups() { + return pb_1.Message.getFieldWithDefault(this, 12, []); + } + set prohibit_groups(value) { + pb_1.Message.setField(this, 12, value); + } + static fromObject(data) { + const message = new SenderListenRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.rules != null) { + message.rules = data.rules; + } + if (data.timeout != null) { + message.timeout = data.timeout; + } + if (data.listen_group != null) { + message.listen_group = data.listen_group; + } + if (data.listen_private != null) { + message.listen_private = data.listen_private; + } + if (data.require_admin != null) { + message.require_admin = data.require_admin; + } + if (data.allow_platforms != null) { + message.allow_platforms = data.allow_platforms; + } + if (data.prohibit_platforms != null) { + message.prohibit_platforms = data.prohibit_platforms; + } + if (data.allow_users != null) { + message.allow_users = data.allow_users; + } + if (data.prohibit_users != null) { + message.prohibit_users = data.prohibit_users; + } + if (data.allow_groups != null) { + message.allow_groups = data.allow_groups; + } + if (data.prohibit_groups != null) { + message.prohibit_groups = data.prohibit_groups; + } + return message; + } + toObject() { + const data = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.rules != null) { + data.rules = this.rules; + } + if (this.timeout != null) { + data.timeout = this.timeout; + } + if (this.listen_group != null) { + data.listen_group = this.listen_group; + } + if (this.listen_private != null) { + data.listen_private = this.listen_private; + } + if (this.require_admin != null) { + data.require_admin = this.require_admin; + } + if (this.allow_platforms != null) { + data.allow_platforms = this.allow_platforms; + } + if (this.prohibit_platforms != null) { + data.prohibit_platforms = this.prohibit_platforms; + } + if (this.allow_users != null) { + data.allow_users = this.allow_users; + } + if (this.prohibit_users != null) { + data.prohibit_users = this.prohibit_users; + } + if (this.allow_groups != null) { + data.allow_groups = this.allow_groups; + } + if (this.prohibit_groups != null) { + data.prohibit_groups = this.prohibit_groups; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.rules.length) + writer.writeRepeatedString(2, this.rules); + if (this.timeout != 0) + writer.writeInt32(3, this.timeout); + if (this.listen_group != false) + writer.writeBool(4, this.listen_group); + if (this.listen_private != false) + writer.writeBool(5, this.listen_private); + if (this.require_admin != false) + writer.writeBool(6, this.require_admin); + if (this.allow_platforms.length) + writer.writeRepeatedString(7, this.allow_platforms); + if (this.prohibit_platforms.length) + writer.writeRepeatedString(8, this.prohibit_platforms); + if (this.allow_users.length) + writer.writeRepeatedString(9, this.allow_users); + if (this.prohibit_users.length) + writer.writeRepeatedString(10, this.prohibit_users); + if (this.allow_groups.length) + writer.writeRepeatedString(11, this.allow_groups); + if (this.prohibit_groups.length) + writer.writeRepeatedString(12, this.prohibit_groups); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderListenRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + pb_1.Message.addToRepeatedField(message, 2, reader.readString()); + break; + case 3: + message.timeout = reader.readInt32(); + break; + case 4: + message.listen_group = reader.readBool(); + break; + case 5: + message.listen_private = reader.readBool(); + break; + case 6: + message.require_admin = reader.readBool(); + break; + case 7: + pb_1.Message.addToRepeatedField(message, 7, reader.readString()); + break; + case 8: + pb_1.Message.addToRepeatedField(message, 8, reader.readString()); + break; + case 9: + pb_1.Message.addToRepeatedField(message, 9, reader.readString()); + break; + case 10: + pb_1.Message.addToRepeatedField(message, 10, reader.readString()); + break; + case 11: + pb_1.Message.addToRepeatedField(message, 11, reader.readString()); + break; + case 12: + pb_1.Message.addToRepeatedField(message, 12, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return SenderListenRequest.deserialize(bytes); + } + } + _SenderListenRequest_one_of_decls = new WeakMap(); + srpc.SenderListenRequest = SenderListenRequest; + class AdapterRegistRequest extends pb_1.Message { + constructor(data) { + super(); + _AdapterRegistRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _AdapterRegistRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("platform" in data && data.platform != undefined) { + this.platform = data.platform; + } + if ("bot_id" in data && data.bot_id != undefined) { + this.bot_id = data.bot_id; + } + } + } + get platform() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set platform(value) { + pb_1.Message.setField(this, 1, value); + } + get bot_id() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set bot_id(value) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data) { + const message = new AdapterRegistRequest({}); + if (data.platform != null) { + message.platform = data.platform; + } + if (data.bot_id != null) { + message.bot_id = data.bot_id; + } + return message; + } + toObject() { + const data = {}; + if (this.platform != null) { + data.platform = this.platform; + } + if (this.bot_id != null) { + data.bot_id = this.bot_id; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.platform.length) + writer.writeString(1, this.platform); + if (this.bot_id.length) + writer.writeString(2, this.bot_id); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new AdapterRegistRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.platform = reader.readString(); + break; + case 2: + message.bot_id = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return AdapterRegistRequest.deserialize(bytes); + } + } + _AdapterRegistRequest_one_of_decls = new WeakMap(); + srpc.AdapterRegistRequest = AdapterRegistRequest; + class AdapterRequest extends pb_1.Message { + constructor(data) { + super(); + _AdapterRequest_one_of_decls.set(this, []); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], __classPrivateFieldGet(this, _AdapterRequest_one_of_decls, "f")); + if (!Array.isArray(data) && typeof data == "object") { + if ("platform" in data && data.platform != undefined) { + this.platform = data.platform; + } + if ("bot_id" in data && data.bot_id != undefined) { + this.bot_id = data.bot_id; + } + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get platform() { + return pb_1.Message.getFieldWithDefault(this, 1, ""); + } + set platform(value) { + pb_1.Message.setField(this, 1, value); + } + get bot_id() { + return pb_1.Message.getFieldWithDefault(this, 2, ""); + } + set bot_id(value) { + pb_1.Message.setField(this, 2, value); + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 3, ""); + } + set value(value) { + pb_1.Message.setField(this, 3, value); + } + static fromObject(data) { + const message = new AdapterRequest({}); + if (data.platform != null) { + message.platform = data.platform; + } + if (data.bot_id != null) { + message.bot_id = data.bot_id; + } + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data = {}; + if (this.platform != null) { + data.platform = this.platform; + } + if (this.bot_id != null) { + data.bot_id = this.bot_id; + } + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(w) { + const writer = w || new pb_1.BinaryWriter(); + if (this.platform.length) + writer.writeString(1, this.platform); + if (this.bot_id.length) + writer.writeString(2, this.bot_id); + if (this.value.length) + writer.writeString(3, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes) { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new AdapterRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.platform = reader.readString(); + break; + case 2: + message.bot_id = reader.readString(); + break; + case 3: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary() { + return this.serialize(); + } + static deserializeBinary(bytes) { + return AdapterRequest.deserialize(bytes); + } + } + _AdapterRequest_one_of_decls = new WeakMap(); + srpc.AdapterRequest = AdapterRequest; + class UnimplementedSillyGirlServiceService { + } + UnimplementedSillyGirlServiceService.definition = { + BucketGet: { + path: "/srpc.SillyGirlService/BucketGet", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketKeyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + BucketSet: { + path: "/srpc.SillyGirlService/BucketSet", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketSetRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => BucketSetResponse.deserialize(new Uint8Array(bytes)) + }, + BucketDelete: { + path: "/srpc.SillyGirlService/BucketDelete", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes)) + }, + BucketKeys: { + path: "/srpc.SillyGirlService/BucketKeys", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => BucketKeysResponse.deserialize(new Uint8Array(bytes)) + }, + BucketLen: { + path: "/srpc.SillyGirlService/BucketLen", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => LenResponse.deserialize(new Uint8Array(bytes)) + }, + BucketGetAll: { + path: "/srpc.SillyGirlService/BucketGetAll", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + BucketBuckets: { + path: "/srpc.SillyGirlService/BucketBuckets", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => BucketsResponse.deserialize(new Uint8Array(bytes)) + }, + SenderGetUserId: { + path: "/srpc.SillyGirlService/SenderGetUserId", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetUserName: { + path: "/srpc.SillyGirlService/SenderGetUserName", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetChatId: { + path: "/srpc.SillyGirlService/SenderGetChatId", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetChatName: { + path: "/srpc.SillyGirlService/SenderGetChatName", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetMessageId: { + path: "/srpc.SillyGirlService/SenderGetMessageId", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetPlatform: { + path: "/srpc.SillyGirlService/SenderGetPlatform", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetBotId: { + path: "/srpc.SillyGirlService/SenderGetBotId", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetContent: { + path: "/srpc.SillyGirlService/SenderGetContent", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderSetContent: { + path: "/srpc.SillyGirlService/SenderSetContent", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderContentRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes)) + }, + SenderContinue: { + path: "/srpc.SillyGirlService/SenderContinue", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes)) + }, + SenderListen: { + path: "/srpc.SillyGirlService/SenderListen", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderListenRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderEvent: { + path: "/srpc.SillyGirlService/SenderEvent", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderReply: { + path: "/srpc.SillyGirlService/SenderReply", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => ReplyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderAction: { + path: "/srpc.SillyGirlService/SenderAction", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => ReplyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterRegist: { + path: "/srpc.SillyGirlService/AdapterRegist", + requestStream: true, + responseStream: true, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => AdapterRegistRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterReceive: { + path: "/srpc.SillyGirlService/AdapterReceive", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterPush: { + path: "/srpc.SillyGirlService/AdapterPush", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterDestroy: { + path: "/srpc.SillyGirlService/AdapterDestroy", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes)) + }, + AdapterSender: { + path: "/srpc.SillyGirlService/AdapterSender", + requestStream: false, + responseStream: false, + requestSerialize: (message) => Buffer.from(message.serialize()), + requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message) => Buffer.from(message.serialize()), + responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes)) + } + }; + srpc.UnimplementedSillyGirlServiceService = UnimplementedSillyGirlServiceService; + class SillyGirlServiceClient extends grpc_1.makeGenericClientConstructor(UnimplementedSillyGirlServiceService.definition, "SillyGirlService", {}) { + constructor(address, credentials, options) { + super(address, credentials, options); + this.BucketGet = (message, metadata, options, callback) => { + return super.BucketGet(message, metadata, options, callback); + }; + this.BucketSet = (message, metadata, options, callback) => { + return super.BucketSet(message, metadata, options, callback); + }; + this.BucketDelete = (message, metadata, options, callback) => { + return super.BucketDelete(message, metadata, options, callback); + }; + this.BucketKeys = (message, metadata, options, callback) => { + return super.BucketKeys(message, metadata, options, callback); + }; + this.BucketLen = (message, metadata, options, callback) => { + return super.BucketLen(message, metadata, options, callback); + }; + this.BucketGetAll = (message, metadata, options, callback) => { + return super.BucketGetAll(message, metadata, options, callback); + }; + this.BucketBuckets = (message, metadata, options, callback) => { + return super.BucketBuckets(message, metadata, options, callback); + }; + this.SenderGetUserId = (message, metadata, options, callback) => { + return super.SenderGetUserId(message, metadata, options, callback); + }; + this.SenderGetUserName = (message, metadata, options, callback) => { + return super.SenderGetUserName(message, metadata, options, callback); + }; + this.SenderGetChatId = (message, metadata, options, callback) => { + return super.SenderGetChatId(message, metadata, options, callback); + }; + this.SenderGetChatName = (message, metadata, options, callback) => { + return super.SenderGetChatName(message, metadata, options, callback); + }; + this.SenderGetMessageId = (message, metadata, options, callback) => { + return super.SenderGetMessageId(message, metadata, options, callback); + }; + this.SenderGetPlatform = (message, metadata, options, callback) => { + return super.SenderGetPlatform(message, metadata, options, callback); + }; + this.SenderGetBotId = (message, metadata, options, callback) => { + return super.SenderGetBotId(message, metadata, options, callback); + }; + this.SenderGetContent = (message, metadata, options, callback) => { + return super.SenderGetContent(message, metadata, options, callback); + }; + this.SenderSetContent = (message, metadata, options, callback) => { + return super.SenderSetContent(message, metadata, options, callback); + }; + this.SenderContinue = (message, metadata, options, callback) => { + return super.SenderContinue(message, metadata, options, callback); + }; + this.SenderListen = (message, metadata, options, callback) => { + return super.SenderListen(message, metadata, options, callback); + }; + this.SenderEvent = (message, metadata, options, callback) => { + return super.SenderEvent(message, metadata, options, callback); + }; + this.SenderReply = (message, metadata, options, callback) => { + return super.SenderReply(message, metadata, options, callback); + }; + this.SenderAction = (message, metadata, options, callback) => { + return super.SenderAction(message, metadata, options, callback); + }; + this.AdapterRegist = (metadata, options) => { + return super.AdapterRegist(metadata, options); + }; + this.AdapterReceive = (message, metadata, options, callback) => { + return super.AdapterReceive(message, metadata, options, callback); + }; + this.AdapterPush = (message, metadata, options, callback) => { + return super.AdapterPush(message, metadata, options, callback); + }; + this.AdapterDestroy = (message, metadata, options, callback) => { + return super.AdapterDestroy(message, metadata, options, callback); + }; + this.AdapterSender = (message, metadata, options, callback) => { + return super.AdapterSender(message, metadata, options, callback); + }; + } + } + srpc.SillyGirlServiceClient = SillyGirlServiceClient; +})(srpc || (exports.srpc = srpc = {})); diff --git a/proto3/srpc.proto b/proto3/srpc.proto new file mode 100644 index 0000000..87380fb --- /dev/null +++ b/proto3/srpc.proto @@ -0,0 +1,112 @@ +syntax = "proto3"; + +option go_package = "srpc/"; + +package srpc; + +message Empty {} + +message Default { + string value = 1; +} + +message BucketSetRequest { + string name = 1; + string key = 2; + string value = 3; +} + +message BucketSetResponse { + bool changed = 1; + string message = 2; +} + +message BucketKeyRequest { + string name = 1; + string key = 2; +} + +message BucketRequest { + string name = 1; +} + +message BucketKeysResponse { + repeated string keys = 1; +} + +message LenResponse { + int32 length = 1; +} + +message BucketsResponse { + repeated string buckets = 1; +} + +message SenderRequest { + string uuid = 1; +} + +message ReplyRequest { + string uuid = 1; + string content = 2; +} + +message SenderContentRequest { + string uuid = 1; + string content = 2; +} + +message SenderListenRequest { + string uuid = 1; + repeated string rules = 2; + int32 timeout = 3; + bool listen_group = 4; + bool listen_private = 5; + bool require_admin = 6; + repeated string allow_platforms = 7; + repeated string prohibit_platforms = 8; + repeated string allow_users = 9; + repeated string prohibit_users = 10; + repeated string allow_groups = 11; + repeated string prohibit_groups = 12; +} + +message AdapterRegistRequest { + string platform = 1; + string bot_id = 2; +} + +message AdapterRequest { + string platform = 1; + string bot_id = 2; + string value = 3; +} + +service SillyGirlService { + rpc BucketGet(BucketKeyRequest) returns (Default); + rpc BucketSet(BucketSetRequest) returns (BucketSetResponse); + rpc BucketDelete(BucketRequest) returns (Empty); + rpc BucketKeys(BucketRequest) returns (BucketKeysResponse); + rpc BucketLen(BucketRequest) returns (LenResponse); + rpc BucketGetAll(BucketRequest) returns (Default); + rpc BucketBuckets(Empty) returns (BucketsResponse); + rpc SenderGetUserId (SenderRequest) returns (Default); + rpc SenderGetUserName (SenderRequest) returns (Default); + rpc SenderGetChatId (SenderRequest) returns (Default); + rpc SenderGetChatName (SenderRequest) returns (Default); + rpc SenderGetMessageId (SenderRequest) returns (Default); + rpc SenderGetPlatform (SenderRequest) returns (Default); + rpc SenderGetBotId (SenderRequest) returns (Default); + rpc SenderGetContent (SenderRequest) returns (Default); + rpc SenderSetContent (SenderContentRequest) returns (Empty); + rpc SenderContinue (SenderRequest) returns (Empty); + rpc SenderListen (SenderListenRequest) returns (Default); + rpc SenderEvent (SenderRequest) returns (Default); + rpc SenderReply (ReplyRequest) returns (Default); + rpc SenderAction (ReplyRequest) returns (Default); + rpc AdapterRegist(stream AdapterRegistRequest) returns (stream Default); + rpc AdapterReceive(AdapterRequest) returns (Default); + rpc AdapterPush(AdapterRequest) returns (Default); + rpc AdapterDestroy(AdapterRequest) returns (Empty); + rpc AdapterSender(AdapterRequest) returns (Default); +} \ No newline at end of file diff --git a/proto3/srpc.ts b/proto3/srpc.ts new file mode 100644 index 0000000..42f5c66 --- /dev/null +++ b/proto3/srpc.ts @@ -0,0 +1,1819 @@ +/** + * Generated by the protoc-gen-ts. DO NOT EDIT! + * compiler version: 3.15.6 + * source: srpc.proto + * git: https://github.com/thesayyn/protoc-gen-ts */ +import * as pb_1 from "google-protobuf"; +import * as grpc_1 from "@grpc/grpc-js"; +export namespace srpc { + export class Empty extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | {}) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data: {}): Empty { + const message = new Empty({}); + return message; + } + toObject() { + const data: {} = {}; + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Empty { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Empty(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): Empty { + return Empty.deserialize(bytes); + } + } + export class Default extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + value?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set value(value: string) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + value?: string; + }): Default { + const message = new Default({}); + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data: { + value?: string; + } = {}; + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.value.length) + writer.writeString(1, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Default { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Default(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): Default { + return Default.deserialize(bytes); + } + } + export class BucketSetRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + name?: string; + key?: string; + value?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + if ("key" in data && data.key != undefined) { + this.key = data.key; + } + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set name(value: string) { + pb_1.Message.setField(this, 1, value); + } + get key() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set key(value: string) { + pb_1.Message.setField(this, 2, value); + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 3, "") as string; + } + set value(value: string) { + pb_1.Message.setField(this, 3, value); + } + static fromObject(data: { + name?: string; + key?: string; + value?: string; + }): BucketSetRequest { + const message = new BucketSetRequest({}); + if (data.name != null) { + message.name = data.name; + } + if (data.key != null) { + message.key = data.key; + } + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data: { + name?: string; + key?: string; + value?: string; + } = {}; + if (this.name != null) { + data.name = this.name; + } + if (this.key != null) { + data.key = this.key; + } + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (this.key.length) + writer.writeString(2, this.key); + if (this.value.length) + writer.writeString(3, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketSetRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketSetRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + case 2: + message.key = reader.readString(); + break; + case 3: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketSetRequest { + return BucketSetRequest.deserialize(bytes); + } + } + export class BucketSetResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + changed?: boolean; + message?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("changed" in data && data.changed != undefined) { + this.changed = data.changed; + } + if ("message" in data && data.message != undefined) { + this.message = data.message; + } + } + } + get changed() { + return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean; + } + set changed(value: boolean) { + pb_1.Message.setField(this, 1, value); + } + get message() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set message(value: string) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + changed?: boolean; + message?: string; + }): BucketSetResponse { + const message = new BucketSetResponse({}); + if (data.changed != null) { + message.changed = data.changed; + } + if (data.message != null) { + message.message = data.message; + } + return message; + } + toObject() { + const data: { + changed?: boolean; + message?: string; + } = {}; + if (this.changed != null) { + data.changed = this.changed; + } + if (this.message != null) { + data.message = this.message; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.changed != false) + writer.writeBool(1, this.changed); + if (this.message.length) + writer.writeString(2, this.message); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketSetResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketSetResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.changed = reader.readBool(); + break; + case 2: + message.message = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketSetResponse { + return BucketSetResponse.deserialize(bytes); + } + } + export class BucketKeyRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + name?: string; + key?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + if ("key" in data && data.key != undefined) { + this.key = data.key; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set name(value: string) { + pb_1.Message.setField(this, 1, value); + } + get key() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set key(value: string) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + name?: string; + key?: string; + }): BucketKeyRequest { + const message = new BucketKeyRequest({}); + if (data.name != null) { + message.name = data.name; + } + if (data.key != null) { + message.key = data.key; + } + return message; + } + toObject() { + const data: { + name?: string; + key?: string; + } = {}; + if (this.name != null) { + data.name = this.name; + } + if (this.key != null) { + data.key = this.key; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (this.key.length) + writer.writeString(2, this.key); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketKeyRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketKeyRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + case 2: + message.key = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketKeyRequest { + return BucketKeyRequest.deserialize(bytes); + } + } + export class BucketRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + name?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("name" in data && data.name != undefined) { + this.name = data.name; + } + } + } + get name() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set name(value: string) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + name?: string; + }): BucketRequest { + const message = new BucketRequest({}); + if (data.name != null) { + message.name = data.name; + } + return message; + } + toObject() { + const data: { + name?: string; + } = {}; + if (this.name != null) { + data.name = this.name; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.name.length) + writer.writeString(1, this.name); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.name = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketRequest { + return BucketRequest.deserialize(bytes); + } + } + export class BucketKeysResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + keys?: string[]; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("keys" in data && data.keys != undefined) { + this.keys = data.keys; + } + } + } + get keys() { + return pb_1.Message.getFieldWithDefault(this, 1, []) as string[]; + } + set keys(value: string[]) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + keys?: string[]; + }): BucketKeysResponse { + const message = new BucketKeysResponse({}); + if (data.keys != null) { + message.keys = data.keys; + } + return message; + } + toObject() { + const data: { + keys?: string[]; + } = {}; + if (this.keys != null) { + data.keys = this.keys; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.keys.length) + writer.writeRepeatedString(1, this.keys); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketKeysResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketKeysResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + pb_1.Message.addToRepeatedField(message, 1, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketKeysResponse { + return BucketKeysResponse.deserialize(bytes); + } + } + export class LenResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + length?: number; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("length" in data && data.length != undefined) { + this.length = data.length; + } + } + } + get length() { + return pb_1.Message.getFieldWithDefault(this, 1, 0) as number; + } + set length(value: number) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + length?: number; + }): LenResponse { + const message = new LenResponse({}); + if (data.length != null) { + message.length = data.length; + } + return message; + } + toObject() { + const data: { + length?: number; + } = {}; + if (this.length != null) { + data.length = this.length; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.length != 0) + writer.writeInt32(1, this.length); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): LenResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new LenResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.length = reader.readInt32(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): LenResponse { + return LenResponse.deserialize(bytes); + } + } + export class BucketsResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + buckets?: string[]; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("buckets" in data && data.buckets != undefined) { + this.buckets = data.buckets; + } + } + } + get buckets() { + return pb_1.Message.getFieldWithDefault(this, 1, []) as string[]; + } + set buckets(value: string[]) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + buckets?: string[]; + }): BucketsResponse { + const message = new BucketsResponse({}); + if (data.buckets != null) { + message.buckets = data.buckets; + } + return message; + } + toObject() { + const data: { + buckets?: string[]; + } = {}; + if (this.buckets != null) { + data.buckets = this.buckets; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.buckets.length) + writer.writeRepeatedString(1, this.buckets); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BucketsResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BucketsResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + pb_1.Message.addToRepeatedField(message, 1, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): BucketsResponse { + return BucketsResponse.deserialize(bytes); + } + } + export class SenderRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + uuid?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set uuid(value: string) { + pb_1.Message.setField(this, 1, value); + } + static fromObject(data: { + uuid?: string; + }): SenderRequest { + const message = new SenderRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + return message; + } + toObject() { + const data: { + uuid?: string; + } = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): SenderRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): SenderRequest { + return SenderRequest.deserialize(bytes); + } + } + export class ReplyRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + uuid?: string; + content?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("content" in data && data.content != undefined) { + this.content = data.content; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set uuid(value: string) { + pb_1.Message.setField(this, 1, value); + } + get content() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set content(value: string) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + uuid?: string; + content?: string; + }): ReplyRequest { + const message = new ReplyRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.content != null) { + message.content = data.content; + } + return message; + } + toObject() { + const data: { + uuid?: string; + content?: string; + } = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.content != null) { + data.content = this.content; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.content.length) + writer.writeString(2, this.content); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ReplyRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ReplyRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + message.content = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): ReplyRequest { + return ReplyRequest.deserialize(bytes); + } + } + export class SenderContentRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + uuid?: string; + content?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("content" in data && data.content != undefined) { + this.content = data.content; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set uuid(value: string) { + pb_1.Message.setField(this, 1, value); + } + get content() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set content(value: string) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + uuid?: string; + content?: string; + }): SenderContentRequest { + const message = new SenderContentRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.content != null) { + message.content = data.content; + } + return message; + } + toObject() { + const data: { + uuid?: string; + content?: string; + } = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.content != null) { + data.content = this.content; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.content.length) + writer.writeString(2, this.content); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): SenderContentRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderContentRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + message.content = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): SenderContentRequest { + return SenderContentRequest.deserialize(bytes); + } + } + export class SenderListenRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + uuid?: string; + rules?: string[]; + timeout?: number; + listen_group?: boolean; + listen_private?: boolean; + require_admin?: boolean; + allow_platforms?: string[]; + prohibit_platforms?: string[]; + allow_users?: string[]; + prohibit_users?: string[]; + allow_groups?: string[]; + prohibit_groups?: string[]; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 7, 8, 9, 10, 11, 12], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("uuid" in data && data.uuid != undefined) { + this.uuid = data.uuid; + } + if ("rules" in data && data.rules != undefined) { + this.rules = data.rules; + } + if ("timeout" in data && data.timeout != undefined) { + this.timeout = data.timeout; + } + if ("listen_group" in data && data.listen_group != undefined) { + this.listen_group = data.listen_group; + } + if ("listen_private" in data && data.listen_private != undefined) { + this.listen_private = data.listen_private; + } + if ("require_admin" in data && data.require_admin != undefined) { + this.require_admin = data.require_admin; + } + if ("allow_platforms" in data && data.allow_platforms != undefined) { + this.allow_platforms = data.allow_platforms; + } + if ("prohibit_platforms" in data && data.prohibit_platforms != undefined) { + this.prohibit_platforms = data.prohibit_platforms; + } + if ("allow_users" in data && data.allow_users != undefined) { + this.allow_users = data.allow_users; + } + if ("prohibit_users" in data && data.prohibit_users != undefined) { + this.prohibit_users = data.prohibit_users; + } + if ("allow_groups" in data && data.allow_groups != undefined) { + this.allow_groups = data.allow_groups; + } + if ("prohibit_groups" in data && data.prohibit_groups != undefined) { + this.prohibit_groups = data.prohibit_groups; + } + } + } + get uuid() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set uuid(value: string) { + pb_1.Message.setField(this, 1, value); + } + get rules() { + return pb_1.Message.getFieldWithDefault(this, 2, []) as string[]; + } + set rules(value: string[]) { + pb_1.Message.setField(this, 2, value); + } + get timeout() { + return pb_1.Message.getFieldWithDefault(this, 3, 0) as number; + } + set timeout(value: number) { + pb_1.Message.setField(this, 3, value); + } + get listen_group() { + return pb_1.Message.getFieldWithDefault(this, 4, false) as boolean; + } + set listen_group(value: boolean) { + pb_1.Message.setField(this, 4, value); + } + get listen_private() { + return pb_1.Message.getFieldWithDefault(this, 5, false) as boolean; + } + set listen_private(value: boolean) { + pb_1.Message.setField(this, 5, value); + } + get require_admin() { + return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean; + } + set require_admin(value: boolean) { + pb_1.Message.setField(this, 6, value); + } + get allow_platforms() { + return pb_1.Message.getFieldWithDefault(this, 7, []) as string[]; + } + set allow_platforms(value: string[]) { + pb_1.Message.setField(this, 7, value); + } + get prohibit_platforms() { + return pb_1.Message.getFieldWithDefault(this, 8, []) as string[]; + } + set prohibit_platforms(value: string[]) { + pb_1.Message.setField(this, 8, value); + } + get allow_users() { + return pb_1.Message.getFieldWithDefault(this, 9, []) as string[]; + } + set allow_users(value: string[]) { + pb_1.Message.setField(this, 9, value); + } + get prohibit_users() { + return pb_1.Message.getFieldWithDefault(this, 10, []) as string[]; + } + set prohibit_users(value: string[]) { + pb_1.Message.setField(this, 10, value); + } + get allow_groups() { + return pb_1.Message.getFieldWithDefault(this, 11, []) as string[]; + } + set allow_groups(value: string[]) { + pb_1.Message.setField(this, 11, value); + } + get prohibit_groups() { + return pb_1.Message.getFieldWithDefault(this, 12, []) as string[]; + } + set prohibit_groups(value: string[]) { + pb_1.Message.setField(this, 12, value); + } + static fromObject(data: { + uuid?: string; + rules?: string[]; + timeout?: number; + listen_group?: boolean; + listen_private?: boolean; + require_admin?: boolean; + allow_platforms?: string[]; + prohibit_platforms?: string[]; + allow_users?: string[]; + prohibit_users?: string[]; + allow_groups?: string[]; + prohibit_groups?: string[]; + }): SenderListenRequest { + const message = new SenderListenRequest({}); + if (data.uuid != null) { + message.uuid = data.uuid; + } + if (data.rules != null) { + message.rules = data.rules; + } + if (data.timeout != null) { + message.timeout = data.timeout; + } + if (data.listen_group != null) { + message.listen_group = data.listen_group; + } + if (data.listen_private != null) { + message.listen_private = data.listen_private; + } + if (data.require_admin != null) { + message.require_admin = data.require_admin; + } + if (data.allow_platforms != null) { + message.allow_platforms = data.allow_platforms; + } + if (data.prohibit_platforms != null) { + message.prohibit_platforms = data.prohibit_platforms; + } + if (data.allow_users != null) { + message.allow_users = data.allow_users; + } + if (data.prohibit_users != null) { + message.prohibit_users = data.prohibit_users; + } + if (data.allow_groups != null) { + message.allow_groups = data.allow_groups; + } + if (data.prohibit_groups != null) { + message.prohibit_groups = data.prohibit_groups; + } + return message; + } + toObject() { + const data: { + uuid?: string; + rules?: string[]; + timeout?: number; + listen_group?: boolean; + listen_private?: boolean; + require_admin?: boolean; + allow_platforms?: string[]; + prohibit_platforms?: string[]; + allow_users?: string[]; + prohibit_users?: string[]; + allow_groups?: string[]; + prohibit_groups?: string[]; + } = {}; + if (this.uuid != null) { + data.uuid = this.uuid; + } + if (this.rules != null) { + data.rules = this.rules; + } + if (this.timeout != null) { + data.timeout = this.timeout; + } + if (this.listen_group != null) { + data.listen_group = this.listen_group; + } + if (this.listen_private != null) { + data.listen_private = this.listen_private; + } + if (this.require_admin != null) { + data.require_admin = this.require_admin; + } + if (this.allow_platforms != null) { + data.allow_platforms = this.allow_platforms; + } + if (this.prohibit_platforms != null) { + data.prohibit_platforms = this.prohibit_platforms; + } + if (this.allow_users != null) { + data.allow_users = this.allow_users; + } + if (this.prohibit_users != null) { + data.prohibit_users = this.prohibit_users; + } + if (this.allow_groups != null) { + data.allow_groups = this.allow_groups; + } + if (this.prohibit_groups != null) { + data.prohibit_groups = this.prohibit_groups; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.uuid.length) + writer.writeString(1, this.uuid); + if (this.rules.length) + writer.writeRepeatedString(2, this.rules); + if (this.timeout != 0) + writer.writeInt32(3, this.timeout); + if (this.listen_group != false) + writer.writeBool(4, this.listen_group); + if (this.listen_private != false) + writer.writeBool(5, this.listen_private); + if (this.require_admin != false) + writer.writeBool(6, this.require_admin); + if (this.allow_platforms.length) + writer.writeRepeatedString(7, this.allow_platforms); + if (this.prohibit_platforms.length) + writer.writeRepeatedString(8, this.prohibit_platforms); + if (this.allow_users.length) + writer.writeRepeatedString(9, this.allow_users); + if (this.prohibit_users.length) + writer.writeRepeatedString(10, this.prohibit_users); + if (this.allow_groups.length) + writer.writeRepeatedString(11, this.allow_groups); + if (this.prohibit_groups.length) + writer.writeRepeatedString(12, this.prohibit_groups); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): SenderListenRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new SenderListenRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.uuid = reader.readString(); + break; + case 2: + pb_1.Message.addToRepeatedField(message, 2, reader.readString()); + break; + case 3: + message.timeout = reader.readInt32(); + break; + case 4: + message.listen_group = reader.readBool(); + break; + case 5: + message.listen_private = reader.readBool(); + break; + case 6: + message.require_admin = reader.readBool(); + break; + case 7: + pb_1.Message.addToRepeatedField(message, 7, reader.readString()); + break; + case 8: + pb_1.Message.addToRepeatedField(message, 8, reader.readString()); + break; + case 9: + pb_1.Message.addToRepeatedField(message, 9, reader.readString()); + break; + case 10: + pb_1.Message.addToRepeatedField(message, 10, reader.readString()); + break; + case 11: + pb_1.Message.addToRepeatedField(message, 11, reader.readString()); + break; + case 12: + pb_1.Message.addToRepeatedField(message, 12, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): SenderListenRequest { + return SenderListenRequest.deserialize(bytes); + } + } + export class AdapterRegistRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + platform?: string; + bot_id?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("platform" in data && data.platform != undefined) { + this.platform = data.platform; + } + if ("bot_id" in data && data.bot_id != undefined) { + this.bot_id = data.bot_id; + } + } + } + get platform() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set platform(value: string) { + pb_1.Message.setField(this, 1, value); + } + get bot_id() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set bot_id(value: string) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + platform?: string; + bot_id?: string; + }): AdapterRegistRequest { + const message = new AdapterRegistRequest({}); + if (data.platform != null) { + message.platform = data.platform; + } + if (data.bot_id != null) { + message.bot_id = data.bot_id; + } + return message; + } + toObject() { + const data: { + platform?: string; + bot_id?: string; + } = {}; + if (this.platform != null) { + data.platform = this.platform; + } + if (this.bot_id != null) { + data.bot_id = this.bot_id; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.platform.length) + writer.writeString(1, this.platform); + if (this.bot_id.length) + writer.writeString(2, this.bot_id); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): AdapterRegistRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new AdapterRegistRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.platform = reader.readString(); + break; + case 2: + message.bot_id = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): AdapterRegistRequest { + return AdapterRegistRequest.deserialize(bytes); + } + } + export class AdapterRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + platform?: string; + bot_id?: string; + value?: string; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("platform" in data && data.platform != undefined) { + this.platform = data.platform; + } + if ("bot_id" in data && data.bot_id != undefined) { + this.bot_id = data.bot_id; + } + if ("value" in data && data.value != undefined) { + this.value = data.value; + } + } + } + get platform() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set platform(value: string) { + pb_1.Message.setField(this, 1, value); + } + get bot_id() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set bot_id(value: string) { + pb_1.Message.setField(this, 2, value); + } + get value() { + return pb_1.Message.getFieldWithDefault(this, 3, "") as string; + } + set value(value: string) { + pb_1.Message.setField(this, 3, value); + } + static fromObject(data: { + platform?: string; + bot_id?: string; + value?: string; + }): AdapterRequest { + const message = new AdapterRequest({}); + if (data.platform != null) { + message.platform = data.platform; + } + if (data.bot_id != null) { + message.bot_id = data.bot_id; + } + if (data.value != null) { + message.value = data.value; + } + return message; + } + toObject() { + const data: { + platform?: string; + bot_id?: string; + value?: string; + } = {}; + if (this.platform != null) { + data.platform = this.platform; + } + if (this.bot_id != null) { + data.bot_id = this.bot_id; + } + if (this.value != null) { + data.value = this.value; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.platform.length) + writer.writeString(1, this.platform); + if (this.bot_id.length) + writer.writeString(2, this.bot_id); + if (this.value.length) + writer.writeString(3, this.value); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): AdapterRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new AdapterRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.platform = reader.readString(); + break; + case 2: + message.bot_id = reader.readString(); + break; + case 3: + message.value = reader.readString(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): AdapterRequest { + return AdapterRequest.deserialize(bytes); + } + } + interface GrpcUnaryServiceInterface { + (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + } + interface GrpcStreamServiceInterface { + (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream; + (message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream; + } + interface GrpWritableServiceInterface { + (metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (metadata: grpc_1.Metadata, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + } + interface GrpcChunkServiceInterface { + (metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream; + (options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream; + } + interface GrpcPromiseServiceInterface { + (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise; + (message: P, options?: grpc_1.CallOptions): Promise; + } + export abstract class UnimplementedSillyGirlServiceService { + static definition = { + BucketGet: { + path: "/srpc.SillyGirlService/BucketGet", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketKeyRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketKeyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + BucketSet: { + path: "/srpc.SillyGirlService/BucketSet", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketSetRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketSetRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: BucketSetResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => BucketSetResponse.deserialize(new Uint8Array(bytes)) + }, + BucketDelete: { + path: "/srpc.SillyGirlService/BucketDelete", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Empty) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes)) + }, + BucketKeys: { + path: "/srpc.SillyGirlService/BucketKeys", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: BucketKeysResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => BucketKeysResponse.deserialize(new Uint8Array(bytes)) + }, + BucketLen: { + path: "/srpc.SillyGirlService/BucketLen", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: LenResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => LenResponse.deserialize(new Uint8Array(bytes)) + }, + BucketGetAll: { + path: "/srpc.SillyGirlService/BucketGetAll", + requestStream: false, + responseStream: false, + requestSerialize: (message: BucketRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => BucketRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + BucketBuckets: { + path: "/srpc.SillyGirlService/BucketBuckets", + requestStream: false, + responseStream: false, + requestSerialize: (message: Empty) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: BucketsResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => BucketsResponse.deserialize(new Uint8Array(bytes)) + }, + SenderGetUserId: { + path: "/srpc.SillyGirlService/SenderGetUserId", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetUserName: { + path: "/srpc.SillyGirlService/SenderGetUserName", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetChatId: { + path: "/srpc.SillyGirlService/SenderGetChatId", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetChatName: { + path: "/srpc.SillyGirlService/SenderGetChatName", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetMessageId: { + path: "/srpc.SillyGirlService/SenderGetMessageId", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetPlatform: { + path: "/srpc.SillyGirlService/SenderGetPlatform", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetBotId: { + path: "/srpc.SillyGirlService/SenderGetBotId", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderGetContent: { + path: "/srpc.SillyGirlService/SenderGetContent", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderSetContent: { + path: "/srpc.SillyGirlService/SenderSetContent", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderContentRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderContentRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Empty) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes)) + }, + SenderContinue: { + path: "/srpc.SillyGirlService/SenderContinue", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Empty) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes)) + }, + SenderListen: { + path: "/srpc.SillyGirlService/SenderListen", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderListenRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderListenRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderEvent: { + path: "/srpc.SillyGirlService/SenderEvent", + requestStream: false, + responseStream: false, + requestSerialize: (message: SenderRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => SenderRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderReply: { + path: "/srpc.SillyGirlService/SenderReply", + requestStream: false, + responseStream: false, + requestSerialize: (message: ReplyRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => ReplyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + SenderAction: { + path: "/srpc.SillyGirlService/SenderAction", + requestStream: false, + responseStream: false, + requestSerialize: (message: ReplyRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => ReplyRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterRegist: { + path: "/srpc.SillyGirlService/AdapterRegist", + requestStream: true, + responseStream: true, + requestSerialize: (message: AdapterRegistRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => AdapterRegistRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterReceive: { + path: "/srpc.SillyGirlService/AdapterReceive", + requestStream: false, + responseStream: false, + requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterPush: { + path: "/srpc.SillyGirlService/AdapterPush", + requestStream: false, + responseStream: false, + requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + }, + AdapterDestroy: { + path: "/srpc.SillyGirlService/AdapterDestroy", + requestStream: false, + responseStream: false, + requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Empty) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes)) + }, + AdapterSender: { + path: "/srpc.SillyGirlService/AdapterSender", + requestStream: false, + responseStream: false, + requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: Default) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes)) + } + }; + [method: string]: grpc_1.UntypedHandleCall; + abstract BucketGet(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketSet(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketDelete(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketKeys(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketLen(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketGetAll(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract BucketBuckets(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetUserId(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetUserName(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetChatId(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetChatName(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetMessageId(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetPlatform(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetBotId(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderGetContent(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderSetContent(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderContinue(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderListen(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderEvent(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderReply(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract SenderAction(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract AdapterRegist(call: grpc_1.ServerDuplexStream): void; + abstract AdapterReceive(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract AdapterPush(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract AdapterDestroy(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract AdapterSender(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + } + export class SillyGirlServiceClient extends grpc_1.makeGenericClientConstructor(UnimplementedSillyGirlServiceService.definition, "SillyGirlService", {}) { + constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial) { + super(address, credentials, options); + } + BucketGet: GrpcUnaryServiceInterface = (message: BucketKeyRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketGet(message, metadata, options, callback); + }; + BucketSet: GrpcUnaryServiceInterface = (message: BucketSetRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketSet(message, metadata, options, callback); + }; + BucketDelete: GrpcUnaryServiceInterface = (message: BucketRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketDelete(message, metadata, options, callback); + }; + BucketKeys: GrpcUnaryServiceInterface = (message: BucketRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketKeys(message, metadata, options, callback); + }; + BucketLen: GrpcUnaryServiceInterface = (message: BucketRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketLen(message, metadata, options, callback); + }; + BucketGetAll: GrpcUnaryServiceInterface = (message: BucketRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketGetAll(message, metadata, options, callback); + }; + BucketBuckets: GrpcUnaryServiceInterface = (message: Empty, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.BucketBuckets(message, metadata, options, callback); + }; + SenderGetUserId: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetUserId(message, metadata, options, callback); + }; + SenderGetUserName: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetUserName(message, metadata, options, callback); + }; + SenderGetChatId: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetChatId(message, metadata, options, callback); + }; + SenderGetChatName: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetChatName(message, metadata, options, callback); + }; + SenderGetMessageId: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetMessageId(message, metadata, options, callback); + }; + SenderGetPlatform: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetPlatform(message, metadata, options, callback); + }; + SenderGetBotId: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetBotId(message, metadata, options, callback); + }; + SenderGetContent: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderGetContent(message, metadata, options, callback); + }; + SenderSetContent: GrpcUnaryServiceInterface = (message: SenderContentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderSetContent(message, metadata, options, callback); + }; + SenderContinue: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderContinue(message, metadata, options, callback); + }; + SenderListen: GrpcUnaryServiceInterface = (message: SenderListenRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderListen(message, metadata, options, callback); + }; + SenderEvent: GrpcUnaryServiceInterface = (message: SenderRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderEvent(message, metadata, options, callback); + }; + SenderReply: GrpcUnaryServiceInterface = (message: ReplyRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderReply(message, metadata, options, callback); + }; + SenderAction: GrpcUnaryServiceInterface = (message: ReplyRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.SenderAction(message, metadata, options, callback); + }; + AdapterRegist: GrpcChunkServiceInterface = (metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream => { + return super.AdapterRegist(metadata, options); + }; + AdapterReceive: GrpcUnaryServiceInterface = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.AdapterReceive(message, metadata, options, callback); + }; + AdapterPush: GrpcUnaryServiceInterface = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.AdapterPush(message, metadata, options, callback); + }; + AdapterDestroy: GrpcUnaryServiceInterface = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.AdapterDestroy(message, metadata, options, callback); + }; + AdapterSender: GrpcUnaryServiceInterface = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.AdapterSender(message, metadata, options, callback); + }; + } +} diff --git a/proto3/srpc/srpc.pb.go b/proto3/srpc/srpc.pb.go new file mode 100644 index 0000000..ea8020b --- /dev/null +++ b/proto3/srpc/srpc.pb.go @@ -0,0 +1,1347 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.23.4 +// source: srpc.proto + +package srpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Empty struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Empty) Reset() { + *x = Empty{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{0} +} + +type Default struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Default) Reset() { + *x = Default{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Default) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Default) ProtoMessage() {} + +func (x *Default) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Default.ProtoReflect.Descriptor instead. +func (*Default) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{1} +} + +func (x *Default) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type BucketSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *BucketSetRequest) Reset() { + *x = BucketSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketSetRequest) ProtoMessage() {} + +func (x *BucketSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketSetRequest.ProtoReflect.Descriptor instead. +func (*BucketSetRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{2} +} + +func (x *BucketSetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BucketSetRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *BucketSetRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type BucketSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Changed bool `protobuf:"varint,1,opt,name=changed,proto3" json:"changed,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *BucketSetResponse) Reset() { + *x = BucketSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketSetResponse) ProtoMessage() {} + +func (x *BucketSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketSetResponse.ProtoReflect.Descriptor instead. +func (*BucketSetResponse) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{3} +} + +func (x *BucketSetResponse) GetChanged() bool { + if x != nil { + return x.Changed + } + return false +} + +func (x *BucketSetResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type BucketKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *BucketKeyRequest) Reset() { + *x = BucketKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketKeyRequest) ProtoMessage() {} + +func (x *BucketKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketKeyRequest.ProtoReflect.Descriptor instead. +func (*BucketKeyRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{4} +} + +func (x *BucketKeyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BucketKeyRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type BucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *BucketRequest) Reset() { + *x = BucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketRequest) ProtoMessage() {} + +func (x *BucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketRequest.ProtoReflect.Descriptor instead. +func (*BucketRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{5} +} + +func (x *BucketRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type BucketKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *BucketKeysResponse) Reset() { + *x = BucketKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketKeysResponse) ProtoMessage() {} + +func (x *BucketKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketKeysResponse.ProtoReflect.Descriptor instead. +func (*BucketKeysResponse) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{6} +} + +func (x *BucketKeysResponse) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type LenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` +} + +func (x *LenResponse) Reset() { + *x = LenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LenResponse) ProtoMessage() {} + +func (x *LenResponse) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LenResponse.ProtoReflect.Descriptor instead. +func (*LenResponse) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{7} +} + +func (x *LenResponse) GetLength() int32 { + if x != nil { + return x.Length + } + return 0 +} + +type BucketsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Buckets []string `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` +} + +func (x *BucketsResponse) Reset() { + *x = BucketsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketsResponse) ProtoMessage() {} + +func (x *BucketsResponse) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BucketsResponse.ProtoReflect.Descriptor instead. +func (*BucketsResponse) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{8} +} + +func (x *BucketsResponse) GetBuckets() []string { + if x != nil { + return x.Buckets + } + return nil +} + +type SenderRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *SenderRequest) Reset() { + *x = SenderRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SenderRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SenderRequest) ProtoMessage() {} + +func (x *SenderRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SenderRequest.ProtoReflect.Descriptor instead. +func (*SenderRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{9} +} + +func (x *SenderRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type ReplyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *ReplyRequest) Reset() { + *x = ReplyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplyRequest) ProtoMessage() {} + +func (x *ReplyRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplyRequest.ProtoReflect.Descriptor instead. +func (*ReplyRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{10} +} + +func (x *ReplyRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *ReplyRequest) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +type SenderContentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *SenderContentRequest) Reset() { + *x = SenderContentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SenderContentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SenderContentRequest) ProtoMessage() {} + +func (x *SenderContentRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SenderContentRequest.ProtoReflect.Descriptor instead. +func (*SenderContentRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{11} +} + +func (x *SenderContentRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SenderContentRequest) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +type SenderListenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Rules []string `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` + Timeout int32 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + ListenGroup bool `protobuf:"varint,4,opt,name=listen_group,json=listenGroup,proto3" json:"listen_group,omitempty"` + ListenPrivate bool `protobuf:"varint,5,opt,name=listen_private,json=listenPrivate,proto3" json:"listen_private,omitempty"` + RequireAdmin bool `protobuf:"varint,6,opt,name=require_admin,json=requireAdmin,proto3" json:"require_admin,omitempty"` + AllowPlatforms []string `protobuf:"bytes,7,rep,name=allow_platforms,json=allowPlatforms,proto3" json:"allow_platforms,omitempty"` + ProhibitPlatforms []string `protobuf:"bytes,8,rep,name=prohibit_platforms,json=prohibitPlatforms,proto3" json:"prohibit_platforms,omitempty"` + AllowUsers []string `protobuf:"bytes,9,rep,name=allow_users,json=allowUsers,proto3" json:"allow_users,omitempty"` + ProhibitUsers []string `protobuf:"bytes,10,rep,name=prohibit_users,json=prohibitUsers,proto3" json:"prohibit_users,omitempty"` + AllowGroups []string `protobuf:"bytes,11,rep,name=allow_groups,json=allowGroups,proto3" json:"allow_groups,omitempty"` + ProhibitGroups []string `protobuf:"bytes,12,rep,name=prohibit_groups,json=prohibitGroups,proto3" json:"prohibit_groups,omitempty"` +} + +func (x *SenderListenRequest) Reset() { + *x = SenderListenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SenderListenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SenderListenRequest) ProtoMessage() {} + +func (x *SenderListenRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SenderListenRequest.ProtoReflect.Descriptor instead. +func (*SenderListenRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{12} +} + +func (x *SenderListenRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SenderListenRequest) GetRules() []string { + if x != nil { + return x.Rules + } + return nil +} + +func (x *SenderListenRequest) GetTimeout() int32 { + if x != nil { + return x.Timeout + } + return 0 +} + +func (x *SenderListenRequest) GetListenGroup() bool { + if x != nil { + return x.ListenGroup + } + return false +} + +func (x *SenderListenRequest) GetListenPrivate() bool { + if x != nil { + return x.ListenPrivate + } + return false +} + +func (x *SenderListenRequest) GetRequireAdmin() bool { + if x != nil { + return x.RequireAdmin + } + return false +} + +func (x *SenderListenRequest) GetAllowPlatforms() []string { + if x != nil { + return x.AllowPlatforms + } + return nil +} + +func (x *SenderListenRequest) GetProhibitPlatforms() []string { + if x != nil { + return x.ProhibitPlatforms + } + return nil +} + +func (x *SenderListenRequest) GetAllowUsers() []string { + if x != nil { + return x.AllowUsers + } + return nil +} + +func (x *SenderListenRequest) GetProhibitUsers() []string { + if x != nil { + return x.ProhibitUsers + } + return nil +} + +func (x *SenderListenRequest) GetAllowGroups() []string { + if x != nil { + return x.AllowGroups + } + return nil +} + +func (x *SenderListenRequest) GetProhibitGroups() []string { + if x != nil { + return x.ProhibitGroups + } + return nil +} + +type AdapterRegistRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + BotId string `protobuf:"bytes,2,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` +} + +func (x *AdapterRegistRequest) Reset() { + *x = AdapterRegistRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AdapterRegistRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdapterRegistRequest) ProtoMessage() {} + +func (x *AdapterRegistRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdapterRegistRequest.ProtoReflect.Descriptor instead. +func (*AdapterRegistRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{13} +} + +func (x *AdapterRegistRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AdapterRegistRequest) GetBotId() string { + if x != nil { + return x.BotId + } + return "" +} + +type AdapterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + BotId string `protobuf:"bytes,2,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *AdapterRequest) Reset() { + *x = AdapterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_srpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AdapterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdapterRequest) ProtoMessage() {} + +func (x *AdapterRequest) ProtoReflect() protoreflect.Message { + mi := &file_srpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdapterRequest.ProtoReflect.Descriptor instead. +func (*AdapterRequest) Descriptor() ([]byte, []int) { + return file_srpc_proto_rawDescGZIP(), []int{14} +} + +func (x *AdapterRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AdapterRequest) GetBotId() string { + if x != nil { + return x.BotId + } + return "" +} + +func (x *AdapterRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_srpc_proto protoreflect.FileDescriptor + +var file_srpc_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x73, 0x72, + 0x70, 0x63, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x07, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4e, 0x0a, 0x10, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x11, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, 0x0a, 0x10, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, + 0x23, 0x0a, 0x0d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x25, + 0x0a, 0x0b, 0x4c, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x2b, 0x0a, 0x0f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x3c, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x13, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, + 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, + 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, + 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x22, 0x49, 0x0a, 0x14, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x59, 0x0a, + 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x15, 0x0a, 0x06, 0x62, + 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0xab, 0x0b, 0x0a, 0x10, 0x53, 0x69, 0x6c, + 0x6c, 0x79, 0x47, 0x69, 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, + 0x09, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x12, 0x16, + 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x0c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, + 0x0a, 0x09, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x6e, 0x12, 0x13, 0x2e, 0x73, 0x72, + 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x11, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0f, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x0f, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, + 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x38, 0x0a, 0x12, + 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x13, 0x2e, 0x73, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x34, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x49, + 0x64, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, + 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, + 0x10, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x0e, 0x53, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x12, 0x13, 0x2e, 0x73, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, + 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x19, + 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, + 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x53, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x2e, 0x73, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, + 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, + 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x12, 0x3e, 0x0a, 0x0d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x35, 0x0a, 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x41, 0x64, 0x61, 0x70, 0x74, + 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, + 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0e, 0x41, + 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x14, 0x2e, + 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x34, 0x0a, 0x0d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x5a, 0x05, 0x73, 0x72, 0x70, 0x63, 0x2f, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_srpc_proto_rawDescOnce sync.Once + file_srpc_proto_rawDescData = file_srpc_proto_rawDesc +) + +func file_srpc_proto_rawDescGZIP() []byte { + file_srpc_proto_rawDescOnce.Do(func() { + file_srpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_srpc_proto_rawDescData) + }) + return file_srpc_proto_rawDescData +} + +var file_srpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_srpc_proto_goTypes = []interface{}{ + (*Empty)(nil), // 0: srpc.Empty + (*Default)(nil), // 1: srpc.Default + (*BucketSetRequest)(nil), // 2: srpc.BucketSetRequest + (*BucketSetResponse)(nil), // 3: srpc.BucketSetResponse + (*BucketKeyRequest)(nil), // 4: srpc.BucketKeyRequest + (*BucketRequest)(nil), // 5: srpc.BucketRequest + (*BucketKeysResponse)(nil), // 6: srpc.BucketKeysResponse + (*LenResponse)(nil), // 7: srpc.LenResponse + (*BucketsResponse)(nil), // 8: srpc.BucketsResponse + (*SenderRequest)(nil), // 9: srpc.SenderRequest + (*ReplyRequest)(nil), // 10: srpc.ReplyRequest + (*SenderContentRequest)(nil), // 11: srpc.SenderContentRequest + (*SenderListenRequest)(nil), // 12: srpc.SenderListenRequest + (*AdapterRegistRequest)(nil), // 13: srpc.AdapterRegistRequest + (*AdapterRequest)(nil), // 14: srpc.AdapterRequest +} +var file_srpc_proto_depIdxs = []int32{ + 4, // 0: srpc.SillyGirlService.BucketGet:input_type -> srpc.BucketKeyRequest + 2, // 1: srpc.SillyGirlService.BucketSet:input_type -> srpc.BucketSetRequest + 5, // 2: srpc.SillyGirlService.BucketDelete:input_type -> srpc.BucketRequest + 5, // 3: srpc.SillyGirlService.BucketKeys:input_type -> srpc.BucketRequest + 5, // 4: srpc.SillyGirlService.BucketLen:input_type -> srpc.BucketRequest + 5, // 5: srpc.SillyGirlService.BucketGetAll:input_type -> srpc.BucketRequest + 0, // 6: srpc.SillyGirlService.BucketBuckets:input_type -> srpc.Empty + 9, // 7: srpc.SillyGirlService.SenderGetUserId:input_type -> srpc.SenderRequest + 9, // 8: srpc.SillyGirlService.SenderGetUserName:input_type -> srpc.SenderRequest + 9, // 9: srpc.SillyGirlService.SenderGetChatId:input_type -> srpc.SenderRequest + 9, // 10: srpc.SillyGirlService.SenderGetChatName:input_type -> srpc.SenderRequest + 9, // 11: srpc.SillyGirlService.SenderGetMessageId:input_type -> srpc.SenderRequest + 9, // 12: srpc.SillyGirlService.SenderGetPlatform:input_type -> srpc.SenderRequest + 9, // 13: srpc.SillyGirlService.SenderGetBotId:input_type -> srpc.SenderRequest + 9, // 14: srpc.SillyGirlService.SenderGetContent:input_type -> srpc.SenderRequest + 11, // 15: srpc.SillyGirlService.SenderSetContent:input_type -> srpc.SenderContentRequest + 9, // 16: srpc.SillyGirlService.SenderContinue:input_type -> srpc.SenderRequest + 12, // 17: srpc.SillyGirlService.SenderListen:input_type -> srpc.SenderListenRequest + 9, // 18: srpc.SillyGirlService.SenderEvent:input_type -> srpc.SenderRequest + 10, // 19: srpc.SillyGirlService.SenderReply:input_type -> srpc.ReplyRequest + 10, // 20: srpc.SillyGirlService.SenderAction:input_type -> srpc.ReplyRequest + 13, // 21: srpc.SillyGirlService.AdapterRegist:input_type -> srpc.AdapterRegistRequest + 14, // 22: srpc.SillyGirlService.AdapterReceive:input_type -> srpc.AdapterRequest + 14, // 23: srpc.SillyGirlService.AdapterPush:input_type -> srpc.AdapterRequest + 14, // 24: srpc.SillyGirlService.AdapterDestroy:input_type -> srpc.AdapterRequest + 14, // 25: srpc.SillyGirlService.AdapterSender:input_type -> srpc.AdapterRequest + 1, // 26: srpc.SillyGirlService.BucketGet:output_type -> srpc.Default + 3, // 27: srpc.SillyGirlService.BucketSet:output_type -> srpc.BucketSetResponse + 0, // 28: srpc.SillyGirlService.BucketDelete:output_type -> srpc.Empty + 6, // 29: srpc.SillyGirlService.BucketKeys:output_type -> srpc.BucketKeysResponse + 7, // 30: srpc.SillyGirlService.BucketLen:output_type -> srpc.LenResponse + 1, // 31: srpc.SillyGirlService.BucketGetAll:output_type -> srpc.Default + 8, // 32: srpc.SillyGirlService.BucketBuckets:output_type -> srpc.BucketsResponse + 1, // 33: srpc.SillyGirlService.SenderGetUserId:output_type -> srpc.Default + 1, // 34: srpc.SillyGirlService.SenderGetUserName:output_type -> srpc.Default + 1, // 35: srpc.SillyGirlService.SenderGetChatId:output_type -> srpc.Default + 1, // 36: srpc.SillyGirlService.SenderGetChatName:output_type -> srpc.Default + 1, // 37: srpc.SillyGirlService.SenderGetMessageId:output_type -> srpc.Default + 1, // 38: srpc.SillyGirlService.SenderGetPlatform:output_type -> srpc.Default + 1, // 39: srpc.SillyGirlService.SenderGetBotId:output_type -> srpc.Default + 1, // 40: srpc.SillyGirlService.SenderGetContent:output_type -> srpc.Default + 0, // 41: srpc.SillyGirlService.SenderSetContent:output_type -> srpc.Empty + 0, // 42: srpc.SillyGirlService.SenderContinue:output_type -> srpc.Empty + 1, // 43: srpc.SillyGirlService.SenderListen:output_type -> srpc.Default + 1, // 44: srpc.SillyGirlService.SenderEvent:output_type -> srpc.Default + 1, // 45: srpc.SillyGirlService.SenderReply:output_type -> srpc.Default + 1, // 46: srpc.SillyGirlService.SenderAction:output_type -> srpc.Default + 1, // 47: srpc.SillyGirlService.AdapterRegist:output_type -> srpc.Default + 1, // 48: srpc.SillyGirlService.AdapterReceive:output_type -> srpc.Default + 1, // 49: srpc.SillyGirlService.AdapterPush:output_type -> srpc.Default + 0, // 50: srpc.SillyGirlService.AdapterDestroy:output_type -> srpc.Empty + 1, // 51: srpc.SillyGirlService.AdapterSender:output_type -> srpc.Default + 26, // [26:52] is the sub-list for method output_type + 0, // [0:26] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_srpc_proto_init() } +func file_srpc_proto_init() { + if File_srpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_srpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Empty); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Default); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketKeysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SenderRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SenderContentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SenderListenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AdapterRegistRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_srpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AdapterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_srpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 15, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_srpc_proto_goTypes, + DependencyIndexes: file_srpc_proto_depIdxs, + MessageInfos: file_srpc_proto_msgTypes, + }.Build() + File_srpc_proto = out.File + file_srpc_proto_rawDesc = nil + file_srpc_proto_goTypes = nil + file_srpc_proto_depIdxs = nil +} diff --git a/proto3/srpc/srpc_grpc.pb.go b/proto3/srpc/srpc_grpc.pb.go new file mode 100644 index 0000000..880bcbc --- /dev/null +++ b/proto3/srpc/srpc_grpc.pb.go @@ -0,0 +1,1067 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.23.4 +// source: srpc.proto + +package srpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + SillyGirlService_BucketGet_FullMethodName = "/srpc.SillyGirlService/BucketGet" + SillyGirlService_BucketSet_FullMethodName = "/srpc.SillyGirlService/BucketSet" + SillyGirlService_BucketDelete_FullMethodName = "/srpc.SillyGirlService/BucketDelete" + SillyGirlService_BucketKeys_FullMethodName = "/srpc.SillyGirlService/BucketKeys" + SillyGirlService_BucketLen_FullMethodName = "/srpc.SillyGirlService/BucketLen" + SillyGirlService_BucketGetAll_FullMethodName = "/srpc.SillyGirlService/BucketGetAll" + SillyGirlService_BucketBuckets_FullMethodName = "/srpc.SillyGirlService/BucketBuckets" + SillyGirlService_SenderGetUserId_FullMethodName = "/srpc.SillyGirlService/SenderGetUserId" + SillyGirlService_SenderGetUserName_FullMethodName = "/srpc.SillyGirlService/SenderGetUserName" + SillyGirlService_SenderGetChatId_FullMethodName = "/srpc.SillyGirlService/SenderGetChatId" + SillyGirlService_SenderGetChatName_FullMethodName = "/srpc.SillyGirlService/SenderGetChatName" + SillyGirlService_SenderGetMessageId_FullMethodName = "/srpc.SillyGirlService/SenderGetMessageId" + SillyGirlService_SenderGetPlatform_FullMethodName = "/srpc.SillyGirlService/SenderGetPlatform" + SillyGirlService_SenderGetBotId_FullMethodName = "/srpc.SillyGirlService/SenderGetBotId" + SillyGirlService_SenderGetContent_FullMethodName = "/srpc.SillyGirlService/SenderGetContent" + SillyGirlService_SenderSetContent_FullMethodName = "/srpc.SillyGirlService/SenderSetContent" + SillyGirlService_SenderContinue_FullMethodName = "/srpc.SillyGirlService/SenderContinue" + SillyGirlService_SenderListen_FullMethodName = "/srpc.SillyGirlService/SenderListen" + SillyGirlService_SenderEvent_FullMethodName = "/srpc.SillyGirlService/SenderEvent" + SillyGirlService_SenderReply_FullMethodName = "/srpc.SillyGirlService/SenderReply" + SillyGirlService_SenderAction_FullMethodName = "/srpc.SillyGirlService/SenderAction" + SillyGirlService_AdapterRegist_FullMethodName = "/srpc.SillyGirlService/AdapterRegist" + SillyGirlService_AdapterReceive_FullMethodName = "/srpc.SillyGirlService/AdapterReceive" + SillyGirlService_AdapterPush_FullMethodName = "/srpc.SillyGirlService/AdapterPush" + SillyGirlService_AdapterDestroy_FullMethodName = "/srpc.SillyGirlService/AdapterDestroy" + SillyGirlService_AdapterSender_FullMethodName = "/srpc.SillyGirlService/AdapterSender" +) + +// SillyGirlServiceClient is the client API for SillyGirlService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SillyGirlServiceClient interface { + BucketGet(ctx context.Context, in *BucketKeyRequest, opts ...grpc.CallOption) (*Default, error) + BucketSet(ctx context.Context, in *BucketSetRequest, opts ...grpc.CallOption) (*BucketSetResponse, error) + BucketDelete(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*Empty, error) + BucketKeys(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*BucketKeysResponse, error) + BucketLen(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*LenResponse, error) + BucketGetAll(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*Default, error) + BucketBuckets(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BucketsResponse, error) + SenderGetUserId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetUserName(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetChatId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetChatName(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetMessageId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetPlatform(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetBotId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderGetContent(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderSetContent(ctx context.Context, in *SenderContentRequest, opts ...grpc.CallOption) (*Empty, error) + SenderContinue(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Empty, error) + SenderListen(ctx context.Context, in *SenderListenRequest, opts ...grpc.CallOption) (*Default, error) + SenderEvent(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) + SenderReply(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error) + SenderAction(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error) + AdapterRegist(ctx context.Context, opts ...grpc.CallOption) (SillyGirlService_AdapterRegistClient, error) + AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) + AdapterPush(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) + AdapterDestroy(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error) + AdapterSender(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) +} + +type sillyGirlServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSillyGirlServiceClient(cc grpc.ClientConnInterface) SillyGirlServiceClient { + return &sillyGirlServiceClient{cc} +} + +func (c *sillyGirlServiceClient) BucketGet(ctx context.Context, in *BucketKeyRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_BucketGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketSet(ctx context.Context, in *BucketSetRequest, opts ...grpc.CallOption) (*BucketSetResponse, error) { + out := new(BucketSetResponse) + err := c.cc.Invoke(ctx, SillyGirlService_BucketSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketDelete(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, SillyGirlService_BucketDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketKeys(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*BucketKeysResponse, error) { + out := new(BucketKeysResponse) + err := c.cc.Invoke(ctx, SillyGirlService_BucketKeys_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketLen(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*LenResponse, error) { + out := new(LenResponse) + err := c.cc.Invoke(ctx, SillyGirlService_BucketLen_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketGetAll(ctx context.Context, in *BucketRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_BucketGetAll_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) BucketBuckets(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BucketsResponse, error) { + out := new(BucketsResponse) + err := c.cc.Invoke(ctx, SillyGirlService_BucketBuckets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetUserId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetUserId_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetUserName(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetUserName_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetChatId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetChatId_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetChatName(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetChatName_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetMessageId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetMessageId_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetPlatform(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetPlatform_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetBotId(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetBotId_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderGetContent(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderGetContent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderSetContent(ctx context.Context, in *SenderContentRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, SillyGirlService_SenderSetContent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderContinue(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, SillyGirlService_SenderContinue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderListen(ctx context.Context, in *SenderListenRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderListen_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderEvent(ctx context.Context, in *SenderRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderEvent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderReply(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderReply_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) SenderAction(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_SenderAction_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) AdapterRegist(ctx context.Context, opts ...grpc.CallOption) (SillyGirlService_AdapterRegistClient, error) { + stream, err := c.cc.NewStream(ctx, &SillyGirlService_ServiceDesc.Streams[0], SillyGirlService_AdapterRegist_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &sillyGirlServiceAdapterRegistClient{stream} + return x, nil +} + +type SillyGirlService_AdapterRegistClient interface { + Send(*AdapterRegistRequest) error + Recv() (*Default, error) + grpc.ClientStream +} + +type sillyGirlServiceAdapterRegistClient struct { + grpc.ClientStream +} + +func (x *sillyGirlServiceAdapterRegistClient) Send(m *AdapterRegistRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *sillyGirlServiceAdapterRegistClient) Recv() (*Default, error) { + m := new(Default) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *sillyGirlServiceClient) AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_AdapterReceive_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) AdapterPush(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_AdapterPush_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) AdapterDestroy(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, SillyGirlService_AdapterDestroy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sillyGirlServiceClient) AdapterSender(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) { + out := new(Default) + err := c.cc.Invoke(ctx, SillyGirlService_AdapterSender_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SillyGirlServiceServer is the server API for SillyGirlService service. +// All implementations must embed UnimplementedSillyGirlServiceServer +// for forward compatibility +type SillyGirlServiceServer interface { + BucketGet(context.Context, *BucketKeyRequest) (*Default, error) + BucketSet(context.Context, *BucketSetRequest) (*BucketSetResponse, error) + BucketDelete(context.Context, *BucketRequest) (*Empty, error) + BucketKeys(context.Context, *BucketRequest) (*BucketKeysResponse, error) + BucketLen(context.Context, *BucketRequest) (*LenResponse, error) + BucketGetAll(context.Context, *BucketRequest) (*Default, error) + BucketBuckets(context.Context, *Empty) (*BucketsResponse, error) + SenderGetUserId(context.Context, *SenderRequest) (*Default, error) + SenderGetUserName(context.Context, *SenderRequest) (*Default, error) + SenderGetChatId(context.Context, *SenderRequest) (*Default, error) + SenderGetChatName(context.Context, *SenderRequest) (*Default, error) + SenderGetMessageId(context.Context, *SenderRequest) (*Default, error) + SenderGetPlatform(context.Context, *SenderRequest) (*Default, error) + SenderGetBotId(context.Context, *SenderRequest) (*Default, error) + SenderGetContent(context.Context, *SenderRequest) (*Default, error) + SenderSetContent(context.Context, *SenderContentRequest) (*Empty, error) + SenderContinue(context.Context, *SenderRequest) (*Empty, error) + SenderListen(context.Context, *SenderListenRequest) (*Default, error) + SenderEvent(context.Context, *SenderRequest) (*Default, error) + SenderReply(context.Context, *ReplyRequest) (*Default, error) + SenderAction(context.Context, *ReplyRequest) (*Default, error) + AdapterRegist(SillyGirlService_AdapterRegistServer) error + AdapterReceive(context.Context, *AdapterRequest) (*Default, error) + AdapterPush(context.Context, *AdapterRequest) (*Default, error) + AdapterDestroy(context.Context, *AdapterRequest) (*Empty, error) + AdapterSender(context.Context, *AdapterRequest) (*Default, error) + mustEmbedUnimplementedSillyGirlServiceServer() +} + +// UnimplementedSillyGirlServiceServer must be embedded to have forward compatible implementations. +type UnimplementedSillyGirlServiceServer struct { +} + +func (UnimplementedSillyGirlServiceServer) BucketGet(context.Context, *BucketKeyRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketGet not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketSet(context.Context, *BucketSetRequest) (*BucketSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketSet not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketDelete(context.Context, *BucketRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketDelete not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketKeys(context.Context, *BucketRequest) (*BucketKeysResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketKeys not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketLen(context.Context, *BucketRequest) (*LenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketLen not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketGetAll(context.Context, *BucketRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketGetAll not implemented") +} +func (UnimplementedSillyGirlServiceServer) BucketBuckets(context.Context, *Empty) (*BucketsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BucketBuckets not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetUserId(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetUserId not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetUserName(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetUserName not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetChatId(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetChatId not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetChatName(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetChatName not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetMessageId(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetMessageId not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetPlatform(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetPlatform not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetBotId(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetBotId not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderGetContent(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderGetContent not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderSetContent(context.Context, *SenderContentRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderSetContent not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderContinue(context.Context, *SenderRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderContinue not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderListen(context.Context, *SenderListenRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderListen not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderEvent(context.Context, *SenderRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderEvent not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderReply(context.Context, *ReplyRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderReply not implemented") +} +func (UnimplementedSillyGirlServiceServer) SenderAction(context.Context, *ReplyRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method SenderAction not implemented") +} +func (UnimplementedSillyGirlServiceServer) AdapterRegist(SillyGirlService_AdapterRegistServer) error { + return status.Errorf(codes.Unimplemented, "method AdapterRegist not implemented") +} +func (UnimplementedSillyGirlServiceServer) AdapterReceive(context.Context, *AdapterRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method AdapterReceive not implemented") +} +func (UnimplementedSillyGirlServiceServer) AdapterPush(context.Context, *AdapterRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method AdapterPush not implemented") +} +func (UnimplementedSillyGirlServiceServer) AdapterDestroy(context.Context, *AdapterRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AdapterDestroy not implemented") +} +func (UnimplementedSillyGirlServiceServer) AdapterSender(context.Context, *AdapterRequest) (*Default, error) { + return nil, status.Errorf(codes.Unimplemented, "method AdapterSender not implemented") +} +func (UnimplementedSillyGirlServiceServer) mustEmbedUnimplementedSillyGirlServiceServer() {} + +// UnsafeSillyGirlServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SillyGirlServiceServer will +// result in compilation errors. +type UnsafeSillyGirlServiceServer interface { + mustEmbedUnimplementedSillyGirlServiceServer() +} + +func RegisterSillyGirlServiceServer(s grpc.ServiceRegistrar, srv SillyGirlServiceServer) { + s.RegisterService(&SillyGirlService_ServiceDesc, srv) +} + +func _SillyGirlService_BucketGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketGet(ctx, req.(*BucketKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketSet(ctx, req.(*BucketSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketDelete(ctx, req.(*BucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketKeys(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketKeys_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketKeys(ctx, req.(*BucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketLen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketLen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketLen_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketLen(ctx, req.(*BucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketGetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketGetAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketGetAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketGetAll(ctx, req.(*BucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_BucketBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).BucketBuckets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_BucketBuckets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).BucketBuckets(ctx, req.(*Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetUserId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetUserId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetUserId_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetUserId(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetUserName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetUserName(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetUserName_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetUserName(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetChatId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetChatId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetChatId_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetChatId(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetChatName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetChatName(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetChatName_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetChatName(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetMessageId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetMessageId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetMessageId_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetMessageId(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetPlatform_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetPlatform(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetPlatform_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetPlatform(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetBotId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetBotId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetBotId_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetBotId(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderGetContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderGetContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderGetContent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderGetContent(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderSetContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderContentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderSetContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderSetContent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderSetContent(ctx, req.(*SenderContentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderContinue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderContinue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderContinue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderContinue(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderListen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderListenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderListen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderListen_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderListen(ctx, req.(*SenderListenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SenderRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderEvent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderEvent(ctx, req.(*SenderRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderReply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderReply(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderReply_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderReply(ctx, req.(*ReplyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_SenderAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).SenderAction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_SenderAction_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).SenderAction(ctx, req.(*ReplyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_AdapterRegist_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SillyGirlServiceServer).AdapterRegist(&sillyGirlServiceAdapterRegistServer{stream}) +} + +type SillyGirlService_AdapterRegistServer interface { + Send(*Default) error + Recv() (*AdapterRegistRequest, error) + grpc.ServerStream +} + +type sillyGirlServiceAdapterRegistServer struct { + grpc.ServerStream +} + +func (x *sillyGirlServiceAdapterRegistServer) Send(m *Default) error { + return x.ServerStream.SendMsg(m) +} + +func (x *sillyGirlServiceAdapterRegistServer) Recv() (*AdapterRegistRequest, error) { + m := new(AdapterRegistRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _SillyGirlService_AdapterReceive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdapterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).AdapterReceive(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_AdapterReceive_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).AdapterReceive(ctx, req.(*AdapterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_AdapterPush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdapterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).AdapterPush(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_AdapterPush_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).AdapterPush(ctx, req.(*AdapterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_AdapterDestroy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdapterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).AdapterDestroy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_AdapterDestroy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).AdapterDestroy(ctx, req.(*AdapterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SillyGirlService_AdapterSender_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdapterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SillyGirlServiceServer).AdapterSender(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SillyGirlService_AdapterSender_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SillyGirlServiceServer).AdapterSender(ctx, req.(*AdapterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// SillyGirlService_ServiceDesc is the grpc.ServiceDesc for SillyGirlService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SillyGirlService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "srpc.SillyGirlService", + HandlerType: (*SillyGirlServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "BucketGet", + Handler: _SillyGirlService_BucketGet_Handler, + }, + { + MethodName: "BucketSet", + Handler: _SillyGirlService_BucketSet_Handler, + }, + { + MethodName: "BucketDelete", + Handler: _SillyGirlService_BucketDelete_Handler, + }, + { + MethodName: "BucketKeys", + Handler: _SillyGirlService_BucketKeys_Handler, + }, + { + MethodName: "BucketLen", + Handler: _SillyGirlService_BucketLen_Handler, + }, + { + MethodName: "BucketGetAll", + Handler: _SillyGirlService_BucketGetAll_Handler, + }, + { + MethodName: "BucketBuckets", + Handler: _SillyGirlService_BucketBuckets_Handler, + }, + { + MethodName: "SenderGetUserId", + Handler: _SillyGirlService_SenderGetUserId_Handler, + }, + { + MethodName: "SenderGetUserName", + Handler: _SillyGirlService_SenderGetUserName_Handler, + }, + { + MethodName: "SenderGetChatId", + Handler: _SillyGirlService_SenderGetChatId_Handler, + }, + { + MethodName: "SenderGetChatName", + Handler: _SillyGirlService_SenderGetChatName_Handler, + }, + { + MethodName: "SenderGetMessageId", + Handler: _SillyGirlService_SenderGetMessageId_Handler, + }, + { + MethodName: "SenderGetPlatform", + Handler: _SillyGirlService_SenderGetPlatform_Handler, + }, + { + MethodName: "SenderGetBotId", + Handler: _SillyGirlService_SenderGetBotId_Handler, + }, + { + MethodName: "SenderGetContent", + Handler: _SillyGirlService_SenderGetContent_Handler, + }, + { + MethodName: "SenderSetContent", + Handler: _SillyGirlService_SenderSetContent_Handler, + }, + { + MethodName: "SenderContinue", + Handler: _SillyGirlService_SenderContinue_Handler, + }, + { + MethodName: "SenderListen", + Handler: _SillyGirlService_SenderListen_Handler, + }, + { + MethodName: "SenderEvent", + Handler: _SillyGirlService_SenderEvent_Handler, + }, + { + MethodName: "SenderReply", + Handler: _SillyGirlService_SenderReply_Handler, + }, + { + MethodName: "SenderAction", + Handler: _SillyGirlService_SenderAction_Handler, + }, + { + MethodName: "AdapterReceive", + Handler: _SillyGirlService_AdapterReceive_Handler, + }, + { + MethodName: "AdapterPush", + Handler: _SillyGirlService_AdapterPush_Handler, + }, + { + MethodName: "AdapterDestroy", + Handler: _SillyGirlService_AdapterDestroy_Handler, + }, + { + MethodName: "AdapterSender", + Handler: _SillyGirlService_AdapterSender_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "AdapterRegist", + Handler: _SillyGirlService_AdapterRegist_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "srpc.proto", +}