github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/chat1/remote.go (about)

     1  // Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler)
     2  //   Input file: avdl/chat1/remote.avdl
     3  
     4  package chat1
     5  
     6  import (
     7  	"errors"
     8  	"fmt"
     9  	gregor1 "github.com/keybase/client/go/protocol/gregor1"
    10  	keybase1 "github.com/keybase/client/go/protocol/keybase1"
    11  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
    12  	context "golang.org/x/net/context"
    13  	"time"
    14  )
    15  
    16  type MessageBoxed struct {
    17  	Version          MessageBoxedVersion  `codec:"version" json:"version"`
    18  	ServerHeader     *MessageServerHeader `codec:"serverHeader,omitempty" json:"serverHeader,omitempty"`
    19  	ClientHeader     MessageClientHeader  `codec:"clientHeader" json:"clientHeader"`
    20  	HeaderCiphertext SealedData           `codec:"headerCiphertext" json:"headerCiphertext"`
    21  	BodyCiphertext   EncryptedData        `codec:"bodyCiphertext" json:"bodyCiphertext"`
    22  	VerifyKey        []byte               `codec:"verifyKey" json:"verifyKey"`
    23  	KeyGeneration    int                  `codec:"keyGeneration" json:"keyGeneration"`
    24  }
    25  
    26  func (o MessageBoxed) DeepCopy() MessageBoxed {
    27  	return MessageBoxed{
    28  		Version: o.Version.DeepCopy(),
    29  		ServerHeader: (func(x *MessageServerHeader) *MessageServerHeader {
    30  			if x == nil {
    31  				return nil
    32  			}
    33  			tmp := (*x).DeepCopy()
    34  			return &tmp
    35  		})(o.ServerHeader),
    36  		ClientHeader:     o.ClientHeader.DeepCopy(),
    37  		HeaderCiphertext: o.HeaderCiphertext.DeepCopy(),
    38  		BodyCiphertext:   o.BodyCiphertext.DeepCopy(),
    39  		VerifyKey: (func(x []byte) []byte {
    40  			if x == nil {
    41  				return nil
    42  			}
    43  			return append([]byte{}, x...)
    44  		})(o.VerifyKey),
    45  		KeyGeneration: o.KeyGeneration,
    46  	}
    47  }
    48  
    49  type MessageBoxedVersion int
    50  
    51  const (
    52  	MessageBoxedVersion_VNONE MessageBoxedVersion = 0
    53  	MessageBoxedVersion_V1    MessageBoxedVersion = 1
    54  	MessageBoxedVersion_V2    MessageBoxedVersion = 2
    55  	MessageBoxedVersion_V3    MessageBoxedVersion = 3
    56  	MessageBoxedVersion_V4    MessageBoxedVersion = 4
    57  )
    58  
    59  func (o MessageBoxedVersion) DeepCopy() MessageBoxedVersion { return o }
    60  
    61  var MessageBoxedVersionMap = map[string]MessageBoxedVersion{
    62  	"VNONE": 0,
    63  	"V1":    1,
    64  	"V2":    2,
    65  	"V3":    3,
    66  	"V4":    4,
    67  }
    68  
    69  var MessageBoxedVersionRevMap = map[MessageBoxedVersion]string{
    70  	0: "VNONE",
    71  	1: "V1",
    72  	2: "V2",
    73  	3: "V3",
    74  	4: "V4",
    75  }
    76  
    77  func (e MessageBoxedVersion) String() string {
    78  	if v, ok := MessageBoxedVersionRevMap[e]; ok {
    79  		return v
    80  	}
    81  	return fmt.Sprintf("%v", int(e))
    82  }
    83  
    84  type ThreadViewBoxed struct {
    85  	Messages   []MessageBoxed `codec:"messages" json:"messages"`
    86  	Pagination *Pagination    `codec:"pagination,omitempty" json:"pagination,omitempty"`
    87  }
    88  
    89  func (o ThreadViewBoxed) DeepCopy() ThreadViewBoxed {
    90  	return ThreadViewBoxed{
    91  		Messages: (func(x []MessageBoxed) []MessageBoxed {
    92  			if x == nil {
    93  				return nil
    94  			}
    95  			ret := make([]MessageBoxed, len(x))
    96  			for i, v := range x {
    97  				vCopy := v.DeepCopy()
    98  				ret[i] = vCopy
    99  			}
   100  			return ret
   101  		})(o.Messages),
   102  		Pagination: (func(x *Pagination) *Pagination {
   103  			if x == nil {
   104  				return nil
   105  			}
   106  			tmp := (*x).DeepCopy()
   107  			return &tmp
   108  		})(o.Pagination),
   109  	}
   110  }
   111  
   112  type GetInboxRemoteRes struct {
   113  	Inbox     InboxView  `codec:"inbox" json:"inbox"`
   114  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   115  }
   116  
   117  func (o GetInboxRemoteRes) DeepCopy() GetInboxRemoteRes {
   118  	return GetInboxRemoteRes{
   119  		Inbox: o.Inbox.DeepCopy(),
   120  		RateLimit: (func(x *RateLimit) *RateLimit {
   121  			if x == nil {
   122  				return nil
   123  			}
   124  			tmp := (*x).DeepCopy()
   125  			return &tmp
   126  		})(o.RateLimit),
   127  	}
   128  }
   129  
   130  type GetInboxByTLFIDRemoteRes struct {
   131  	Convs     []Conversation `codec:"convs" json:"convs"`
   132  	RateLimit *RateLimit     `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   133  }
   134  
   135  func (o GetInboxByTLFIDRemoteRes) DeepCopy() GetInboxByTLFIDRemoteRes {
   136  	return GetInboxByTLFIDRemoteRes{
   137  		Convs: (func(x []Conversation) []Conversation {
   138  			if x == nil {
   139  				return nil
   140  			}
   141  			ret := make([]Conversation, len(x))
   142  			for i, v := range x {
   143  				vCopy := v.DeepCopy()
   144  				ret[i] = vCopy
   145  			}
   146  			return ret
   147  		})(o.Convs),
   148  		RateLimit: (func(x *RateLimit) *RateLimit {
   149  			if x == nil {
   150  				return nil
   151  			}
   152  			tmp := (*x).DeepCopy()
   153  			return &tmp
   154  		})(o.RateLimit),
   155  	}
   156  }
   157  
   158  type GetThreadRemoteRes struct {
   159  	Thread      ThreadViewBoxed         `codec:"thread" json:"thread"`
   160  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
   161  	Visibility  keybase1.TLFVisibility  `codec:"visibility" json:"visibility"`
   162  	RateLimit   *RateLimit              `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   163  }
   164  
   165  func (o GetThreadRemoteRes) DeepCopy() GetThreadRemoteRes {
   166  	return GetThreadRemoteRes{
   167  		Thread:      o.Thread.DeepCopy(),
   168  		MembersType: o.MembersType.DeepCopy(),
   169  		Visibility:  o.Visibility.DeepCopy(),
   170  		RateLimit: (func(x *RateLimit) *RateLimit {
   171  			if x == nil {
   172  				return nil
   173  			}
   174  			tmp := (*x).DeepCopy()
   175  			return &tmp
   176  		})(o.RateLimit),
   177  	}
   178  }
   179  
   180  type GetConversationMetadataRemoteRes struct {
   181  	Conv      Conversation `codec:"conv" json:"conv"`
   182  	RateLimit *RateLimit   `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   183  }
   184  
   185  func (o GetConversationMetadataRemoteRes) DeepCopy() GetConversationMetadataRemoteRes {
   186  	return GetConversationMetadataRemoteRes{
   187  		Conv: o.Conv.DeepCopy(),
   188  		RateLimit: (func(x *RateLimit) *RateLimit {
   189  			if x == nil {
   190  				return nil
   191  			}
   192  			tmp := (*x).DeepCopy()
   193  			return &tmp
   194  		})(o.RateLimit),
   195  	}
   196  }
   197  
   198  type PostRemoteRes struct {
   199  	MsgHeader MessageServerHeader `codec:"msgHeader" json:"msgHeader"`
   200  	RateLimit *RateLimit          `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   201  }
   202  
   203  func (o PostRemoteRes) DeepCopy() PostRemoteRes {
   204  	return PostRemoteRes{
   205  		MsgHeader: o.MsgHeader.DeepCopy(),
   206  		RateLimit: (func(x *RateLimit) *RateLimit {
   207  			if x == nil {
   208  				return nil
   209  			}
   210  			tmp := (*x).DeepCopy()
   211  			return &tmp
   212  		})(o.RateLimit),
   213  	}
   214  }
   215  
   216  type NewConversationRemoteRes struct {
   217  	ConvID             ConversationID `codec:"convID" json:"convID"`
   218  	CreatedComplexTeam bool           `codec:"createdComplexTeam" json:"createdComplexTeam"`
   219  	RateLimit          *RateLimit     `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   220  }
   221  
   222  func (o NewConversationRemoteRes) DeepCopy() NewConversationRemoteRes {
   223  	return NewConversationRemoteRes{
   224  		ConvID:             o.ConvID.DeepCopy(),
   225  		CreatedComplexTeam: o.CreatedComplexTeam,
   226  		RateLimit: (func(x *RateLimit) *RateLimit {
   227  			if x == nil {
   228  				return nil
   229  			}
   230  			tmp := (*x).DeepCopy()
   231  			return &tmp
   232  		})(o.RateLimit),
   233  	}
   234  }
   235  
   236  type GetMessagesRemoteRes struct {
   237  	Msgs        []MessageBoxed          `codec:"msgs" json:"msgs"`
   238  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
   239  	Visibility  keybase1.TLFVisibility  `codec:"visibility" json:"visibility"`
   240  	RateLimit   *RateLimit              `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   241  }
   242  
   243  func (o GetMessagesRemoteRes) DeepCopy() GetMessagesRemoteRes {
   244  	return GetMessagesRemoteRes{
   245  		Msgs: (func(x []MessageBoxed) []MessageBoxed {
   246  			if x == nil {
   247  				return nil
   248  			}
   249  			ret := make([]MessageBoxed, len(x))
   250  			for i, v := range x {
   251  				vCopy := v.DeepCopy()
   252  				ret[i] = vCopy
   253  			}
   254  			return ret
   255  		})(o.Msgs),
   256  		MembersType: o.MembersType.DeepCopy(),
   257  		Visibility:  o.Visibility.DeepCopy(),
   258  		RateLimit: (func(x *RateLimit) *RateLimit {
   259  			if x == nil {
   260  				return nil
   261  			}
   262  			tmp := (*x).DeepCopy()
   263  			return &tmp
   264  		})(o.RateLimit),
   265  	}
   266  }
   267  
   268  type MarkAsReadRes struct {
   269  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   270  }
   271  
   272  func (o MarkAsReadRes) DeepCopy() MarkAsReadRes {
   273  	return MarkAsReadRes{
   274  		RateLimit: (func(x *RateLimit) *RateLimit {
   275  			if x == nil {
   276  				return nil
   277  			}
   278  			tmp := (*x).DeepCopy()
   279  			return &tmp
   280  		})(o.RateLimit),
   281  	}
   282  }
   283  
   284  type SetConversationStatusRes struct {
   285  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   286  }
   287  
   288  func (o SetConversationStatusRes) DeepCopy() SetConversationStatusRes {
   289  	return SetConversationStatusRes{
   290  		RateLimit: (func(x *RateLimit) *RateLimit {
   291  			if x == nil {
   292  				return nil
   293  			}
   294  			tmp := (*x).DeepCopy()
   295  			return &tmp
   296  		})(o.RateLimit),
   297  	}
   298  }
   299  
   300  type GetPublicConversationsRes struct {
   301  	Conversations []Conversation `codec:"conversations" json:"conversations"`
   302  	RateLimit     *RateLimit     `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   303  }
   304  
   305  func (o GetPublicConversationsRes) DeepCopy() GetPublicConversationsRes {
   306  	return GetPublicConversationsRes{
   307  		Conversations: (func(x []Conversation) []Conversation {
   308  			if x == nil {
   309  				return nil
   310  			}
   311  			ret := make([]Conversation, len(x))
   312  			for i, v := range x {
   313  				vCopy := v.DeepCopy()
   314  				ret[i] = vCopy
   315  			}
   316  			return ret
   317  		})(o.Conversations),
   318  		RateLimit: (func(x *RateLimit) *RateLimit {
   319  			if x == nil {
   320  				return nil
   321  			}
   322  			tmp := (*x).DeepCopy()
   323  			return &tmp
   324  		})(o.RateLimit),
   325  	}
   326  }
   327  
   328  type GetUnreadlineRemoteRes struct {
   329  	UnreadlineID *MessageID `codec:"unreadlineID,omitempty" json:"unreadlineID,omitempty"`
   330  	RateLimit    *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   331  }
   332  
   333  func (o GetUnreadlineRemoteRes) DeepCopy() GetUnreadlineRemoteRes {
   334  	return GetUnreadlineRemoteRes{
   335  		UnreadlineID: (func(x *MessageID) *MessageID {
   336  			if x == nil {
   337  				return nil
   338  			}
   339  			tmp := (*x).DeepCopy()
   340  			return &tmp
   341  		})(o.UnreadlineID),
   342  		RateLimit: (func(x *RateLimit) *RateLimit {
   343  			if x == nil {
   344  				return nil
   345  			}
   346  			tmp := (*x).DeepCopy()
   347  			return &tmp
   348  		})(o.RateLimit),
   349  	}
   350  }
   351  
   352  type ChannelMention int
   353  
   354  const (
   355  	ChannelMention_NONE ChannelMention = 0
   356  	ChannelMention_ALL  ChannelMention = 1
   357  	ChannelMention_HERE ChannelMention = 2
   358  )
   359  
   360  func (o ChannelMention) DeepCopy() ChannelMention { return o }
   361  
   362  var ChannelMentionMap = map[string]ChannelMention{
   363  	"NONE": 0,
   364  	"ALL":  1,
   365  	"HERE": 2,
   366  }
   367  
   368  var ChannelMentionRevMap = map[ChannelMention]string{
   369  	0: "NONE",
   370  	1: "ALL",
   371  	2: "HERE",
   372  }
   373  
   374  func (e ChannelMention) String() string {
   375  	if v, ok := ChannelMentionRevMap[e]; ok {
   376  		return v
   377  	}
   378  	return fmt.Sprintf("%v", int(e))
   379  }
   380  
   381  type UnreadUpdateFull struct {
   382  	Ignore          bool             `codec:"ignore" json:"ignore"`
   383  	InboxVers       InboxVers        `codec:"inboxVers" json:"inboxVers"`
   384  	InboxSyncStatus SyncInboxResType `codec:"inboxSyncStatus" json:"inboxSyncStatus"`
   385  	Updates         []UnreadUpdate   `codec:"updates" json:"updates"`
   386  }
   387  
   388  func (o UnreadUpdateFull) DeepCopy() UnreadUpdateFull {
   389  	return UnreadUpdateFull{
   390  		Ignore:          o.Ignore,
   391  		InboxVers:       o.InboxVers.DeepCopy(),
   392  		InboxSyncStatus: o.InboxSyncStatus.DeepCopy(),
   393  		Updates: (func(x []UnreadUpdate) []UnreadUpdate {
   394  			if x == nil {
   395  				return nil
   396  			}
   397  			ret := make([]UnreadUpdate, len(x))
   398  			for i, v := range x {
   399  				vCopy := v.DeepCopy()
   400  				ret[i] = vCopy
   401  			}
   402  			return ret
   403  		})(o.Updates),
   404  	}
   405  }
   406  
   407  type S3Params struct {
   408  	Bucket               string `codec:"bucket" json:"bucket"`
   409  	ObjectKey            string `codec:"objectKey" json:"objectKey"`
   410  	AccessKey            string `codec:"accessKey" json:"accessKey"`
   411  	Acl                  string `codec:"acl" json:"acl"`
   412  	RegionName           string `codec:"regionName" json:"regionName"`
   413  	RegionEndpoint       string `codec:"regionEndpoint" json:"regionEndpoint"`
   414  	RegionBucketEndpoint string `codec:"regionBucketEndpoint" json:"regionBucketEndpoint"`
   415  }
   416  
   417  func (o S3Params) DeepCopy() S3Params {
   418  	return S3Params{
   419  		Bucket:               o.Bucket,
   420  		ObjectKey:            o.ObjectKey,
   421  		AccessKey:            o.AccessKey,
   422  		Acl:                  o.Acl,
   423  		RegionName:           o.RegionName,
   424  		RegionEndpoint:       o.RegionEndpoint,
   425  		RegionBucketEndpoint: o.RegionBucketEndpoint,
   426  	}
   427  }
   428  
   429  type SyncIncrementalRes struct {
   430  	Vers  InboxVers      `codec:"vers" json:"vers"`
   431  	Convs []Conversation `codec:"convs" json:"convs"`
   432  }
   433  
   434  func (o SyncIncrementalRes) DeepCopy() SyncIncrementalRes {
   435  	return SyncIncrementalRes{
   436  		Vers: o.Vers.DeepCopy(),
   437  		Convs: (func(x []Conversation) []Conversation {
   438  			if x == nil {
   439  				return nil
   440  			}
   441  			ret := make([]Conversation, len(x))
   442  			for i, v := range x {
   443  				vCopy := v.DeepCopy()
   444  				ret[i] = vCopy
   445  			}
   446  			return ret
   447  		})(o.Convs),
   448  	}
   449  }
   450  
   451  type ServerCacheVers struct {
   452  	InboxVers  int `codec:"inboxVers" json:"inboxVers"`
   453  	BodiesVers int `codec:"bodiesVers" json:"bodiesVers"`
   454  }
   455  
   456  func (o ServerCacheVers) DeepCopy() ServerCacheVers {
   457  	return ServerCacheVers{
   458  		InboxVers:  o.InboxVers,
   459  		BodiesVers: o.BodiesVers,
   460  	}
   461  }
   462  
   463  type SyncInboxRes struct {
   464  	Typ__         SyncInboxResType    `codec:"typ" json:"typ"`
   465  	Incremental__ *SyncIncrementalRes `codec:"incremental,omitempty" json:"incremental,omitempty"`
   466  }
   467  
   468  func (o *SyncInboxRes) Typ() (ret SyncInboxResType, err error) {
   469  	switch o.Typ__ {
   470  	case SyncInboxResType_INCREMENTAL:
   471  		if o.Incremental__ == nil {
   472  			err = errors.New("unexpected nil value for Incremental__")
   473  			return ret, err
   474  		}
   475  	}
   476  	return o.Typ__, nil
   477  }
   478  
   479  func (o SyncInboxRes) Incremental() (res SyncIncrementalRes) {
   480  	if o.Typ__ != SyncInboxResType_INCREMENTAL {
   481  		panic("wrong case accessed")
   482  	}
   483  	if o.Incremental__ == nil {
   484  		return
   485  	}
   486  	return *o.Incremental__
   487  }
   488  
   489  func NewSyncInboxResWithCurrent() SyncInboxRes {
   490  	return SyncInboxRes{
   491  		Typ__: SyncInboxResType_CURRENT,
   492  	}
   493  }
   494  
   495  func NewSyncInboxResWithIncremental(v SyncIncrementalRes) SyncInboxRes {
   496  	return SyncInboxRes{
   497  		Typ__:         SyncInboxResType_INCREMENTAL,
   498  		Incremental__: &v,
   499  	}
   500  }
   501  
   502  func NewSyncInboxResWithClear() SyncInboxRes {
   503  	return SyncInboxRes{
   504  		Typ__: SyncInboxResType_CLEAR,
   505  	}
   506  }
   507  
   508  func (o SyncInboxRes) DeepCopy() SyncInboxRes {
   509  	return SyncInboxRes{
   510  		Typ__: o.Typ__.DeepCopy(),
   511  		Incremental__: (func(x *SyncIncrementalRes) *SyncIncrementalRes {
   512  			if x == nil {
   513  				return nil
   514  			}
   515  			tmp := (*x).DeepCopy()
   516  			return &tmp
   517  		})(o.Incremental__),
   518  	}
   519  }
   520  
   521  type SyncChatRes struct {
   522  	CacheVers ServerCacheVers `codec:"cacheVers" json:"cacheVers"`
   523  	InboxRes  SyncInboxRes    `codec:"inboxRes" json:"inboxRes"`
   524  }
   525  
   526  func (o SyncChatRes) DeepCopy() SyncChatRes {
   527  	return SyncChatRes{
   528  		CacheVers: o.CacheVers.DeepCopy(),
   529  		InboxRes:  o.InboxRes.DeepCopy(),
   530  	}
   531  }
   532  
   533  type SyncAllProtVers int
   534  
   535  const (
   536  	SyncAllProtVers_V0 SyncAllProtVers = 0
   537  	SyncAllProtVers_V1 SyncAllProtVers = 1
   538  )
   539  
   540  func (o SyncAllProtVers) DeepCopy() SyncAllProtVers { return o }
   541  
   542  var SyncAllProtVersMap = map[string]SyncAllProtVers{
   543  	"V0": 0,
   544  	"V1": 1,
   545  }
   546  
   547  var SyncAllProtVersRevMap = map[SyncAllProtVers]string{
   548  	0: "V0",
   549  	1: "V1",
   550  }
   551  
   552  func (e SyncAllProtVers) String() string {
   553  	if v, ok := SyncAllProtVersRevMap[e]; ok {
   554  		return v
   555  	}
   556  	return fmt.Sprintf("%v", int(e))
   557  }
   558  
   559  type SyncAllNotificationType int
   560  
   561  const (
   562  	SyncAllNotificationType_STATE       SyncAllNotificationType = 0
   563  	SyncAllNotificationType_INCREMENTAL SyncAllNotificationType = 1
   564  )
   565  
   566  func (o SyncAllNotificationType) DeepCopy() SyncAllNotificationType { return o }
   567  
   568  var SyncAllNotificationTypeMap = map[string]SyncAllNotificationType{
   569  	"STATE":       0,
   570  	"INCREMENTAL": 1,
   571  }
   572  
   573  var SyncAllNotificationTypeRevMap = map[SyncAllNotificationType]string{
   574  	0: "STATE",
   575  	1: "INCREMENTAL",
   576  }
   577  
   578  func (e SyncAllNotificationType) String() string {
   579  	if v, ok := SyncAllNotificationTypeRevMap[e]; ok {
   580  		return v
   581  	}
   582  	return fmt.Sprintf("%v", int(e))
   583  }
   584  
   585  type SyncAllNotificationRes struct {
   586  	Typ__         SyncAllNotificationType `codec:"typ" json:"typ"`
   587  	State__       *gregor1.State          `codec:"state,omitempty" json:"state,omitempty"`
   588  	Incremental__ *gregor1.SyncResult     `codec:"incremental,omitempty" json:"incremental,omitempty"`
   589  }
   590  
   591  func (o *SyncAllNotificationRes) Typ() (ret SyncAllNotificationType, err error) {
   592  	switch o.Typ__ {
   593  	case SyncAllNotificationType_STATE:
   594  		if o.State__ == nil {
   595  			err = errors.New("unexpected nil value for State__")
   596  			return ret, err
   597  		}
   598  	case SyncAllNotificationType_INCREMENTAL:
   599  		if o.Incremental__ == nil {
   600  			err = errors.New("unexpected nil value for Incremental__")
   601  			return ret, err
   602  		}
   603  	}
   604  	return o.Typ__, nil
   605  }
   606  
   607  func (o SyncAllNotificationRes) State() (res gregor1.State) {
   608  	if o.Typ__ != SyncAllNotificationType_STATE {
   609  		panic("wrong case accessed")
   610  	}
   611  	if o.State__ == nil {
   612  		return
   613  	}
   614  	return *o.State__
   615  }
   616  
   617  func (o SyncAllNotificationRes) Incremental() (res gregor1.SyncResult) {
   618  	if o.Typ__ != SyncAllNotificationType_INCREMENTAL {
   619  		panic("wrong case accessed")
   620  	}
   621  	if o.Incremental__ == nil {
   622  		return
   623  	}
   624  	return *o.Incremental__
   625  }
   626  
   627  func NewSyncAllNotificationResWithState(v gregor1.State) SyncAllNotificationRes {
   628  	return SyncAllNotificationRes{
   629  		Typ__:   SyncAllNotificationType_STATE,
   630  		State__: &v,
   631  	}
   632  }
   633  
   634  func NewSyncAllNotificationResWithIncremental(v gregor1.SyncResult) SyncAllNotificationRes {
   635  	return SyncAllNotificationRes{
   636  		Typ__:         SyncAllNotificationType_INCREMENTAL,
   637  		Incremental__: &v,
   638  	}
   639  }
   640  
   641  func (o SyncAllNotificationRes) DeepCopy() SyncAllNotificationRes {
   642  	return SyncAllNotificationRes{
   643  		Typ__: o.Typ__.DeepCopy(),
   644  		State__: (func(x *gregor1.State) *gregor1.State {
   645  			if x == nil {
   646  				return nil
   647  			}
   648  			tmp := (*x).DeepCopy()
   649  			return &tmp
   650  		})(o.State__),
   651  		Incremental__: (func(x *gregor1.SyncResult) *gregor1.SyncResult {
   652  			if x == nil {
   653  				return nil
   654  			}
   655  			tmp := (*x).DeepCopy()
   656  			return &tmp
   657  		})(o.Incremental__),
   658  	}
   659  }
   660  
   661  type SyncAllResult struct {
   662  	Auth         gregor1.AuthResult     `codec:"auth" json:"auth"`
   663  	Chat         SyncChatRes            `codec:"chat" json:"chat"`
   664  	Notification SyncAllNotificationRes `codec:"notification" json:"notification"`
   665  	Badge        UnreadUpdateFull       `codec:"badge" json:"badge"`
   666  }
   667  
   668  func (o SyncAllResult) DeepCopy() SyncAllResult {
   669  	return SyncAllResult{
   670  		Auth:         o.Auth.DeepCopy(),
   671  		Chat:         o.Chat.DeepCopy(),
   672  		Notification: o.Notification.DeepCopy(),
   673  		Badge:        o.Badge.DeepCopy(),
   674  	}
   675  }
   676  
   677  type JoinLeaveConversationRemoteRes struct {
   678  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   679  }
   680  
   681  func (o JoinLeaveConversationRemoteRes) DeepCopy() JoinLeaveConversationRemoteRes {
   682  	return JoinLeaveConversationRemoteRes{
   683  		RateLimit: (func(x *RateLimit) *RateLimit {
   684  			if x == nil {
   685  				return nil
   686  			}
   687  			tmp := (*x).DeepCopy()
   688  			return &tmp
   689  		})(o.RateLimit),
   690  	}
   691  }
   692  
   693  type DeleteConversationRemoteRes struct {
   694  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   695  }
   696  
   697  func (o DeleteConversationRemoteRes) DeepCopy() DeleteConversationRemoteRes {
   698  	return DeleteConversationRemoteRes{
   699  		RateLimit: (func(x *RateLimit) *RateLimit {
   700  			if x == nil {
   701  				return nil
   702  			}
   703  			tmp := (*x).DeepCopy()
   704  			return &tmp
   705  		})(o.RateLimit),
   706  	}
   707  }
   708  
   709  type RemoveFromConversationRemoteRes struct {
   710  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   711  }
   712  
   713  func (o RemoveFromConversationRemoteRes) DeepCopy() RemoveFromConversationRemoteRes {
   714  	return RemoveFromConversationRemoteRes{
   715  		RateLimit: (func(x *RateLimit) *RateLimit {
   716  			if x == nil {
   717  				return nil
   718  			}
   719  			tmp := (*x).DeepCopy()
   720  			return &tmp
   721  		})(o.RateLimit),
   722  	}
   723  }
   724  
   725  type GetMessageBeforeRes struct {
   726  	MsgID     MessageID  `codec:"msgID" json:"msgID"`
   727  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   728  }
   729  
   730  func (o GetMessageBeforeRes) DeepCopy() GetMessageBeforeRes {
   731  	return GetMessageBeforeRes{
   732  		MsgID: o.MsgID.DeepCopy(),
   733  		RateLimit: (func(x *RateLimit) *RateLimit {
   734  			if x == nil {
   735  				return nil
   736  			}
   737  			tmp := (*x).DeepCopy()
   738  			return &tmp
   739  		})(o.RateLimit),
   740  	}
   741  }
   742  
   743  type GetTLFConversationsRes struct {
   744  	Conversations []Conversation `codec:"conversations" json:"conversations"`
   745  	RateLimit     *RateLimit     `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   746  }
   747  
   748  func (o GetTLFConversationsRes) DeepCopy() GetTLFConversationsRes {
   749  	return GetTLFConversationsRes{
   750  		Conversations: (func(x []Conversation) []Conversation {
   751  			if x == nil {
   752  				return nil
   753  			}
   754  			ret := make([]Conversation, len(x))
   755  			for i, v := range x {
   756  				vCopy := v.DeepCopy()
   757  				ret[i] = vCopy
   758  			}
   759  			return ret
   760  		})(o.Conversations),
   761  		RateLimit: (func(x *RateLimit) *RateLimit {
   762  			if x == nil {
   763  				return nil
   764  			}
   765  			tmp := (*x).DeepCopy()
   766  			return &tmp
   767  		})(o.RateLimit),
   768  	}
   769  }
   770  
   771  type SetAppNotificationSettingsRes struct {
   772  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   773  }
   774  
   775  func (o SetAppNotificationSettingsRes) DeepCopy() SetAppNotificationSettingsRes {
   776  	return SetAppNotificationSettingsRes{
   777  		RateLimit: (func(x *RateLimit) *RateLimit {
   778  			if x == nil {
   779  				return nil
   780  			}
   781  			tmp := (*x).DeepCopy()
   782  			return &tmp
   783  		})(o.RateLimit),
   784  	}
   785  }
   786  
   787  type SetRetentionRes struct {
   788  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   789  }
   790  
   791  func (o SetRetentionRes) DeepCopy() SetRetentionRes {
   792  	return SetRetentionRes{
   793  		RateLimit: (func(x *RateLimit) *RateLimit {
   794  			if x == nil {
   795  				return nil
   796  			}
   797  			tmp := (*x).DeepCopy()
   798  			return &tmp
   799  		})(o.RateLimit),
   800  	}
   801  }
   802  
   803  type SetConvMinWriterRoleRes struct {
   804  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   805  }
   806  
   807  func (o SetConvMinWriterRoleRes) DeepCopy() SetConvMinWriterRoleRes {
   808  	return SetConvMinWriterRoleRes{
   809  		RateLimit: (func(x *RateLimit) *RateLimit {
   810  			if x == nil {
   811  				return nil
   812  			}
   813  			tmp := (*x).DeepCopy()
   814  			return &tmp
   815  		})(o.RateLimit),
   816  	}
   817  }
   818  
   819  type SweepRes struct {
   820  	FoundTask       bool    `codec:"foundTask" json:"foundTask"`
   821  	DeletedMessages bool    `codec:"deletedMessages" json:"deletedMessages"`
   822  	Expunge         Expunge `codec:"expunge" json:"expunge"`
   823  }
   824  
   825  func (o SweepRes) DeepCopy() SweepRes {
   826  	return SweepRes{
   827  		FoundTask:       o.FoundTask,
   828  		DeletedMessages: o.DeletedMessages,
   829  		Expunge:         o.Expunge.DeepCopy(),
   830  	}
   831  }
   832  
   833  type ServerNowRes struct {
   834  	RateLimit *RateLimit   `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
   835  	Now       gregor1.Time `codec:"now" json:"now"`
   836  }
   837  
   838  func (o ServerNowRes) DeepCopy() ServerNowRes {
   839  	return ServerNowRes{
   840  		RateLimit: (func(x *RateLimit) *RateLimit {
   841  			if x == nil {
   842  				return nil
   843  			}
   844  			tmp := (*x).DeepCopy()
   845  			return &tmp
   846  		})(o.RateLimit),
   847  		Now: o.Now.DeepCopy(),
   848  	}
   849  }
   850  
   851  type ExternalAPIKeyTyp int
   852  
   853  const (
   854  	ExternalAPIKeyTyp_GOOGLEMAPS ExternalAPIKeyTyp = 0
   855  	ExternalAPIKeyTyp_GIPHY      ExternalAPIKeyTyp = 1
   856  )
   857  
   858  func (o ExternalAPIKeyTyp) DeepCopy() ExternalAPIKeyTyp { return o }
   859  
   860  var ExternalAPIKeyTypMap = map[string]ExternalAPIKeyTyp{
   861  	"GOOGLEMAPS": 0,
   862  	"GIPHY":      1,
   863  }
   864  
   865  var ExternalAPIKeyTypRevMap = map[ExternalAPIKeyTyp]string{
   866  	0: "GOOGLEMAPS",
   867  	1: "GIPHY",
   868  }
   869  
   870  func (e ExternalAPIKeyTyp) String() string {
   871  	if v, ok := ExternalAPIKeyTypRevMap[e]; ok {
   872  		return v
   873  	}
   874  	return fmt.Sprintf("%v", int(e))
   875  }
   876  
   877  type ExternalAPIKey struct {
   878  	Typ__        ExternalAPIKeyTyp `codec:"typ" json:"typ"`
   879  	Googlemaps__ *string           `codec:"googlemaps,omitempty" json:"googlemaps,omitempty"`
   880  	Giphy__      *string           `codec:"giphy,omitempty" json:"giphy,omitempty"`
   881  }
   882  
   883  func (o *ExternalAPIKey) Typ() (ret ExternalAPIKeyTyp, err error) {
   884  	switch o.Typ__ {
   885  	case ExternalAPIKeyTyp_GOOGLEMAPS:
   886  		if o.Googlemaps__ == nil {
   887  			err = errors.New("unexpected nil value for Googlemaps__")
   888  			return ret, err
   889  		}
   890  	case ExternalAPIKeyTyp_GIPHY:
   891  		if o.Giphy__ == nil {
   892  			err = errors.New("unexpected nil value for Giphy__")
   893  			return ret, err
   894  		}
   895  	}
   896  	return o.Typ__, nil
   897  }
   898  
   899  func (o ExternalAPIKey) Googlemaps() (res string) {
   900  	if o.Typ__ != ExternalAPIKeyTyp_GOOGLEMAPS {
   901  		panic("wrong case accessed")
   902  	}
   903  	if o.Googlemaps__ == nil {
   904  		return
   905  	}
   906  	return *o.Googlemaps__
   907  }
   908  
   909  func (o ExternalAPIKey) Giphy() (res string) {
   910  	if o.Typ__ != ExternalAPIKeyTyp_GIPHY {
   911  		panic("wrong case accessed")
   912  	}
   913  	if o.Giphy__ == nil {
   914  		return
   915  	}
   916  	return *o.Giphy__
   917  }
   918  
   919  func NewExternalAPIKeyWithGooglemaps(v string) ExternalAPIKey {
   920  	return ExternalAPIKey{
   921  		Typ__:        ExternalAPIKeyTyp_GOOGLEMAPS,
   922  		Googlemaps__: &v,
   923  	}
   924  }
   925  
   926  func NewExternalAPIKeyWithGiphy(v string) ExternalAPIKey {
   927  	return ExternalAPIKey{
   928  		Typ__:   ExternalAPIKeyTyp_GIPHY,
   929  		Giphy__: &v,
   930  	}
   931  }
   932  
   933  func (o ExternalAPIKey) DeepCopy() ExternalAPIKey {
   934  	return ExternalAPIKey{
   935  		Typ__: o.Typ__.DeepCopy(),
   936  		Googlemaps__: (func(x *string) *string {
   937  			if x == nil {
   938  				return nil
   939  			}
   940  			tmp := (*x)
   941  			return &tmp
   942  		})(o.Googlemaps__),
   943  		Giphy__: (func(x *string) *string {
   944  			if x == nil {
   945  				return nil
   946  			}
   947  			tmp := (*x)
   948  			return &tmp
   949  		})(o.Giphy__),
   950  	}
   951  }
   952  
   953  type BotInfoHashVers uint64
   954  
   955  func (o BotInfoHashVers) DeepCopy() BotInfoHashVers {
   956  	return o
   957  }
   958  
   959  type CommandConvVers uint64
   960  
   961  func (o CommandConvVers) DeepCopy() CommandConvVers {
   962  	return o
   963  }
   964  
   965  type RemoteBotCommandsAdvertisementPublic struct {
   966  	ConvID ConversationID `codec:"convID" json:"convID"`
   967  }
   968  
   969  func (o RemoteBotCommandsAdvertisementPublic) DeepCopy() RemoteBotCommandsAdvertisementPublic {
   970  	return RemoteBotCommandsAdvertisementPublic{
   971  		ConvID: o.ConvID.DeepCopy(),
   972  	}
   973  }
   974  
   975  type RemoteBotCommandsAdvertisementTLFID struct {
   976  	ConvID ConversationID `codec:"convID" json:"convID"`
   977  	TlfID  TLFID          `codec:"tlfID" json:"tlfID"`
   978  }
   979  
   980  func (o RemoteBotCommandsAdvertisementTLFID) DeepCopy() RemoteBotCommandsAdvertisementTLFID {
   981  	return RemoteBotCommandsAdvertisementTLFID{
   982  		ConvID: o.ConvID.DeepCopy(),
   983  		TlfID:  o.TlfID.DeepCopy(),
   984  	}
   985  }
   986  
   987  type RemoteBotCommandsAdvertisementConv struct {
   988  	ConvID          ConversationID `codec:"convID" json:"convID"`
   989  	AdvertiseConvID ConversationID `codec:"advertiseConvID" json:"advertiseConvID"`
   990  }
   991  
   992  func (o RemoteBotCommandsAdvertisementConv) DeepCopy() RemoteBotCommandsAdvertisementConv {
   993  	return RemoteBotCommandsAdvertisementConv{
   994  		ConvID:          o.ConvID.DeepCopy(),
   995  		AdvertiseConvID: o.AdvertiseConvID.DeepCopy(),
   996  	}
   997  }
   998  
   999  type RemoteBotCommandsAdvertisement struct {
  1000  	Typ__          BotCommandsAdvertisementTyp           `codec:"typ" json:"typ"`
  1001  	Public__       *RemoteBotCommandsAdvertisementPublic `codec:"public,omitempty" json:"public,omitempty"`
  1002  	TlfidMembers__ *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidMembers,omitempty" json:"tlfidMembers,omitempty"`
  1003  	TlfidConvs__   *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidConvs,omitempty" json:"tlfidConvs,omitempty"`
  1004  	Conv__         *RemoteBotCommandsAdvertisementConv   `codec:"conv,omitempty" json:"conv,omitempty"`
  1005  }
  1006  
  1007  func (o *RemoteBotCommandsAdvertisement) Typ() (ret BotCommandsAdvertisementTyp, err error) {
  1008  	switch o.Typ__ {
  1009  	case BotCommandsAdvertisementTyp_PUBLIC:
  1010  		if o.Public__ == nil {
  1011  			err = errors.New("unexpected nil value for Public__")
  1012  			return ret, err
  1013  		}
  1014  	case BotCommandsAdvertisementTyp_TLFID_MEMBERS:
  1015  		if o.TlfidMembers__ == nil {
  1016  			err = errors.New("unexpected nil value for TlfidMembers__")
  1017  			return ret, err
  1018  		}
  1019  	case BotCommandsAdvertisementTyp_TLFID_CONVS:
  1020  		if o.TlfidConvs__ == nil {
  1021  			err = errors.New("unexpected nil value for TlfidConvs__")
  1022  			return ret, err
  1023  		}
  1024  	case BotCommandsAdvertisementTyp_CONV:
  1025  		if o.Conv__ == nil {
  1026  			err = errors.New("unexpected nil value for Conv__")
  1027  			return ret, err
  1028  		}
  1029  	}
  1030  	return o.Typ__, nil
  1031  }
  1032  
  1033  func (o RemoteBotCommandsAdvertisement) Public() (res RemoteBotCommandsAdvertisementPublic) {
  1034  	if o.Typ__ != BotCommandsAdvertisementTyp_PUBLIC {
  1035  		panic("wrong case accessed")
  1036  	}
  1037  	if o.Public__ == nil {
  1038  		return
  1039  	}
  1040  	return *o.Public__
  1041  }
  1042  
  1043  func (o RemoteBotCommandsAdvertisement) TlfidMembers() (res RemoteBotCommandsAdvertisementTLFID) {
  1044  	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_MEMBERS {
  1045  		panic("wrong case accessed")
  1046  	}
  1047  	if o.TlfidMembers__ == nil {
  1048  		return
  1049  	}
  1050  	return *o.TlfidMembers__
  1051  }
  1052  
  1053  func (o RemoteBotCommandsAdvertisement) TlfidConvs() (res RemoteBotCommandsAdvertisementTLFID) {
  1054  	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_CONVS {
  1055  		panic("wrong case accessed")
  1056  	}
  1057  	if o.TlfidConvs__ == nil {
  1058  		return
  1059  	}
  1060  	return *o.TlfidConvs__
  1061  }
  1062  
  1063  func (o RemoteBotCommandsAdvertisement) Conv() (res RemoteBotCommandsAdvertisementConv) {
  1064  	if o.Typ__ != BotCommandsAdvertisementTyp_CONV {
  1065  		panic("wrong case accessed")
  1066  	}
  1067  	if o.Conv__ == nil {
  1068  		return
  1069  	}
  1070  	return *o.Conv__
  1071  }
  1072  
  1073  func NewRemoteBotCommandsAdvertisementWithPublic(v RemoteBotCommandsAdvertisementPublic) RemoteBotCommandsAdvertisement {
  1074  	return RemoteBotCommandsAdvertisement{
  1075  		Typ__:    BotCommandsAdvertisementTyp_PUBLIC,
  1076  		Public__: &v,
  1077  	}
  1078  }
  1079  
  1080  func NewRemoteBotCommandsAdvertisementWithTlfidMembers(v RemoteBotCommandsAdvertisementTLFID) RemoteBotCommandsAdvertisement {
  1081  	return RemoteBotCommandsAdvertisement{
  1082  		Typ__:          BotCommandsAdvertisementTyp_TLFID_MEMBERS,
  1083  		TlfidMembers__: &v,
  1084  	}
  1085  }
  1086  
  1087  func NewRemoteBotCommandsAdvertisementWithTlfidConvs(v RemoteBotCommandsAdvertisementTLFID) RemoteBotCommandsAdvertisement {
  1088  	return RemoteBotCommandsAdvertisement{
  1089  		Typ__:        BotCommandsAdvertisementTyp_TLFID_CONVS,
  1090  		TlfidConvs__: &v,
  1091  	}
  1092  }
  1093  
  1094  func NewRemoteBotCommandsAdvertisementWithConv(v RemoteBotCommandsAdvertisementConv) RemoteBotCommandsAdvertisement {
  1095  	return RemoteBotCommandsAdvertisement{
  1096  		Typ__:  BotCommandsAdvertisementTyp_CONV,
  1097  		Conv__: &v,
  1098  	}
  1099  }
  1100  
  1101  func (o RemoteBotCommandsAdvertisement) DeepCopy() RemoteBotCommandsAdvertisement {
  1102  	return RemoteBotCommandsAdvertisement{
  1103  		Typ__: o.Typ__.DeepCopy(),
  1104  		Public__: (func(x *RemoteBotCommandsAdvertisementPublic) *RemoteBotCommandsAdvertisementPublic {
  1105  			if x == nil {
  1106  				return nil
  1107  			}
  1108  			tmp := (*x).DeepCopy()
  1109  			return &tmp
  1110  		})(o.Public__),
  1111  		TlfidMembers__: (func(x *RemoteBotCommandsAdvertisementTLFID) *RemoteBotCommandsAdvertisementTLFID {
  1112  			if x == nil {
  1113  				return nil
  1114  			}
  1115  			tmp := (*x).DeepCopy()
  1116  			return &tmp
  1117  		})(o.TlfidMembers__),
  1118  		TlfidConvs__: (func(x *RemoteBotCommandsAdvertisementTLFID) *RemoteBotCommandsAdvertisementTLFID {
  1119  			if x == nil {
  1120  				return nil
  1121  			}
  1122  			tmp := (*x).DeepCopy()
  1123  			return &tmp
  1124  		})(o.TlfidConvs__),
  1125  		Conv__: (func(x *RemoteBotCommandsAdvertisementConv) *RemoteBotCommandsAdvertisementConv {
  1126  			if x == nil {
  1127  				return nil
  1128  			}
  1129  			tmp := (*x).DeepCopy()
  1130  			return &tmp
  1131  		})(o.Conv__),
  1132  	}
  1133  }
  1134  
  1135  type BotCommandConv struct {
  1136  	Uid               gregor1.UID                 `codec:"uid" json:"uid"`
  1137  	UntrustedTeamRole keybase1.TeamRole           `codec:"untrustedTeamRole" json:"untrustedTeamRole"`
  1138  	ConvID            ConversationID              `codec:"convID" json:"convID"`
  1139  	Vers              CommandConvVers             `codec:"vers" json:"vers"`
  1140  	Mtime             gregor1.Time                `codec:"mtime" json:"mtime"`
  1141  	Typ               BotCommandsAdvertisementTyp `codec:"typ" json:"typ"`
  1142  }
  1143  
  1144  func (o BotCommandConv) DeepCopy() BotCommandConv {
  1145  	return BotCommandConv{
  1146  		Uid:               o.Uid.DeepCopy(),
  1147  		UntrustedTeamRole: o.UntrustedTeamRole.DeepCopy(),
  1148  		ConvID:            o.ConvID.DeepCopy(),
  1149  		Vers:              o.Vers.DeepCopy(),
  1150  		Mtime:             o.Mtime.DeepCopy(),
  1151  		Typ:               o.Typ.DeepCopy(),
  1152  	}
  1153  }
  1154  
  1155  type BotInfo struct {
  1156  	ServerHashVers BotInfoHashVers  `codec:"serverHashVers" json:"serverHashVers"`
  1157  	ClientHashVers BotInfoHashVers  `codec:"clientHashVers" json:"clientHashVers"`
  1158  	CommandConvs   []BotCommandConv `codec:"commandConvs" json:"commandConvs"`
  1159  }
  1160  
  1161  func (o BotInfo) DeepCopy() BotInfo {
  1162  	return BotInfo{
  1163  		ServerHashVers: o.ServerHashVers.DeepCopy(),
  1164  		ClientHashVers: o.ClientHashVers.DeepCopy(),
  1165  		CommandConvs: (func(x []BotCommandConv) []BotCommandConv {
  1166  			if x == nil {
  1167  				return nil
  1168  			}
  1169  			ret := make([]BotCommandConv, len(x))
  1170  			for i, v := range x {
  1171  				vCopy := v.DeepCopy()
  1172  				ret[i] = vCopy
  1173  			}
  1174  			return ret
  1175  		})(o.CommandConvs),
  1176  	}
  1177  }
  1178  
  1179  type AdvertiseBotCommandsRes struct {
  1180  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1181  }
  1182  
  1183  func (o AdvertiseBotCommandsRes) DeepCopy() AdvertiseBotCommandsRes {
  1184  	return AdvertiseBotCommandsRes{
  1185  		RateLimit: (func(x *RateLimit) *RateLimit {
  1186  			if x == nil {
  1187  				return nil
  1188  			}
  1189  			tmp := (*x).DeepCopy()
  1190  			return &tmp
  1191  		})(o.RateLimit),
  1192  	}
  1193  }
  1194  
  1195  type RemoteClearBotCommandsFilterPublic struct {
  1196  }
  1197  
  1198  func (o RemoteClearBotCommandsFilterPublic) DeepCopy() RemoteClearBotCommandsFilterPublic {
  1199  	return RemoteClearBotCommandsFilterPublic{}
  1200  }
  1201  
  1202  type RemoteClearBotCommandsFilterTLFID struct {
  1203  	TlfID TLFID `codec:"tlfID" json:"tlfID"`
  1204  }
  1205  
  1206  func (o RemoteClearBotCommandsFilterTLFID) DeepCopy() RemoteClearBotCommandsFilterTLFID {
  1207  	return RemoteClearBotCommandsFilterTLFID{
  1208  		TlfID: o.TlfID.DeepCopy(),
  1209  	}
  1210  }
  1211  
  1212  type RemoteClearBotCommandsFilterConv struct {
  1213  	ConvID ConversationID `codec:"convID" json:"convID"`
  1214  }
  1215  
  1216  func (o RemoteClearBotCommandsFilterConv) DeepCopy() RemoteClearBotCommandsFilterConv {
  1217  	return RemoteClearBotCommandsFilterConv{
  1218  		ConvID: o.ConvID.DeepCopy(),
  1219  	}
  1220  }
  1221  
  1222  type RemoteClearBotCommandsFilter struct {
  1223  	Typ__          BotCommandsAdvertisementTyp         `codec:"typ" json:"typ"`
  1224  	Public__       *RemoteClearBotCommandsFilterPublic `codec:"public,omitempty" json:"public,omitempty"`
  1225  	TlfidMembers__ *RemoteClearBotCommandsFilterTLFID  `codec:"tlfidMembers,omitempty" json:"tlfidMembers,omitempty"`
  1226  	TlfidConvs__   *RemoteClearBotCommandsFilterTLFID  `codec:"tlfidConvs,omitempty" json:"tlfidConvs,omitempty"`
  1227  	Conv__         *RemoteClearBotCommandsFilterConv   `codec:"conv,omitempty" json:"conv,omitempty"`
  1228  }
  1229  
  1230  func (o *RemoteClearBotCommandsFilter) Typ() (ret BotCommandsAdvertisementTyp, err error) {
  1231  	switch o.Typ__ {
  1232  	case BotCommandsAdvertisementTyp_PUBLIC:
  1233  		if o.Public__ == nil {
  1234  			err = errors.New("unexpected nil value for Public__")
  1235  			return ret, err
  1236  		}
  1237  	case BotCommandsAdvertisementTyp_TLFID_MEMBERS:
  1238  		if o.TlfidMembers__ == nil {
  1239  			err = errors.New("unexpected nil value for TlfidMembers__")
  1240  			return ret, err
  1241  		}
  1242  	case BotCommandsAdvertisementTyp_TLFID_CONVS:
  1243  		if o.TlfidConvs__ == nil {
  1244  			err = errors.New("unexpected nil value for TlfidConvs__")
  1245  			return ret, err
  1246  		}
  1247  	case BotCommandsAdvertisementTyp_CONV:
  1248  		if o.Conv__ == nil {
  1249  			err = errors.New("unexpected nil value for Conv__")
  1250  			return ret, err
  1251  		}
  1252  	}
  1253  	return o.Typ__, nil
  1254  }
  1255  
  1256  func (o RemoteClearBotCommandsFilter) Public() (res RemoteClearBotCommandsFilterPublic) {
  1257  	if o.Typ__ != BotCommandsAdvertisementTyp_PUBLIC {
  1258  		panic("wrong case accessed")
  1259  	}
  1260  	if o.Public__ == nil {
  1261  		return
  1262  	}
  1263  	return *o.Public__
  1264  }
  1265  
  1266  func (o RemoteClearBotCommandsFilter) TlfidMembers() (res RemoteClearBotCommandsFilterTLFID) {
  1267  	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_MEMBERS {
  1268  		panic("wrong case accessed")
  1269  	}
  1270  	if o.TlfidMembers__ == nil {
  1271  		return
  1272  	}
  1273  	return *o.TlfidMembers__
  1274  }
  1275  
  1276  func (o RemoteClearBotCommandsFilter) TlfidConvs() (res RemoteClearBotCommandsFilterTLFID) {
  1277  	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_CONVS {
  1278  		panic("wrong case accessed")
  1279  	}
  1280  	if o.TlfidConvs__ == nil {
  1281  		return
  1282  	}
  1283  	return *o.TlfidConvs__
  1284  }
  1285  
  1286  func (o RemoteClearBotCommandsFilter) Conv() (res RemoteClearBotCommandsFilterConv) {
  1287  	if o.Typ__ != BotCommandsAdvertisementTyp_CONV {
  1288  		panic("wrong case accessed")
  1289  	}
  1290  	if o.Conv__ == nil {
  1291  		return
  1292  	}
  1293  	return *o.Conv__
  1294  }
  1295  
  1296  func NewRemoteClearBotCommandsFilterWithPublic(v RemoteClearBotCommandsFilterPublic) RemoteClearBotCommandsFilter {
  1297  	return RemoteClearBotCommandsFilter{
  1298  		Typ__:    BotCommandsAdvertisementTyp_PUBLIC,
  1299  		Public__: &v,
  1300  	}
  1301  }
  1302  
  1303  func NewRemoteClearBotCommandsFilterWithTlfidMembers(v RemoteClearBotCommandsFilterTLFID) RemoteClearBotCommandsFilter {
  1304  	return RemoteClearBotCommandsFilter{
  1305  		Typ__:          BotCommandsAdvertisementTyp_TLFID_MEMBERS,
  1306  		TlfidMembers__: &v,
  1307  	}
  1308  }
  1309  
  1310  func NewRemoteClearBotCommandsFilterWithTlfidConvs(v RemoteClearBotCommandsFilterTLFID) RemoteClearBotCommandsFilter {
  1311  	return RemoteClearBotCommandsFilter{
  1312  		Typ__:        BotCommandsAdvertisementTyp_TLFID_CONVS,
  1313  		TlfidConvs__: &v,
  1314  	}
  1315  }
  1316  
  1317  func NewRemoteClearBotCommandsFilterWithConv(v RemoteClearBotCommandsFilterConv) RemoteClearBotCommandsFilter {
  1318  	return RemoteClearBotCommandsFilter{
  1319  		Typ__:  BotCommandsAdvertisementTyp_CONV,
  1320  		Conv__: &v,
  1321  	}
  1322  }
  1323  
  1324  func (o RemoteClearBotCommandsFilter) DeepCopy() RemoteClearBotCommandsFilter {
  1325  	return RemoteClearBotCommandsFilter{
  1326  		Typ__: o.Typ__.DeepCopy(),
  1327  		Public__: (func(x *RemoteClearBotCommandsFilterPublic) *RemoteClearBotCommandsFilterPublic {
  1328  			if x == nil {
  1329  				return nil
  1330  			}
  1331  			tmp := (*x).DeepCopy()
  1332  			return &tmp
  1333  		})(o.Public__),
  1334  		TlfidMembers__: (func(x *RemoteClearBotCommandsFilterTLFID) *RemoteClearBotCommandsFilterTLFID {
  1335  			if x == nil {
  1336  				return nil
  1337  			}
  1338  			tmp := (*x).DeepCopy()
  1339  			return &tmp
  1340  		})(o.TlfidMembers__),
  1341  		TlfidConvs__: (func(x *RemoteClearBotCommandsFilterTLFID) *RemoteClearBotCommandsFilterTLFID {
  1342  			if x == nil {
  1343  				return nil
  1344  			}
  1345  			tmp := (*x).DeepCopy()
  1346  			return &tmp
  1347  		})(o.TlfidConvs__),
  1348  		Conv__: (func(x *RemoteClearBotCommandsFilterConv) *RemoteClearBotCommandsFilterConv {
  1349  			if x == nil {
  1350  				return nil
  1351  			}
  1352  			tmp := (*x).DeepCopy()
  1353  			return &tmp
  1354  		})(o.Conv__),
  1355  	}
  1356  }
  1357  
  1358  type ClearBotCommandsRes struct {
  1359  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1360  }
  1361  
  1362  func (o ClearBotCommandsRes) DeepCopy() ClearBotCommandsRes {
  1363  	return ClearBotCommandsRes{
  1364  		RateLimit: (func(x *RateLimit) *RateLimit {
  1365  			if x == nil {
  1366  				return nil
  1367  			}
  1368  			tmp := (*x).DeepCopy()
  1369  			return &tmp
  1370  		})(o.RateLimit),
  1371  	}
  1372  }
  1373  
  1374  type BotInfoResponseTyp int
  1375  
  1376  const (
  1377  	BotInfoResponseTyp_UPTODATE BotInfoResponseTyp = 0
  1378  	BotInfoResponseTyp_INFO     BotInfoResponseTyp = 1
  1379  )
  1380  
  1381  func (o BotInfoResponseTyp) DeepCopy() BotInfoResponseTyp { return o }
  1382  
  1383  var BotInfoResponseTypMap = map[string]BotInfoResponseTyp{
  1384  	"UPTODATE": 0,
  1385  	"INFO":     1,
  1386  }
  1387  
  1388  var BotInfoResponseTypRevMap = map[BotInfoResponseTyp]string{
  1389  	0: "UPTODATE",
  1390  	1: "INFO",
  1391  }
  1392  
  1393  func (e BotInfoResponseTyp) String() string {
  1394  	if v, ok := BotInfoResponseTypRevMap[e]; ok {
  1395  		return v
  1396  	}
  1397  	return fmt.Sprintf("%v", int(e))
  1398  }
  1399  
  1400  type BotInfoResponse struct {
  1401  	Typ__  BotInfoResponseTyp `codec:"typ" json:"typ"`
  1402  	Info__ *BotInfo           `codec:"info,omitempty" json:"info,omitempty"`
  1403  }
  1404  
  1405  func (o *BotInfoResponse) Typ() (ret BotInfoResponseTyp, err error) {
  1406  	switch o.Typ__ {
  1407  	case BotInfoResponseTyp_INFO:
  1408  		if o.Info__ == nil {
  1409  			err = errors.New("unexpected nil value for Info__")
  1410  			return ret, err
  1411  		}
  1412  	}
  1413  	return o.Typ__, nil
  1414  }
  1415  
  1416  func (o BotInfoResponse) Info() (res BotInfo) {
  1417  	if o.Typ__ != BotInfoResponseTyp_INFO {
  1418  		panic("wrong case accessed")
  1419  	}
  1420  	if o.Info__ == nil {
  1421  		return
  1422  	}
  1423  	return *o.Info__
  1424  }
  1425  
  1426  func NewBotInfoResponseWithUptodate() BotInfoResponse {
  1427  	return BotInfoResponse{
  1428  		Typ__: BotInfoResponseTyp_UPTODATE,
  1429  	}
  1430  }
  1431  
  1432  func NewBotInfoResponseWithInfo(v BotInfo) BotInfoResponse {
  1433  	return BotInfoResponse{
  1434  		Typ__:  BotInfoResponseTyp_INFO,
  1435  		Info__: &v,
  1436  	}
  1437  }
  1438  
  1439  func (o BotInfoResponse) DeepCopy() BotInfoResponse {
  1440  	return BotInfoResponse{
  1441  		Typ__: o.Typ__.DeepCopy(),
  1442  		Info__: (func(x *BotInfo) *BotInfo {
  1443  			if x == nil {
  1444  				return nil
  1445  			}
  1446  			tmp := (*x).DeepCopy()
  1447  			return &tmp
  1448  		})(o.Info__),
  1449  	}
  1450  }
  1451  
  1452  type GetBotInfoRes struct {
  1453  	Response  BotInfoResponse `codec:"response" json:"response"`
  1454  	RateLimit *RateLimit      `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1455  }
  1456  
  1457  func (o GetBotInfoRes) DeepCopy() GetBotInfoRes {
  1458  	return GetBotInfoRes{
  1459  		Response: o.Response.DeepCopy(),
  1460  		RateLimit: (func(x *RateLimit) *RateLimit {
  1461  			if x == nil {
  1462  				return nil
  1463  			}
  1464  			tmp := (*x).DeepCopy()
  1465  			return &tmp
  1466  		})(o.RateLimit),
  1467  	}
  1468  }
  1469  
  1470  type BotInfoHash []byte
  1471  
  1472  func (o BotInfoHash) DeepCopy() BotInfoHash {
  1473  	return (func(x []byte) []byte {
  1474  		if x == nil {
  1475  			return nil
  1476  		}
  1477  		return append([]byte{}, x...)
  1478  	})(o)
  1479  }
  1480  
  1481  type GetDefaultTeamChannelsRes struct {
  1482  	Convs     []ConversationID `codec:"convs" json:"convs"`
  1483  	RateLimit *RateLimit       `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1484  }
  1485  
  1486  func (o GetDefaultTeamChannelsRes) DeepCopy() GetDefaultTeamChannelsRes {
  1487  	return GetDefaultTeamChannelsRes{
  1488  		Convs: (func(x []ConversationID) []ConversationID {
  1489  			if x == nil {
  1490  				return nil
  1491  			}
  1492  			ret := make([]ConversationID, len(x))
  1493  			for i, v := range x {
  1494  				vCopy := v.DeepCopy()
  1495  				ret[i] = vCopy
  1496  			}
  1497  			return ret
  1498  		})(o.Convs),
  1499  		RateLimit: (func(x *RateLimit) *RateLimit {
  1500  			if x == nil {
  1501  				return nil
  1502  			}
  1503  			tmp := (*x).DeepCopy()
  1504  			return &tmp
  1505  		})(o.RateLimit),
  1506  	}
  1507  }
  1508  
  1509  type SetDefaultTeamChannelsRes struct {
  1510  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1511  }
  1512  
  1513  func (o SetDefaultTeamChannelsRes) DeepCopy() SetDefaultTeamChannelsRes {
  1514  	return SetDefaultTeamChannelsRes{
  1515  		RateLimit: (func(x *RateLimit) *RateLimit {
  1516  			if x == nil {
  1517  				return nil
  1518  			}
  1519  			tmp := (*x).DeepCopy()
  1520  			return &tmp
  1521  		})(o.RateLimit),
  1522  	}
  1523  }
  1524  
  1525  type GetRecentJoinsRes struct {
  1526  	NumJoins  int        `codec:"numJoins" json:"numJoins"`
  1527  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1528  }
  1529  
  1530  func (o GetRecentJoinsRes) DeepCopy() GetRecentJoinsRes {
  1531  	return GetRecentJoinsRes{
  1532  		NumJoins: o.NumJoins,
  1533  		RateLimit: (func(x *RateLimit) *RateLimit {
  1534  			if x == nil {
  1535  				return nil
  1536  			}
  1537  			tmp := (*x).DeepCopy()
  1538  			return &tmp
  1539  		})(o.RateLimit),
  1540  	}
  1541  }
  1542  
  1543  type RefreshParticipantsRemoteRes struct {
  1544  	HashMatch bool          `codec:"hashMatch" json:"hashMatch"`
  1545  	Uids      []gregor1.UID `codec:"uids" json:"uids"`
  1546  	Hash      string        `codec:"hash" json:"hash"`
  1547  	RateLimit *RateLimit    `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1548  }
  1549  
  1550  func (o RefreshParticipantsRemoteRes) DeepCopy() RefreshParticipantsRemoteRes {
  1551  	return RefreshParticipantsRemoteRes{
  1552  		HashMatch: o.HashMatch,
  1553  		Uids: (func(x []gregor1.UID) []gregor1.UID {
  1554  			if x == nil {
  1555  				return nil
  1556  			}
  1557  			ret := make([]gregor1.UID, len(x))
  1558  			for i, v := range x {
  1559  				vCopy := v.DeepCopy()
  1560  				ret[i] = vCopy
  1561  			}
  1562  			return ret
  1563  		})(o.Uids),
  1564  		Hash: o.Hash,
  1565  		RateLimit: (func(x *RateLimit) *RateLimit {
  1566  			if x == nil {
  1567  				return nil
  1568  			}
  1569  			tmp := (*x).DeepCopy()
  1570  			return &tmp
  1571  		})(o.RateLimit),
  1572  	}
  1573  }
  1574  
  1575  type GetLastActiveAtRes struct {
  1576  	LastActiveAt gregor1.Time `codec:"lastActiveAt" json:"lastActiveAt"`
  1577  	RateLimit    *RateLimit   `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1578  }
  1579  
  1580  func (o GetLastActiveAtRes) DeepCopy() GetLastActiveAtRes {
  1581  	return GetLastActiveAtRes{
  1582  		LastActiveAt: o.LastActiveAt.DeepCopy(),
  1583  		RateLimit: (func(x *RateLimit) *RateLimit {
  1584  			if x == nil {
  1585  				return nil
  1586  			}
  1587  			tmp := (*x).DeepCopy()
  1588  			return &tmp
  1589  		})(o.RateLimit),
  1590  	}
  1591  }
  1592  
  1593  type ResetConversationMember struct {
  1594  	ConvID ConversationID `codec:"convID" json:"convID"`
  1595  	Uid    gregor1.UID    `codec:"uid" json:"uid"`
  1596  }
  1597  
  1598  func (o ResetConversationMember) DeepCopy() ResetConversationMember {
  1599  	return ResetConversationMember{
  1600  		ConvID: o.ConvID.DeepCopy(),
  1601  		Uid:    o.Uid.DeepCopy(),
  1602  	}
  1603  }
  1604  
  1605  type GetResetConversationsRes struct {
  1606  	ResetConvs []ResetConversationMember `codec:"resetConvs" json:"resetConvs"`
  1607  	RateLimit  *RateLimit                `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  1608  }
  1609  
  1610  func (o GetResetConversationsRes) DeepCopy() GetResetConversationsRes {
  1611  	return GetResetConversationsRes{
  1612  		ResetConvs: (func(x []ResetConversationMember) []ResetConversationMember {
  1613  			if x == nil {
  1614  				return nil
  1615  			}
  1616  			ret := make([]ResetConversationMember, len(x))
  1617  			for i, v := range x {
  1618  				vCopy := v.DeepCopy()
  1619  				ret[i] = vCopy
  1620  			}
  1621  			return ret
  1622  		})(o.ResetConvs),
  1623  		RateLimit: (func(x *RateLimit) *RateLimit {
  1624  			if x == nil {
  1625  				return nil
  1626  			}
  1627  			tmp := (*x).DeepCopy()
  1628  			return &tmp
  1629  		})(o.RateLimit),
  1630  	}
  1631  }
  1632  
  1633  type GetInboxRemoteArg struct {
  1634  	Vers       InboxVers      `codec:"vers" json:"vers"`
  1635  	Query      *GetInboxQuery `codec:"query,omitempty" json:"query,omitempty"`
  1636  	Pagination *Pagination    `codec:"pagination,omitempty" json:"pagination,omitempty"`
  1637  }
  1638  
  1639  type GetThreadRemoteArg struct {
  1640  	ConversationID ConversationID  `codec:"conversationID" json:"conversationID"`
  1641  	Reason         GetThreadReason `codec:"reason" json:"reason"`
  1642  	Query          *GetThreadQuery `codec:"query,omitempty" json:"query,omitempty"`
  1643  	Pagination     *Pagination     `codec:"pagination,omitempty" json:"pagination,omitempty"`
  1644  }
  1645  
  1646  type GetUnreadlineRemoteArg struct {
  1647  	ConvID    ConversationID `codec:"convID" json:"convID"`
  1648  	ReadMsgID MessageID      `codec:"readMsgID" json:"readMsgID"`
  1649  }
  1650  
  1651  type GetPublicConversationsArg struct {
  1652  	TlfID            TLFID     `codec:"tlfID" json:"tlfID"`
  1653  	TopicType        TopicType `codec:"topicType" json:"topicType"`
  1654  	SummarizeMaxMsgs bool      `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"`
  1655  }
  1656  
  1657  type PostRemoteArg struct {
  1658  	ConversationID ConversationID            `codec:"conversationID" json:"conversationID"`
  1659  	MessageBoxed   MessageBoxed              `codec:"messageBoxed" json:"messageBoxed"`
  1660  	AtMentions     []gregor1.UID             `codec:"atMentions" json:"atMentions"`
  1661  	ChannelMention ChannelMention            `codec:"channelMention" json:"channelMention"`
  1662  	TopicNameState *TopicNameState           `codec:"topicNameState,omitempty" json:"topicNameState,omitempty"`
  1663  	JoinMentionsAs *ConversationMemberStatus `codec:"joinMentionsAs,omitempty" json:"joinMentionsAs,omitempty"`
  1664  }
  1665  
  1666  type NewConversationRemoteArg struct {
  1667  	IdTriple ConversationIDTriple `codec:"idTriple" json:"idTriple"`
  1668  }
  1669  
  1670  type NewConversationRemote2Arg struct {
  1671  	IdTriple         ConversationIDTriple    `codec:"idTriple" json:"idTriple"`
  1672  	TLFMessage       MessageBoxed            `codec:"TLFMessage" json:"TLFMessage"`
  1673  	MembersType      ConversationMembersType `codec:"membersType" json:"membersType"`
  1674  	TopicNameState   *TopicNameState         `codec:"topicNameState,omitempty" json:"topicNameState,omitempty"`
  1675  	MemberSourceConv *ConversationID         `codec:"memberSourceConv,omitempty" json:"memberSourceConv,omitempty"`
  1676  	RetentionPolicy  *RetentionPolicy        `codec:"retentionPolicy,omitempty" json:"retentionPolicy,omitempty"`
  1677  }
  1678  
  1679  type GetMessagesRemoteArg struct {
  1680  	ConversationID ConversationID   `codec:"conversationID" json:"conversationID"`
  1681  	ThreadReason   *GetThreadReason `codec:"threadReason,omitempty" json:"threadReason,omitempty"`
  1682  	MessageIDs     []MessageID      `codec:"messageIDs" json:"messageIDs"`
  1683  }
  1684  
  1685  type MarkAsReadArg struct {
  1686  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  1687  	MsgID          MessageID      `codec:"msgID" json:"msgID"`
  1688  	ForceUnread    bool           `codec:"forceUnread" json:"forceUnread"`
  1689  }
  1690  
  1691  type SetConversationStatusArg struct {
  1692  	ConversationID ConversationID     `codec:"conversationID" json:"conversationID"`
  1693  	Status         ConversationStatus `codec:"status" json:"status"`
  1694  }
  1695  
  1696  type GetUnreadUpdateFullArg struct {
  1697  	InboxVers InboxVers `codec:"inboxVers" json:"inboxVers"`
  1698  }
  1699  
  1700  type GetS3ParamsArg struct {
  1701  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  1702  }
  1703  
  1704  type S3SignArg struct {
  1705  	Version int    `codec:"version" json:"version"`
  1706  	Payload []byte `codec:"payload" json:"payload"`
  1707  }
  1708  
  1709  type GetInboxVersionArg struct {
  1710  	Uid gregor1.UID `codec:"uid" json:"uid"`
  1711  }
  1712  
  1713  type SyncInboxArg struct {
  1714  	Vers InboxVers `codec:"vers" json:"vers"`
  1715  }
  1716  
  1717  type SyncChatArg struct {
  1718  	Vers             InboxVers             `codec:"vers" json:"vers"`
  1719  	SummarizeMaxMsgs bool                  `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"`
  1720  	ParticipantsMode InboxParticipantsMode `codec:"participantsMode" json:"participantsMode"`
  1721  }
  1722  
  1723  type SyncAllArg struct {
  1724  	Uid              gregor1.UID           `codec:"uid" json:"uid"`
  1725  	DeviceID         gregor1.DeviceID      `codec:"deviceID" json:"deviceID"`
  1726  	Session          gregor1.SessionToken  `codec:"session" json:"session"`
  1727  	InboxVers        InboxVers             `codec:"inboxVers" json:"inboxVers"`
  1728  	Ctime            gregor1.Time          `codec:"ctime" json:"ctime"`
  1729  	Fresh            bool                  `codec:"fresh" json:"fresh"`
  1730  	ProtVers         SyncAllProtVers       `codec:"protVers" json:"protVers"`
  1731  	HostName         string                `codec:"hostName" json:"hostName"`
  1732  	SummarizeMaxMsgs bool                  `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"`
  1733  	ParticipantsMode InboxParticipantsMode `codec:"participantsMode" json:"participantsMode"`
  1734  }
  1735  
  1736  type TlfFinalizeArg struct {
  1737  	TlfID          TLFID         `codec:"tlfID" json:"tlfID"`
  1738  	ResetUser      string        `codec:"resetUser" json:"resetUser"`
  1739  	ResetDate      string        `codec:"resetDate" json:"resetDate"`
  1740  	ResetTimestamp gregor1.Time  `codec:"resetTimestamp" json:"resetTimestamp"`
  1741  	ResetFull      string        `codec:"resetFull" json:"resetFull"`
  1742  	ResetUID       *keybase1.UID `codec:"resetUID,omitempty" json:"resetUID,omitempty"`
  1743  }
  1744  
  1745  type TlfResolveArg struct {
  1746  	TlfID           TLFID         `codec:"tlfID" json:"tlfID"`
  1747  	ResolvedWriters []gregor1.UID `codec:"resolvedWriters" json:"resolvedWriters"`
  1748  	ResolvedReaders []gregor1.UID `codec:"resolvedReaders" json:"resolvedReaders"`
  1749  }
  1750  
  1751  type UpdateTypingRemoteArg struct {
  1752  	Uid      gregor1.UID      `codec:"uid" json:"uid"`
  1753  	DeviceID gregor1.DeviceID `codec:"deviceID" json:"deviceID"`
  1754  	ConvID   ConversationID   `codec:"convID" json:"convID"`
  1755  	Typing   bool             `codec:"typing" json:"typing"`
  1756  }
  1757  
  1758  type JoinConversationArg struct {
  1759  	ConvID ConversationID `codec:"convID" json:"convID"`
  1760  }
  1761  
  1762  type LeaveConversationArg struct {
  1763  	ConvID ConversationID `codec:"convID" json:"convID"`
  1764  }
  1765  
  1766  type PreviewConversationArg struct {
  1767  	ConvID ConversationID `codec:"convID" json:"convID"`
  1768  }
  1769  
  1770  type DeleteConversationArg struct {
  1771  	ConvID ConversationID `codec:"convID" json:"convID"`
  1772  }
  1773  
  1774  type RemoveFromConversationArg struct {
  1775  	ConvID ConversationID `codec:"convID" json:"convID"`
  1776  	Users  []gregor1.UID  `codec:"users" json:"users"`
  1777  }
  1778  
  1779  type GetMessageBeforeArg struct {
  1780  	ConvID ConversationID      `codec:"convID" json:"convID"`
  1781  	Age    gregor1.DurationSec `codec:"age" json:"age"`
  1782  }
  1783  
  1784  type GetTLFConversationsArg struct {
  1785  	TlfID            TLFID     `codec:"tlfID" json:"tlfID"`
  1786  	TopicType        TopicType `codec:"topicType" json:"topicType"`
  1787  	SummarizeMaxMsgs bool      `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"`
  1788  }
  1789  
  1790  type SetAppNotificationSettingsArg struct {
  1791  	ConvID   ConversationID               `codec:"convID" json:"convID"`
  1792  	Settings ConversationNotificationInfo `codec:"settings" json:"settings"`
  1793  }
  1794  
  1795  type SetGlobalAppNotificationSettingsArg struct {
  1796  	Settings GlobalAppNotificationSettings `codec:"settings" json:"settings"`
  1797  }
  1798  
  1799  type GetGlobalAppNotificationSettingsArg struct {
  1800  }
  1801  
  1802  type RemoteNotificationSuccessfulArg struct {
  1803  	AuthToken        gregor1.SessionToken `codec:"authToken" json:"authToken"`
  1804  	CompanionPushIDs []string             `codec:"companionPushIDs" json:"companionPushIDs"`
  1805  }
  1806  
  1807  type SetConvRetentionArg struct {
  1808  	ConvID       ConversationID  `codec:"convID" json:"convID"`
  1809  	Policy       RetentionPolicy `codec:"policy" json:"policy"`
  1810  	SweepChannel uint64          `codec:"sweepChannel" json:"sweepChannel"`
  1811  }
  1812  
  1813  type SetTeamRetentionArg struct {
  1814  	TeamID       keybase1.TeamID `codec:"teamID" json:"teamID"`
  1815  	Policy       RetentionPolicy `codec:"policy" json:"policy"`
  1816  	SweepChannel uint64          `codec:"sweepChannel" json:"sweepChannel"`
  1817  }
  1818  
  1819  type SetConvMinWriterRoleArg struct {
  1820  	ConvID ConversationID    `codec:"convID" json:"convID"`
  1821  	Role   keybase1.TeamRole `codec:"role" json:"role"`
  1822  }
  1823  
  1824  type RetentionSweepConvArg struct {
  1825  	ConvID ConversationID `codec:"convID" json:"convID"`
  1826  }
  1827  
  1828  type UpgradeKBFSToImpteamArg struct {
  1829  	TlfID  TLFID           `codec:"tlfID" json:"tlfID"`
  1830  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  1831  }
  1832  
  1833  type RegisterSharePostArg struct {
  1834  	ConvID   ConversationID   `codec:"convID" json:"convID"`
  1835  	DeviceID gregor1.DeviceID `codec:"deviceID" json:"deviceID"`
  1836  	OutboxID OutboxID         `codec:"outboxID" json:"outboxID"`
  1837  }
  1838  
  1839  type FailSharePostArg struct {
  1840  	ConvID   ConversationID   `codec:"convID" json:"convID"`
  1841  	DeviceID gregor1.DeviceID `codec:"deviceID" json:"deviceID"`
  1842  	OutboxID OutboxID         `codec:"outboxID" json:"outboxID"`
  1843  }
  1844  
  1845  type BroadcastGregorMessageToConvArg struct {
  1846  	ConvID ConversationID  `codec:"convID" json:"convID"`
  1847  	Msg    gregor1.Message `codec:"msg" json:"msg"`
  1848  }
  1849  
  1850  type TeamIDOfConvArg struct {
  1851  	ConvID ConversationID `codec:"convID" json:"convID"`
  1852  }
  1853  
  1854  type ServerNowArg struct {
  1855  }
  1856  
  1857  type GetExternalAPIKeysArg struct {
  1858  	Typs []ExternalAPIKeyTyp `codec:"typs" json:"typs"`
  1859  }
  1860  
  1861  type AdvertiseBotCommandsArg struct {
  1862  	Ads []RemoteBotCommandsAdvertisement `codec:"ads" json:"ads"`
  1863  }
  1864  
  1865  type ClearBotCommandsArg struct {
  1866  	Filter *RemoteClearBotCommandsFilter `codec:"filter,omitempty" json:"filter,omitempty"`
  1867  }
  1868  
  1869  type GetBotInfoArg struct {
  1870  	ConvID         ConversationID  `codec:"convID" json:"convID"`
  1871  	InfoHash       BotInfoHash     `codec:"infoHash" json:"infoHash"`
  1872  	ClientHashVers BotInfoHashVers `codec:"clientHashVers" json:"clientHashVers"`
  1873  }
  1874  
  1875  type GetDefaultTeamChannelsArg struct {
  1876  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  1877  }
  1878  
  1879  type SetDefaultTeamChannelsArg struct {
  1880  	TeamID keybase1.TeamID  `codec:"teamID" json:"teamID"`
  1881  	Convs  []ConversationID `codec:"convs" json:"convs"`
  1882  }
  1883  
  1884  type GetRecentJoinsArg struct {
  1885  	ConvID ConversationID `codec:"convID" json:"convID"`
  1886  }
  1887  
  1888  type RefreshParticipantsRemoteArg struct {
  1889  	ConvID ConversationID `codec:"convID" json:"convID"`
  1890  	Hash   string         `codec:"hash" json:"hash"`
  1891  }
  1892  
  1893  type GetLastActiveAtArg struct {
  1894  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  1895  	Uid    gregor1.UID     `codec:"uid" json:"uid"`
  1896  }
  1897  
  1898  type GetResetConversationsArg struct {
  1899  }
  1900  
  1901  type RemoteInterface interface {
  1902  	GetInboxRemote(context.Context, GetInboxRemoteArg) (GetInboxRemoteRes, error)
  1903  	GetThreadRemote(context.Context, GetThreadRemoteArg) (GetThreadRemoteRes, error)
  1904  	GetUnreadlineRemote(context.Context, GetUnreadlineRemoteArg) (GetUnreadlineRemoteRes, error)
  1905  	GetPublicConversations(context.Context, GetPublicConversationsArg) (GetPublicConversationsRes, error)
  1906  	PostRemote(context.Context, PostRemoteArg) (PostRemoteRes, error)
  1907  	NewConversationRemote(context.Context, ConversationIDTriple) (NewConversationRemoteRes, error)
  1908  	NewConversationRemote2(context.Context, NewConversationRemote2Arg) (NewConversationRemoteRes, error)
  1909  	GetMessagesRemote(context.Context, GetMessagesRemoteArg) (GetMessagesRemoteRes, error)
  1910  	MarkAsRead(context.Context, MarkAsReadArg) (MarkAsReadRes, error)
  1911  	SetConversationStatus(context.Context, SetConversationStatusArg) (SetConversationStatusRes, error)
  1912  	GetUnreadUpdateFull(context.Context, InboxVers) (UnreadUpdateFull, error)
  1913  	GetS3Params(context.Context, ConversationID) (S3Params, error)
  1914  	S3Sign(context.Context, S3SignArg) ([]byte, error)
  1915  	GetInboxVersion(context.Context, gregor1.UID) (InboxVers, error)
  1916  	SyncInbox(context.Context, InboxVers) (SyncInboxRes, error)
  1917  	SyncChat(context.Context, SyncChatArg) (SyncChatRes, error)
  1918  	SyncAll(context.Context, SyncAllArg) (SyncAllResult, error)
  1919  	TlfFinalize(context.Context, TlfFinalizeArg) error
  1920  	TlfResolve(context.Context, TlfResolveArg) error
  1921  	UpdateTypingRemote(context.Context, UpdateTypingRemoteArg) error
  1922  	JoinConversation(context.Context, ConversationID) (JoinLeaveConversationRemoteRes, error)
  1923  	LeaveConversation(context.Context, ConversationID) (JoinLeaveConversationRemoteRes, error)
  1924  	PreviewConversation(context.Context, ConversationID) (JoinLeaveConversationRemoteRes, error)
  1925  	DeleteConversation(context.Context, ConversationID) (DeleteConversationRemoteRes, error)
  1926  	RemoveFromConversation(context.Context, RemoveFromConversationArg) (RemoveFromConversationRemoteRes, error)
  1927  	GetMessageBefore(context.Context, GetMessageBeforeArg) (GetMessageBeforeRes, error)
  1928  	GetTLFConversations(context.Context, GetTLFConversationsArg) (GetTLFConversationsRes, error)
  1929  	SetAppNotificationSettings(context.Context, SetAppNotificationSettingsArg) (SetAppNotificationSettingsRes, error)
  1930  	SetGlobalAppNotificationSettings(context.Context, GlobalAppNotificationSettings) error
  1931  	GetGlobalAppNotificationSettings(context.Context) (GlobalAppNotificationSettings, error)
  1932  	RemoteNotificationSuccessful(context.Context, RemoteNotificationSuccessfulArg) error
  1933  	SetConvRetention(context.Context, SetConvRetentionArg) (SetRetentionRes, error)
  1934  	SetTeamRetention(context.Context, SetTeamRetentionArg) (SetRetentionRes, error)
  1935  	SetConvMinWriterRole(context.Context, SetConvMinWriterRoleArg) (SetConvMinWriterRoleRes, error)
  1936  	RetentionSweepConv(context.Context, ConversationID) (SweepRes, error)
  1937  	UpgradeKBFSToImpteam(context.Context, UpgradeKBFSToImpteamArg) error
  1938  	RegisterSharePost(context.Context, RegisterSharePostArg) error
  1939  	FailSharePost(context.Context, FailSharePostArg) error
  1940  	BroadcastGregorMessageToConv(context.Context, BroadcastGregorMessageToConvArg) error
  1941  	TeamIDOfConv(context.Context, ConversationID) (*keybase1.TeamID, error)
  1942  	ServerNow(context.Context) (ServerNowRes, error)
  1943  	GetExternalAPIKeys(context.Context, []ExternalAPIKeyTyp) ([]ExternalAPIKey, error)
  1944  	AdvertiseBotCommands(context.Context, []RemoteBotCommandsAdvertisement) (AdvertiseBotCommandsRes, error)
  1945  	ClearBotCommands(context.Context, *RemoteClearBotCommandsFilter) (ClearBotCommandsRes, error)
  1946  	GetBotInfo(context.Context, GetBotInfoArg) (GetBotInfoRes, error)
  1947  	GetDefaultTeamChannels(context.Context, keybase1.TeamID) (GetDefaultTeamChannelsRes, error)
  1948  	SetDefaultTeamChannels(context.Context, SetDefaultTeamChannelsArg) (SetDefaultTeamChannelsRes, error)
  1949  	GetRecentJoins(context.Context, ConversationID) (GetRecentJoinsRes, error)
  1950  	RefreshParticipantsRemote(context.Context, RefreshParticipantsRemoteArg) (RefreshParticipantsRemoteRes, error)
  1951  	GetLastActiveAt(context.Context, GetLastActiveAtArg) (GetLastActiveAtRes, error)
  1952  	GetResetConversations(context.Context) (GetResetConversationsRes, error)
  1953  }
  1954  
  1955  func RemoteProtocol(i RemoteInterface) rpc.Protocol {
  1956  	return rpc.Protocol{
  1957  		Name: "chat.1.remote",
  1958  		Methods: map[string]rpc.ServeHandlerDescription{
  1959  			"getInboxRemote": {
  1960  				MakeArg: func() interface{} {
  1961  					var ret [1]GetInboxRemoteArg
  1962  					return &ret
  1963  				},
  1964  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  1965  					typedArgs, ok := args.(*[1]GetInboxRemoteArg)
  1966  					if !ok {
  1967  						err = rpc.NewTypeError((*[1]GetInboxRemoteArg)(nil), args)
  1968  						return
  1969  					}
  1970  					ret, err = i.GetInboxRemote(ctx, typedArgs[0])
  1971  					return
  1972  				},
  1973  			},
  1974  			"getThreadRemote": {
  1975  				MakeArg: func() interface{} {
  1976  					var ret [1]GetThreadRemoteArg
  1977  					return &ret
  1978  				},
  1979  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  1980  					typedArgs, ok := args.(*[1]GetThreadRemoteArg)
  1981  					if !ok {
  1982  						err = rpc.NewTypeError((*[1]GetThreadRemoteArg)(nil), args)
  1983  						return
  1984  					}
  1985  					ret, err = i.GetThreadRemote(ctx, typedArgs[0])
  1986  					return
  1987  				},
  1988  			},
  1989  			"getUnreadlineRemote": {
  1990  				MakeArg: func() interface{} {
  1991  					var ret [1]GetUnreadlineRemoteArg
  1992  					return &ret
  1993  				},
  1994  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  1995  					typedArgs, ok := args.(*[1]GetUnreadlineRemoteArg)
  1996  					if !ok {
  1997  						err = rpc.NewTypeError((*[1]GetUnreadlineRemoteArg)(nil), args)
  1998  						return
  1999  					}
  2000  					ret, err = i.GetUnreadlineRemote(ctx, typedArgs[0])
  2001  					return
  2002  				},
  2003  			},
  2004  			"getPublicConversations": {
  2005  				MakeArg: func() interface{} {
  2006  					var ret [1]GetPublicConversationsArg
  2007  					return &ret
  2008  				},
  2009  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2010  					typedArgs, ok := args.(*[1]GetPublicConversationsArg)
  2011  					if !ok {
  2012  						err = rpc.NewTypeError((*[1]GetPublicConversationsArg)(nil), args)
  2013  						return
  2014  					}
  2015  					ret, err = i.GetPublicConversations(ctx, typedArgs[0])
  2016  					return
  2017  				},
  2018  			},
  2019  			"postRemote": {
  2020  				MakeArg: func() interface{} {
  2021  					var ret [1]PostRemoteArg
  2022  					return &ret
  2023  				},
  2024  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2025  					typedArgs, ok := args.(*[1]PostRemoteArg)
  2026  					if !ok {
  2027  						err = rpc.NewTypeError((*[1]PostRemoteArg)(nil), args)
  2028  						return
  2029  					}
  2030  					ret, err = i.PostRemote(ctx, typedArgs[0])
  2031  					return
  2032  				},
  2033  			},
  2034  			"newConversationRemote": {
  2035  				MakeArg: func() interface{} {
  2036  					var ret [1]NewConversationRemoteArg
  2037  					return &ret
  2038  				},
  2039  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2040  					typedArgs, ok := args.(*[1]NewConversationRemoteArg)
  2041  					if !ok {
  2042  						err = rpc.NewTypeError((*[1]NewConversationRemoteArg)(nil), args)
  2043  						return
  2044  					}
  2045  					ret, err = i.NewConversationRemote(ctx, typedArgs[0].IdTriple)
  2046  					return
  2047  				},
  2048  			},
  2049  			"newConversationRemote2": {
  2050  				MakeArg: func() interface{} {
  2051  					var ret [1]NewConversationRemote2Arg
  2052  					return &ret
  2053  				},
  2054  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2055  					typedArgs, ok := args.(*[1]NewConversationRemote2Arg)
  2056  					if !ok {
  2057  						err = rpc.NewTypeError((*[1]NewConversationRemote2Arg)(nil), args)
  2058  						return
  2059  					}
  2060  					ret, err = i.NewConversationRemote2(ctx, typedArgs[0])
  2061  					return
  2062  				},
  2063  			},
  2064  			"getMessagesRemote": {
  2065  				MakeArg: func() interface{} {
  2066  					var ret [1]GetMessagesRemoteArg
  2067  					return &ret
  2068  				},
  2069  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2070  					typedArgs, ok := args.(*[1]GetMessagesRemoteArg)
  2071  					if !ok {
  2072  						err = rpc.NewTypeError((*[1]GetMessagesRemoteArg)(nil), args)
  2073  						return
  2074  					}
  2075  					ret, err = i.GetMessagesRemote(ctx, typedArgs[0])
  2076  					return
  2077  				},
  2078  			},
  2079  			"markAsRead": {
  2080  				MakeArg: func() interface{} {
  2081  					var ret [1]MarkAsReadArg
  2082  					return &ret
  2083  				},
  2084  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2085  					typedArgs, ok := args.(*[1]MarkAsReadArg)
  2086  					if !ok {
  2087  						err = rpc.NewTypeError((*[1]MarkAsReadArg)(nil), args)
  2088  						return
  2089  					}
  2090  					ret, err = i.MarkAsRead(ctx, typedArgs[0])
  2091  					return
  2092  				},
  2093  			},
  2094  			"SetConversationStatus": {
  2095  				MakeArg: func() interface{} {
  2096  					var ret [1]SetConversationStatusArg
  2097  					return &ret
  2098  				},
  2099  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2100  					typedArgs, ok := args.(*[1]SetConversationStatusArg)
  2101  					if !ok {
  2102  						err = rpc.NewTypeError((*[1]SetConversationStatusArg)(nil), args)
  2103  						return
  2104  					}
  2105  					ret, err = i.SetConversationStatus(ctx, typedArgs[0])
  2106  					return
  2107  				},
  2108  			},
  2109  			"GetUnreadUpdateFull": {
  2110  				MakeArg: func() interface{} {
  2111  					var ret [1]GetUnreadUpdateFullArg
  2112  					return &ret
  2113  				},
  2114  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2115  					typedArgs, ok := args.(*[1]GetUnreadUpdateFullArg)
  2116  					if !ok {
  2117  						err = rpc.NewTypeError((*[1]GetUnreadUpdateFullArg)(nil), args)
  2118  						return
  2119  					}
  2120  					ret, err = i.GetUnreadUpdateFull(ctx, typedArgs[0].InboxVers)
  2121  					return
  2122  				},
  2123  			},
  2124  			"getS3Params": {
  2125  				MakeArg: func() interface{} {
  2126  					var ret [1]GetS3ParamsArg
  2127  					return &ret
  2128  				},
  2129  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2130  					typedArgs, ok := args.(*[1]GetS3ParamsArg)
  2131  					if !ok {
  2132  						err = rpc.NewTypeError((*[1]GetS3ParamsArg)(nil), args)
  2133  						return
  2134  					}
  2135  					ret, err = i.GetS3Params(ctx, typedArgs[0].ConversationID)
  2136  					return
  2137  				},
  2138  			},
  2139  			"s3Sign": {
  2140  				MakeArg: func() interface{} {
  2141  					var ret [1]S3SignArg
  2142  					return &ret
  2143  				},
  2144  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2145  					typedArgs, ok := args.(*[1]S3SignArg)
  2146  					if !ok {
  2147  						err = rpc.NewTypeError((*[1]S3SignArg)(nil), args)
  2148  						return
  2149  					}
  2150  					ret, err = i.S3Sign(ctx, typedArgs[0])
  2151  					return
  2152  				},
  2153  			},
  2154  			"getInboxVersion": {
  2155  				MakeArg: func() interface{} {
  2156  					var ret [1]GetInboxVersionArg
  2157  					return &ret
  2158  				},
  2159  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2160  					typedArgs, ok := args.(*[1]GetInboxVersionArg)
  2161  					if !ok {
  2162  						err = rpc.NewTypeError((*[1]GetInboxVersionArg)(nil), args)
  2163  						return
  2164  					}
  2165  					ret, err = i.GetInboxVersion(ctx, typedArgs[0].Uid)
  2166  					return
  2167  				},
  2168  			},
  2169  			"syncInbox": {
  2170  				MakeArg: func() interface{} {
  2171  					var ret [1]SyncInboxArg
  2172  					return &ret
  2173  				},
  2174  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2175  					typedArgs, ok := args.(*[1]SyncInboxArg)
  2176  					if !ok {
  2177  						err = rpc.NewTypeError((*[1]SyncInboxArg)(nil), args)
  2178  						return
  2179  					}
  2180  					ret, err = i.SyncInbox(ctx, typedArgs[0].Vers)
  2181  					return
  2182  				},
  2183  			},
  2184  			"syncChat": {
  2185  				MakeArg: func() interface{} {
  2186  					var ret [1]SyncChatArg
  2187  					return &ret
  2188  				},
  2189  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2190  					typedArgs, ok := args.(*[1]SyncChatArg)
  2191  					if !ok {
  2192  						err = rpc.NewTypeError((*[1]SyncChatArg)(nil), args)
  2193  						return
  2194  					}
  2195  					ret, err = i.SyncChat(ctx, typedArgs[0])
  2196  					return
  2197  				},
  2198  			},
  2199  			"syncAll": {
  2200  				MakeArg: func() interface{} {
  2201  					var ret [1]SyncAllArg
  2202  					return &ret
  2203  				},
  2204  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2205  					typedArgs, ok := args.(*[1]SyncAllArg)
  2206  					if !ok {
  2207  						err = rpc.NewTypeError((*[1]SyncAllArg)(nil), args)
  2208  						return
  2209  					}
  2210  					ret, err = i.SyncAll(ctx, typedArgs[0])
  2211  					return
  2212  				},
  2213  			},
  2214  			"tlfFinalize": {
  2215  				MakeArg: func() interface{} {
  2216  					var ret [1]TlfFinalizeArg
  2217  					return &ret
  2218  				},
  2219  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2220  					typedArgs, ok := args.(*[1]TlfFinalizeArg)
  2221  					if !ok {
  2222  						err = rpc.NewTypeError((*[1]TlfFinalizeArg)(nil), args)
  2223  						return
  2224  					}
  2225  					err = i.TlfFinalize(ctx, typedArgs[0])
  2226  					return
  2227  				},
  2228  			},
  2229  			"tlfResolve": {
  2230  				MakeArg: func() interface{} {
  2231  					var ret [1]TlfResolveArg
  2232  					return &ret
  2233  				},
  2234  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2235  					typedArgs, ok := args.(*[1]TlfResolveArg)
  2236  					if !ok {
  2237  						err = rpc.NewTypeError((*[1]TlfResolveArg)(nil), args)
  2238  						return
  2239  					}
  2240  					err = i.TlfResolve(ctx, typedArgs[0])
  2241  					return
  2242  				},
  2243  			},
  2244  			"updateTypingRemote": {
  2245  				MakeArg: func() interface{} {
  2246  					var ret [1]UpdateTypingRemoteArg
  2247  					return &ret
  2248  				},
  2249  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2250  					typedArgs, ok := args.(*[1]UpdateTypingRemoteArg)
  2251  					if !ok {
  2252  						err = rpc.NewTypeError((*[1]UpdateTypingRemoteArg)(nil), args)
  2253  						return
  2254  					}
  2255  					err = i.UpdateTypingRemote(ctx, typedArgs[0])
  2256  					return
  2257  				},
  2258  			},
  2259  			"joinConversation": {
  2260  				MakeArg: func() interface{} {
  2261  					var ret [1]JoinConversationArg
  2262  					return &ret
  2263  				},
  2264  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2265  					typedArgs, ok := args.(*[1]JoinConversationArg)
  2266  					if !ok {
  2267  						err = rpc.NewTypeError((*[1]JoinConversationArg)(nil), args)
  2268  						return
  2269  					}
  2270  					ret, err = i.JoinConversation(ctx, typedArgs[0].ConvID)
  2271  					return
  2272  				},
  2273  			},
  2274  			"leaveConversation": {
  2275  				MakeArg: func() interface{} {
  2276  					var ret [1]LeaveConversationArg
  2277  					return &ret
  2278  				},
  2279  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2280  					typedArgs, ok := args.(*[1]LeaveConversationArg)
  2281  					if !ok {
  2282  						err = rpc.NewTypeError((*[1]LeaveConversationArg)(nil), args)
  2283  						return
  2284  					}
  2285  					ret, err = i.LeaveConversation(ctx, typedArgs[0].ConvID)
  2286  					return
  2287  				},
  2288  			},
  2289  			"previewConversation": {
  2290  				MakeArg: func() interface{} {
  2291  					var ret [1]PreviewConversationArg
  2292  					return &ret
  2293  				},
  2294  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2295  					typedArgs, ok := args.(*[1]PreviewConversationArg)
  2296  					if !ok {
  2297  						err = rpc.NewTypeError((*[1]PreviewConversationArg)(nil), args)
  2298  						return
  2299  					}
  2300  					ret, err = i.PreviewConversation(ctx, typedArgs[0].ConvID)
  2301  					return
  2302  				},
  2303  			},
  2304  			"deleteConversation": {
  2305  				MakeArg: func() interface{} {
  2306  					var ret [1]DeleteConversationArg
  2307  					return &ret
  2308  				},
  2309  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2310  					typedArgs, ok := args.(*[1]DeleteConversationArg)
  2311  					if !ok {
  2312  						err = rpc.NewTypeError((*[1]DeleteConversationArg)(nil), args)
  2313  						return
  2314  					}
  2315  					ret, err = i.DeleteConversation(ctx, typedArgs[0].ConvID)
  2316  					return
  2317  				},
  2318  			},
  2319  			"removeFromConversation": {
  2320  				MakeArg: func() interface{} {
  2321  					var ret [1]RemoveFromConversationArg
  2322  					return &ret
  2323  				},
  2324  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2325  					typedArgs, ok := args.(*[1]RemoveFromConversationArg)
  2326  					if !ok {
  2327  						err = rpc.NewTypeError((*[1]RemoveFromConversationArg)(nil), args)
  2328  						return
  2329  					}
  2330  					ret, err = i.RemoveFromConversation(ctx, typedArgs[0])
  2331  					return
  2332  				},
  2333  			},
  2334  			"getMessageBefore": {
  2335  				MakeArg: func() interface{} {
  2336  					var ret [1]GetMessageBeforeArg
  2337  					return &ret
  2338  				},
  2339  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2340  					typedArgs, ok := args.(*[1]GetMessageBeforeArg)
  2341  					if !ok {
  2342  						err = rpc.NewTypeError((*[1]GetMessageBeforeArg)(nil), args)
  2343  						return
  2344  					}
  2345  					ret, err = i.GetMessageBefore(ctx, typedArgs[0])
  2346  					return
  2347  				},
  2348  			},
  2349  			"getTLFConversations": {
  2350  				MakeArg: func() interface{} {
  2351  					var ret [1]GetTLFConversationsArg
  2352  					return &ret
  2353  				},
  2354  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2355  					typedArgs, ok := args.(*[1]GetTLFConversationsArg)
  2356  					if !ok {
  2357  						err = rpc.NewTypeError((*[1]GetTLFConversationsArg)(nil), args)
  2358  						return
  2359  					}
  2360  					ret, err = i.GetTLFConversations(ctx, typedArgs[0])
  2361  					return
  2362  				},
  2363  			},
  2364  			"setAppNotificationSettings": {
  2365  				MakeArg: func() interface{} {
  2366  					var ret [1]SetAppNotificationSettingsArg
  2367  					return &ret
  2368  				},
  2369  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2370  					typedArgs, ok := args.(*[1]SetAppNotificationSettingsArg)
  2371  					if !ok {
  2372  						err = rpc.NewTypeError((*[1]SetAppNotificationSettingsArg)(nil), args)
  2373  						return
  2374  					}
  2375  					ret, err = i.SetAppNotificationSettings(ctx, typedArgs[0])
  2376  					return
  2377  				},
  2378  			},
  2379  			"setGlobalAppNotificationSettings": {
  2380  				MakeArg: func() interface{} {
  2381  					var ret [1]SetGlobalAppNotificationSettingsArg
  2382  					return &ret
  2383  				},
  2384  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2385  					typedArgs, ok := args.(*[1]SetGlobalAppNotificationSettingsArg)
  2386  					if !ok {
  2387  						err = rpc.NewTypeError((*[1]SetGlobalAppNotificationSettingsArg)(nil), args)
  2388  						return
  2389  					}
  2390  					err = i.SetGlobalAppNotificationSettings(ctx, typedArgs[0].Settings)
  2391  					return
  2392  				},
  2393  			},
  2394  			"getGlobalAppNotificationSettings": {
  2395  				MakeArg: func() interface{} {
  2396  					var ret [1]GetGlobalAppNotificationSettingsArg
  2397  					return &ret
  2398  				},
  2399  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2400  					ret, err = i.GetGlobalAppNotificationSettings(ctx)
  2401  					return
  2402  				},
  2403  			},
  2404  			"remoteNotificationSuccessful": {
  2405  				MakeArg: func() interface{} {
  2406  					var ret [1]RemoteNotificationSuccessfulArg
  2407  					return &ret
  2408  				},
  2409  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2410  					typedArgs, ok := args.(*[1]RemoteNotificationSuccessfulArg)
  2411  					if !ok {
  2412  						err = rpc.NewTypeError((*[1]RemoteNotificationSuccessfulArg)(nil), args)
  2413  						return
  2414  					}
  2415  					err = i.RemoteNotificationSuccessful(ctx, typedArgs[0])
  2416  					return
  2417  				},
  2418  			},
  2419  			"setConvRetention": {
  2420  				MakeArg: func() interface{} {
  2421  					var ret [1]SetConvRetentionArg
  2422  					return &ret
  2423  				},
  2424  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2425  					typedArgs, ok := args.(*[1]SetConvRetentionArg)
  2426  					if !ok {
  2427  						err = rpc.NewTypeError((*[1]SetConvRetentionArg)(nil), args)
  2428  						return
  2429  					}
  2430  					ret, err = i.SetConvRetention(ctx, typedArgs[0])
  2431  					return
  2432  				},
  2433  			},
  2434  			"setTeamRetention": {
  2435  				MakeArg: func() interface{} {
  2436  					var ret [1]SetTeamRetentionArg
  2437  					return &ret
  2438  				},
  2439  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2440  					typedArgs, ok := args.(*[1]SetTeamRetentionArg)
  2441  					if !ok {
  2442  						err = rpc.NewTypeError((*[1]SetTeamRetentionArg)(nil), args)
  2443  						return
  2444  					}
  2445  					ret, err = i.SetTeamRetention(ctx, typedArgs[0])
  2446  					return
  2447  				},
  2448  			},
  2449  			"setConvMinWriterRole": {
  2450  				MakeArg: func() interface{} {
  2451  					var ret [1]SetConvMinWriterRoleArg
  2452  					return &ret
  2453  				},
  2454  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2455  					typedArgs, ok := args.(*[1]SetConvMinWriterRoleArg)
  2456  					if !ok {
  2457  						err = rpc.NewTypeError((*[1]SetConvMinWriterRoleArg)(nil), args)
  2458  						return
  2459  					}
  2460  					ret, err = i.SetConvMinWriterRole(ctx, typedArgs[0])
  2461  					return
  2462  				},
  2463  			},
  2464  			"retentionSweepConv": {
  2465  				MakeArg: func() interface{} {
  2466  					var ret [1]RetentionSweepConvArg
  2467  					return &ret
  2468  				},
  2469  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2470  					typedArgs, ok := args.(*[1]RetentionSweepConvArg)
  2471  					if !ok {
  2472  						err = rpc.NewTypeError((*[1]RetentionSweepConvArg)(nil), args)
  2473  						return
  2474  					}
  2475  					ret, err = i.RetentionSweepConv(ctx, typedArgs[0].ConvID)
  2476  					return
  2477  				},
  2478  			},
  2479  			"upgradeKBFSToImpteam": {
  2480  				MakeArg: func() interface{} {
  2481  					var ret [1]UpgradeKBFSToImpteamArg
  2482  					return &ret
  2483  				},
  2484  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2485  					typedArgs, ok := args.(*[1]UpgradeKBFSToImpteamArg)
  2486  					if !ok {
  2487  						err = rpc.NewTypeError((*[1]UpgradeKBFSToImpteamArg)(nil), args)
  2488  						return
  2489  					}
  2490  					err = i.UpgradeKBFSToImpteam(ctx, typedArgs[0])
  2491  					return
  2492  				},
  2493  			},
  2494  			"registerSharePost": {
  2495  				MakeArg: func() interface{} {
  2496  					var ret [1]RegisterSharePostArg
  2497  					return &ret
  2498  				},
  2499  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2500  					typedArgs, ok := args.(*[1]RegisterSharePostArg)
  2501  					if !ok {
  2502  						err = rpc.NewTypeError((*[1]RegisterSharePostArg)(nil), args)
  2503  						return
  2504  					}
  2505  					err = i.RegisterSharePost(ctx, typedArgs[0])
  2506  					return
  2507  				},
  2508  			},
  2509  			"failSharePost": {
  2510  				MakeArg: func() interface{} {
  2511  					var ret [1]FailSharePostArg
  2512  					return &ret
  2513  				},
  2514  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2515  					typedArgs, ok := args.(*[1]FailSharePostArg)
  2516  					if !ok {
  2517  						err = rpc.NewTypeError((*[1]FailSharePostArg)(nil), args)
  2518  						return
  2519  					}
  2520  					err = i.FailSharePost(ctx, typedArgs[0])
  2521  					return
  2522  				},
  2523  			},
  2524  			"broadcastGregorMessageToConv": {
  2525  				MakeArg: func() interface{} {
  2526  					var ret [1]BroadcastGregorMessageToConvArg
  2527  					return &ret
  2528  				},
  2529  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2530  					typedArgs, ok := args.(*[1]BroadcastGregorMessageToConvArg)
  2531  					if !ok {
  2532  						err = rpc.NewTypeError((*[1]BroadcastGregorMessageToConvArg)(nil), args)
  2533  						return
  2534  					}
  2535  					err = i.BroadcastGregorMessageToConv(ctx, typedArgs[0])
  2536  					return
  2537  				},
  2538  			},
  2539  			"teamIDOfConv": {
  2540  				MakeArg: func() interface{} {
  2541  					var ret [1]TeamIDOfConvArg
  2542  					return &ret
  2543  				},
  2544  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2545  					typedArgs, ok := args.(*[1]TeamIDOfConvArg)
  2546  					if !ok {
  2547  						err = rpc.NewTypeError((*[1]TeamIDOfConvArg)(nil), args)
  2548  						return
  2549  					}
  2550  					ret, err = i.TeamIDOfConv(ctx, typedArgs[0].ConvID)
  2551  					return
  2552  				},
  2553  			},
  2554  			"serverNow": {
  2555  				MakeArg: func() interface{} {
  2556  					var ret [1]ServerNowArg
  2557  					return &ret
  2558  				},
  2559  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2560  					ret, err = i.ServerNow(ctx)
  2561  					return
  2562  				},
  2563  			},
  2564  			"getExternalAPIKeys": {
  2565  				MakeArg: func() interface{} {
  2566  					var ret [1]GetExternalAPIKeysArg
  2567  					return &ret
  2568  				},
  2569  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2570  					typedArgs, ok := args.(*[1]GetExternalAPIKeysArg)
  2571  					if !ok {
  2572  						err = rpc.NewTypeError((*[1]GetExternalAPIKeysArg)(nil), args)
  2573  						return
  2574  					}
  2575  					ret, err = i.GetExternalAPIKeys(ctx, typedArgs[0].Typs)
  2576  					return
  2577  				},
  2578  			},
  2579  			"advertiseBotCommands": {
  2580  				MakeArg: func() interface{} {
  2581  					var ret [1]AdvertiseBotCommandsArg
  2582  					return &ret
  2583  				},
  2584  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2585  					typedArgs, ok := args.(*[1]AdvertiseBotCommandsArg)
  2586  					if !ok {
  2587  						err = rpc.NewTypeError((*[1]AdvertiseBotCommandsArg)(nil), args)
  2588  						return
  2589  					}
  2590  					ret, err = i.AdvertiseBotCommands(ctx, typedArgs[0].Ads)
  2591  					return
  2592  				},
  2593  			},
  2594  			"clearBotCommands": {
  2595  				MakeArg: func() interface{} {
  2596  					var ret [1]ClearBotCommandsArg
  2597  					return &ret
  2598  				},
  2599  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2600  					typedArgs, ok := args.(*[1]ClearBotCommandsArg)
  2601  					if !ok {
  2602  						err = rpc.NewTypeError((*[1]ClearBotCommandsArg)(nil), args)
  2603  						return
  2604  					}
  2605  					ret, err = i.ClearBotCommands(ctx, typedArgs[0].Filter)
  2606  					return
  2607  				},
  2608  			},
  2609  			"getBotInfo": {
  2610  				MakeArg: func() interface{} {
  2611  					var ret [1]GetBotInfoArg
  2612  					return &ret
  2613  				},
  2614  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2615  					typedArgs, ok := args.(*[1]GetBotInfoArg)
  2616  					if !ok {
  2617  						err = rpc.NewTypeError((*[1]GetBotInfoArg)(nil), args)
  2618  						return
  2619  					}
  2620  					ret, err = i.GetBotInfo(ctx, typedArgs[0])
  2621  					return
  2622  				},
  2623  			},
  2624  			"getDefaultTeamChannels": {
  2625  				MakeArg: func() interface{} {
  2626  					var ret [1]GetDefaultTeamChannelsArg
  2627  					return &ret
  2628  				},
  2629  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2630  					typedArgs, ok := args.(*[1]GetDefaultTeamChannelsArg)
  2631  					if !ok {
  2632  						err = rpc.NewTypeError((*[1]GetDefaultTeamChannelsArg)(nil), args)
  2633  						return
  2634  					}
  2635  					ret, err = i.GetDefaultTeamChannels(ctx, typedArgs[0].TeamID)
  2636  					return
  2637  				},
  2638  			},
  2639  			"setDefaultTeamChannels": {
  2640  				MakeArg: func() interface{} {
  2641  					var ret [1]SetDefaultTeamChannelsArg
  2642  					return &ret
  2643  				},
  2644  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2645  					typedArgs, ok := args.(*[1]SetDefaultTeamChannelsArg)
  2646  					if !ok {
  2647  						err = rpc.NewTypeError((*[1]SetDefaultTeamChannelsArg)(nil), args)
  2648  						return
  2649  					}
  2650  					ret, err = i.SetDefaultTeamChannels(ctx, typedArgs[0])
  2651  					return
  2652  				},
  2653  			},
  2654  			"getRecentJoins": {
  2655  				MakeArg: func() interface{} {
  2656  					var ret [1]GetRecentJoinsArg
  2657  					return &ret
  2658  				},
  2659  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2660  					typedArgs, ok := args.(*[1]GetRecentJoinsArg)
  2661  					if !ok {
  2662  						err = rpc.NewTypeError((*[1]GetRecentJoinsArg)(nil), args)
  2663  						return
  2664  					}
  2665  					ret, err = i.GetRecentJoins(ctx, typedArgs[0].ConvID)
  2666  					return
  2667  				},
  2668  			},
  2669  			"refreshParticipantsRemote": {
  2670  				MakeArg: func() interface{} {
  2671  					var ret [1]RefreshParticipantsRemoteArg
  2672  					return &ret
  2673  				},
  2674  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2675  					typedArgs, ok := args.(*[1]RefreshParticipantsRemoteArg)
  2676  					if !ok {
  2677  						err = rpc.NewTypeError((*[1]RefreshParticipantsRemoteArg)(nil), args)
  2678  						return
  2679  					}
  2680  					ret, err = i.RefreshParticipantsRemote(ctx, typedArgs[0])
  2681  					return
  2682  				},
  2683  			},
  2684  			"getLastActiveAt": {
  2685  				MakeArg: func() interface{} {
  2686  					var ret [1]GetLastActiveAtArg
  2687  					return &ret
  2688  				},
  2689  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2690  					typedArgs, ok := args.(*[1]GetLastActiveAtArg)
  2691  					if !ok {
  2692  						err = rpc.NewTypeError((*[1]GetLastActiveAtArg)(nil), args)
  2693  						return
  2694  					}
  2695  					ret, err = i.GetLastActiveAt(ctx, typedArgs[0])
  2696  					return
  2697  				},
  2698  			},
  2699  			"getResetConversations": {
  2700  				MakeArg: func() interface{} {
  2701  					var ret [1]GetResetConversationsArg
  2702  					return &ret
  2703  				},
  2704  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  2705  					ret, err = i.GetResetConversations(ctx)
  2706  					return
  2707  				},
  2708  			},
  2709  		},
  2710  	}
  2711  }
  2712  
  2713  type RemoteClient struct {
  2714  	Cli rpc.GenericClient
  2715  }
  2716  
  2717  func (c RemoteClient) GetInboxRemote(ctx context.Context, __arg GetInboxRemoteArg) (res GetInboxRemoteRes, err error) {
  2718  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 1200000*time.Millisecond)
  2719  	return
  2720  }
  2721  
  2722  func (c RemoteClient) GetThreadRemote(ctx context.Context, __arg GetThreadRemoteArg) (res GetThreadRemoteRes, err error) {
  2723  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getThreadRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2724  	return
  2725  }
  2726  
  2727  func (c RemoteClient) GetUnreadlineRemote(ctx context.Context, __arg GetUnreadlineRemoteArg) (res GetUnreadlineRemoteRes, err error) {
  2728  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getUnreadlineRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2729  	return
  2730  }
  2731  
  2732  func (c RemoteClient) GetPublicConversations(ctx context.Context, __arg GetPublicConversationsArg) (res GetPublicConversationsRes, err error) {
  2733  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getPublicConversations", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2734  	return
  2735  }
  2736  
  2737  func (c RemoteClient) PostRemote(ctx context.Context, __arg PostRemoteArg) (res PostRemoteRes, err error) {
  2738  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.postRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2739  	return
  2740  }
  2741  
  2742  func (c RemoteClient) NewConversationRemote(ctx context.Context, idTriple ConversationIDTriple) (res NewConversationRemoteRes, err error) {
  2743  	__arg := NewConversationRemoteArg{IdTriple: idTriple}
  2744  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2745  	return
  2746  }
  2747  
  2748  func (c RemoteClient) NewConversationRemote2(ctx context.Context, __arg NewConversationRemote2Arg) (res NewConversationRemoteRes, err error) {
  2749  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote2", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2750  	return
  2751  }
  2752  
  2753  func (c RemoteClient) GetMessagesRemote(ctx context.Context, __arg GetMessagesRemoteArg) (res GetMessagesRemoteRes, err error) {
  2754  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessagesRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2755  	return
  2756  }
  2757  
  2758  func (c RemoteClient) MarkAsRead(ctx context.Context, __arg MarkAsReadArg) (res MarkAsReadRes, err error) {
  2759  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.markAsRead", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2760  	return
  2761  }
  2762  
  2763  func (c RemoteClient) SetConversationStatus(ctx context.Context, __arg SetConversationStatusArg) (res SetConversationStatusRes, err error) {
  2764  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.SetConversationStatus", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2765  	return
  2766  }
  2767  
  2768  func (c RemoteClient) GetUnreadUpdateFull(ctx context.Context, inboxVers InboxVers) (res UnreadUpdateFull, err error) {
  2769  	__arg := GetUnreadUpdateFullArg{InboxVers: inboxVers}
  2770  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.GetUnreadUpdateFull", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2771  	return
  2772  }
  2773  
  2774  func (c RemoteClient) GetS3Params(ctx context.Context, conversationID ConversationID) (res S3Params, err error) {
  2775  	__arg := GetS3ParamsArg{ConversationID: conversationID}
  2776  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getS3Params", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2777  	return
  2778  }
  2779  
  2780  func (c RemoteClient) S3Sign(ctx context.Context, __arg S3SignArg) (res []byte, err error) {
  2781  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.s3Sign", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2782  	return
  2783  }
  2784  
  2785  func (c RemoteClient) GetInboxVersion(ctx context.Context, uid gregor1.UID) (res InboxVers, err error) {
  2786  	__arg := GetInboxVersionArg{Uid: uid}
  2787  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxVersion", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2788  	return
  2789  }
  2790  
  2791  func (c RemoteClient) SyncInbox(ctx context.Context, vers InboxVers) (res SyncInboxRes, err error) {
  2792  	__arg := SyncInboxArg{Vers: vers}
  2793  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncInbox", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2794  	return
  2795  }
  2796  
  2797  func (c RemoteClient) SyncChat(ctx context.Context, __arg SyncChatArg) (res SyncChatRes, err error) {
  2798  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncChat", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2799  	return
  2800  }
  2801  
  2802  func (c RemoteClient) SyncAll(ctx context.Context, __arg SyncAllArg) (res SyncAllResult, err error) {
  2803  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncAll", []interface{}{__arg}, &res, rpc.CompressionMsgpackzip, 0*time.Millisecond)
  2804  	return
  2805  }
  2806  
  2807  func (c RemoteClient) TlfFinalize(ctx context.Context, __arg TlfFinalizeArg) (err error) {
  2808  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfFinalize", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2809  	return
  2810  }
  2811  
  2812  func (c RemoteClient) TlfResolve(ctx context.Context, __arg TlfResolveArg) (err error) {
  2813  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfResolve", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2814  	return
  2815  }
  2816  
  2817  func (c RemoteClient) UpdateTypingRemote(ctx context.Context, __arg UpdateTypingRemoteArg) (err error) {
  2818  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.updateTypingRemote", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2819  	return
  2820  }
  2821  
  2822  func (c RemoteClient) JoinConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) {
  2823  	__arg := JoinConversationArg{ConvID: convID}
  2824  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.joinConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2825  	return
  2826  }
  2827  
  2828  func (c RemoteClient) LeaveConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) {
  2829  	__arg := LeaveConversationArg{ConvID: convID}
  2830  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.leaveConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2831  	return
  2832  }
  2833  
  2834  func (c RemoteClient) PreviewConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) {
  2835  	__arg := PreviewConversationArg{ConvID: convID}
  2836  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.previewConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2837  	return
  2838  }
  2839  
  2840  func (c RemoteClient) DeleteConversation(ctx context.Context, convID ConversationID) (res DeleteConversationRemoteRes, err error) {
  2841  	__arg := DeleteConversationArg{ConvID: convID}
  2842  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.deleteConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2843  	return
  2844  }
  2845  
  2846  func (c RemoteClient) RemoveFromConversation(ctx context.Context, __arg RemoveFromConversationArg) (res RemoveFromConversationRemoteRes, err error) {
  2847  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.removeFromConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2848  	return
  2849  }
  2850  
  2851  func (c RemoteClient) GetMessageBefore(ctx context.Context, __arg GetMessageBeforeArg) (res GetMessageBeforeRes, err error) {
  2852  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessageBefore", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2853  	return
  2854  }
  2855  
  2856  func (c RemoteClient) GetTLFConversations(ctx context.Context, __arg GetTLFConversationsArg) (res GetTLFConversationsRes, err error) {
  2857  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getTLFConversations", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2858  	return
  2859  }
  2860  
  2861  func (c RemoteClient) SetAppNotificationSettings(ctx context.Context, __arg SetAppNotificationSettingsArg) (res SetAppNotificationSettingsRes, err error) {
  2862  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setAppNotificationSettings", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2863  	return
  2864  }
  2865  
  2866  func (c RemoteClient) SetGlobalAppNotificationSettings(ctx context.Context, settings GlobalAppNotificationSettings) (err error) {
  2867  	__arg := SetGlobalAppNotificationSettingsArg{Settings: settings}
  2868  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setGlobalAppNotificationSettings", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2869  	return
  2870  }
  2871  
  2872  func (c RemoteClient) GetGlobalAppNotificationSettings(ctx context.Context) (res GlobalAppNotificationSettings, err error) {
  2873  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getGlobalAppNotificationSettings", []interface{}{GetGlobalAppNotificationSettingsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2874  	return
  2875  }
  2876  
  2877  func (c RemoteClient) RemoteNotificationSuccessful(ctx context.Context, __arg RemoteNotificationSuccessfulArg) (err error) {
  2878  	err = c.Cli.Call(ctx, "chat.1.remote.remoteNotificationSuccessful", []interface{}{__arg}, nil, 0*time.Millisecond)
  2879  	return
  2880  }
  2881  
  2882  func (c RemoteClient) SetConvRetention(ctx context.Context, __arg SetConvRetentionArg) (res SetRetentionRes, err error) {
  2883  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvRetention", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2884  	return
  2885  }
  2886  
  2887  func (c RemoteClient) SetTeamRetention(ctx context.Context, __arg SetTeamRetentionArg) (res SetRetentionRes, err error) {
  2888  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setTeamRetention", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2889  	return
  2890  }
  2891  
  2892  func (c RemoteClient) SetConvMinWriterRole(ctx context.Context, __arg SetConvMinWriterRoleArg) (res SetConvMinWriterRoleRes, err error) {
  2893  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvMinWriterRole", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2894  	return
  2895  }
  2896  
  2897  func (c RemoteClient) RetentionSweepConv(ctx context.Context, convID ConversationID) (res SweepRes, err error) {
  2898  	__arg := RetentionSweepConvArg{ConvID: convID}
  2899  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.retentionSweepConv", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2900  	return
  2901  }
  2902  
  2903  func (c RemoteClient) UpgradeKBFSToImpteam(ctx context.Context, __arg UpgradeKBFSToImpteamArg) (err error) {
  2904  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.upgradeKBFSToImpteam", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2905  	return
  2906  }
  2907  
  2908  func (c RemoteClient) RegisterSharePost(ctx context.Context, __arg RegisterSharePostArg) (err error) {
  2909  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.registerSharePost", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2910  	return
  2911  }
  2912  
  2913  func (c RemoteClient) FailSharePost(ctx context.Context, __arg FailSharePostArg) (err error) {
  2914  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.failSharePost", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2915  	return
  2916  }
  2917  
  2918  func (c RemoteClient) BroadcastGregorMessageToConv(ctx context.Context, __arg BroadcastGregorMessageToConvArg) (err error) {
  2919  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.broadcastGregorMessageToConv", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond)
  2920  	return
  2921  }
  2922  
  2923  func (c RemoteClient) TeamIDOfConv(ctx context.Context, convID ConversationID) (res *keybase1.TeamID, err error) {
  2924  	__arg := TeamIDOfConvArg{ConvID: convID}
  2925  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.teamIDOfConv", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2926  	return
  2927  }
  2928  
  2929  func (c RemoteClient) ServerNow(ctx context.Context) (res ServerNowRes, err error) {
  2930  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.serverNow", []interface{}{ServerNowArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2931  	return
  2932  }
  2933  
  2934  func (c RemoteClient) GetExternalAPIKeys(ctx context.Context, typs []ExternalAPIKeyTyp) (res []ExternalAPIKey, err error) {
  2935  	__arg := GetExternalAPIKeysArg{Typs: typs}
  2936  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getExternalAPIKeys", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2937  	return
  2938  }
  2939  
  2940  func (c RemoteClient) AdvertiseBotCommands(ctx context.Context, ads []RemoteBotCommandsAdvertisement) (res AdvertiseBotCommandsRes, err error) {
  2941  	__arg := AdvertiseBotCommandsArg{Ads: ads}
  2942  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.advertiseBotCommands", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2943  	return
  2944  }
  2945  
  2946  func (c RemoteClient) ClearBotCommands(ctx context.Context, filter *RemoteClearBotCommandsFilter) (res ClearBotCommandsRes, err error) {
  2947  	__arg := ClearBotCommandsArg{Filter: filter}
  2948  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.clearBotCommands", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2949  	return
  2950  }
  2951  
  2952  func (c RemoteClient) GetBotInfo(ctx context.Context, __arg GetBotInfoArg) (res GetBotInfoRes, err error) {
  2953  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getBotInfo", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2954  	return
  2955  }
  2956  
  2957  func (c RemoteClient) GetDefaultTeamChannels(ctx context.Context, teamID keybase1.TeamID) (res GetDefaultTeamChannelsRes, err error) {
  2958  	__arg := GetDefaultTeamChannelsArg{TeamID: teamID}
  2959  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getDefaultTeamChannels", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2960  	return
  2961  }
  2962  
  2963  func (c RemoteClient) SetDefaultTeamChannels(ctx context.Context, __arg SetDefaultTeamChannelsArg) (res SetDefaultTeamChannelsRes, err error) {
  2964  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.setDefaultTeamChannels", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2965  	return
  2966  }
  2967  
  2968  func (c RemoteClient) GetRecentJoins(ctx context.Context, convID ConversationID) (res GetRecentJoinsRes, err error) {
  2969  	__arg := GetRecentJoinsArg{ConvID: convID}
  2970  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getRecentJoins", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2971  	return
  2972  }
  2973  
  2974  func (c RemoteClient) RefreshParticipantsRemote(ctx context.Context, __arg RefreshParticipantsRemoteArg) (res RefreshParticipantsRemoteRes, err error) {
  2975  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.refreshParticipantsRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2976  	return
  2977  }
  2978  
  2979  func (c RemoteClient) GetLastActiveAt(ctx context.Context, __arg GetLastActiveAtArg) (res GetLastActiveAtRes, err error) {
  2980  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getLastActiveAt", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2981  	return
  2982  }
  2983  
  2984  func (c RemoteClient) GetResetConversations(ctx context.Context) (res GetResetConversationsRes, err error) {
  2985  	err = c.Cli.CallCompressed(ctx, "chat.1.remote.getResetConversations", []interface{}{GetResetConversationsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond)
  2986  	return
  2987  }