forked from lug/matterbridge
		
	Update dependencies / vendor (#1146)
This commit is contained in:
		| @@ -10,8 +10,8 @@ import ( | |||||||
|  |  | ||||||
| 	"github.com/42wim/matterbridge/bridge/config" | 	"github.com/42wim/matterbridge/bridge/config" | ||||||
| 	"github.com/42wim/matterbridge/bridge/helper" | 	"github.com/42wim/matterbridge/bridge/helper" | ||||||
| 	"github.com/dfordsoft/golib/ic" |  | ||||||
| 	"github.com/lrstanley/girc" | 	"github.com/lrstanley/girc" | ||||||
|  | 	"github.com/missdeer/golib/ic" | ||||||
| 	"github.com/paulrosania/go-charset/charset" | 	"github.com/paulrosania/go-charset/charset" | ||||||
| 	"github.com/saintfish/chardet" | 	"github.com/saintfish/chardet" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								go.mod
									
									
									
									
									
								
							| @@ -6,20 +6,19 @@ require ( | |||||||
| 	github.com/Jeffail/gabs v1.1.1 // indirect | 	github.com/Jeffail/gabs v1.1.1 // indirect | ||||||
| 	github.com/Philipp15b/go-steam v1.0.1-0.20190816133340-b04c5a83c1c0 | 	github.com/Philipp15b/go-steam v1.0.1-0.20190816133340-b04c5a83c1c0 | ||||||
| 	github.com/Rhymen/go-whatsapp v0.1.1-0.20200421062035-31e8111ac334 | 	github.com/Rhymen/go-whatsapp v0.1.1-0.20200421062035-31e8111ac334 | ||||||
| 	github.com/d5/tengo/v2 v2.1.2 | 	github.com/d5/tengo/v2 v2.4.2 | ||||||
| 	github.com/dfordsoft/golib v0.0.0-20180902042739-76ee6ab99bec | 	github.com/fsnotify/fsnotify v1.4.9 | ||||||
| 	github.com/fsnotify/fsnotify v1.4.7 |  | ||||||
| 	github.com/go-telegram-bot-api/telegram-bot-api v4.6.5-0.20181225215658-ec221ba9ea45+incompatible | 	github.com/go-telegram-bot-api/telegram-bot-api v4.6.5-0.20181225215658-ec221ba9ea45+incompatible | ||||||
| 	github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497 | 	github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497 | ||||||
| 	github.com/google/gops v0.3.6 | 	github.com/google/gops v0.3.6 | ||||||
| 	github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4 // indirect | 	github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4 // indirect | ||||||
| 	github.com/gorilla/schema v1.1.0 | 	github.com/gorilla/schema v1.1.0 | ||||||
| 	github.com/gorilla/websocket v1.4.1 | 	github.com/gorilla/websocket v1.4.2 | ||||||
| 	github.com/hashicorp/golang-lru v0.5.3 | 	github.com/hashicorp/golang-lru v0.5.4 | ||||||
| 	github.com/hpcloud/tail v1.0.0 // indirect | 	github.com/hpcloud/tail v1.0.0 // indirect | ||||||
| 	github.com/jpillora/backoff v1.0.0 | 	github.com/jpillora/backoff v1.0.0 | ||||||
| 	github.com/keybase/go-keybase-chat-bot v0.0.0-20200226211841-4e48f3eaef3e | 	github.com/keybase/go-keybase-chat-bot v0.0.0-20200505163032-5cacf52379da | ||||||
| 	github.com/labstack/echo/v4 v4.1.13 | 	github.com/labstack/echo/v4 v4.1.16 | ||||||
| 	github.com/lrstanley/girc v0.0.0-20190801035559-4fc93959e1a7 | 	github.com/lrstanley/girc v0.0.0-20190801035559-4fc93959e1a7 | ||||||
| 	github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20200411204219-d5c18ce75048 | 	github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20200411204219-d5c18ce75048 | ||||||
| 	github.com/matterbridge/discordgo v0.18.1-0.20200308151012-aa40f01cbcc3 | 	github.com/matterbridge/discordgo v0.18.1-0.20200308151012-aa40f01cbcc3 | ||||||
| @@ -29,9 +28,9 @@ require ( | |||||||
| 	github.com/matterbridge/gozulipbot v0.0.0-20190212232658-7aa251978a18 | 	github.com/matterbridge/gozulipbot v0.0.0-20190212232658-7aa251978a18 | ||||||
| 	github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61 | 	github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61 | ||||||
| 	github.com/mattermost/mattermost-server v5.5.0+incompatible | 	github.com/mattermost/mattermost-server v5.5.0+incompatible | ||||||
| 	github.com/mattn/go-runewidth v0.0.7 // indirect | 	github.com/mattn/godown v0.0.0-20200217152941-afc959f6a561 | ||||||
| 	github.com/mattn/godown v0.0.0-20180312012330-2e9e17e0ea51 |  | ||||||
| 	github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect | 	github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect | ||||||
|  | 	github.com/missdeer/golib v1.0.3 | ||||||
| 	github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474 // indirect | 	github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474 // indirect | ||||||
| 	github.com/mrexodia/wray v0.0.0-20160318003008-78a2c1f284ff // indirect | 	github.com/mrexodia/wray v0.0.0-20160318003008-78a2c1f284ff // indirect | ||||||
| 	github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9 | 	github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9 | ||||||
| @@ -44,20 +43,19 @@ require ( | |||||||
| 	github.com/russross/blackfriday v1.5.2 | 	github.com/russross/blackfriday v1.5.2 | ||||||
| 	github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca | 	github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca | ||||||
| 	github.com/shazow/ssh-chat v1.8.3-0.20200308224626-80ddf1f43a98 | 	github.com/shazow/ssh-chat v1.8.3-0.20200308224626-80ddf1f43a98 | ||||||
| 	github.com/sirupsen/logrus v1.4.2 | 	github.com/sirupsen/logrus v1.6.0 | ||||||
| 	github.com/slack-go/slack v0.6.3 | 	github.com/slack-go/slack v0.6.4 | ||||||
| 	github.com/spf13/viper v1.6.1 | 	github.com/spf13/viper v1.7.0 | ||||||
| 	github.com/stretchr/testify v1.4.0 | 	github.com/stretchr/testify v1.5.1 | ||||||
| 	github.com/technoweenie/multipartstreamer v1.0.1 // indirect | 	github.com/technoweenie/multipartstreamer v1.0.1 // indirect | ||||||
| 	github.com/writeas/go-strip-markdown v2.0.1+incompatible | 	github.com/writeas/go-strip-markdown v2.0.1+incompatible | ||||||
| 	github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect | 	github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect | ||||||
| 	github.com/yaegashi/msgraph.go v0.1.2 | 	github.com/yaegashi/msgraph.go v0.1.2 | ||||||
| 	github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447 | 	github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2 | ||||||
| 	golang.org/x/image v0.0.0-20191214001246-9130b4cfad52 | 	golang.org/x/image v0.0.0-20200430140353-33d19683fad8 | ||||||
| 	golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d | 	golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d | ||||||
| 	gopkg.in/fsnotify.v1 v1.4.7 // indirect | 	gopkg.in/fsnotify.v1 v1.4.7 // indirect | ||||||
| 	gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect | 	gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect | ||||||
| 	github.com/writeas/go-strip-markdown v2.0.1+incompatible |  | ||||||
| 	gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect | 	gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect | ||||||
| ) | ) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										244
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										244
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,11 +1,23 @@ | |||||||
| cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||||
| cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||||
|  | cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= | ||||||
|  | cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= | ||||||
|  | cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= | ||||||
|  | cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= | ||||||
|  | cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= | ||||||
|  | cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= | ||||||
|  | cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= | ||||||
|  | cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= | ||||||
|  | cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= | ||||||
|  | cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= | ||||||
|  | dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= | ||||||
| github.com/42wim/go-gitter v0.0.0-20170828205020-017310c2d557 h1:IZtuWGfzQnKnCSu+vl8WGLhpVQ5Uvy3rlSwqXSg+sQg= | github.com/42wim/go-gitter v0.0.0-20170828205020-017310c2d557 h1:IZtuWGfzQnKnCSu+vl8WGLhpVQ5Uvy3rlSwqXSg+sQg= | ||||||
| github.com/42wim/go-gitter v0.0.0-20170828205020-017310c2d557/go.mod h1:jL0YSXMs/txjtGJ4PWrmETOk6KUHMDPMshgQZlTeB3Y= | github.com/42wim/go-gitter v0.0.0-20170828205020-017310c2d557/go.mod h1:jL0YSXMs/txjtGJ4PWrmETOk6KUHMDPMshgQZlTeB3Y= | ||||||
| github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII= | github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII= | ||||||
| github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk= | github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk= | ||||||
| github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= | github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= | ||||||
| github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | ||||||
|  | github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= | ||||||
| github.com/Jeffail/gabs v1.1.1 h1:V0uzR08Hj22EX8+8QMhyI9sX2hwRu+/RJhJUmnwda/E= | github.com/Jeffail/gabs v1.1.1 h1:V0uzR08Hj22EX8+8QMhyI9sX2hwRu+/RJhJUmnwda/E= | ||||||
| github.com/Jeffail/gabs v1.1.1/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc= | github.com/Jeffail/gabs v1.1.1/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc= | ||||||
| github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | ||||||
| @@ -23,29 +35,35 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy | |||||||
| github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | ||||||
| github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58 h1:MkpmYfld/S8kXqTYI68DfL8/hHXjHogL120Dy00TIxc= | github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58 h1:MkpmYfld/S8kXqTYI68DfL8/hHXjHogL120Dy00TIxc= | ||||||
| github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58/go.mod h1:YNfsMyWSs+h+PaYkxGeMVmVCX75Zj/pqdjbu12ciCYE= | github.com/alexcesaro/log v0.0.0-20150915221235-61e686294e58/go.mod h1:YNfsMyWSs+h+PaYkxGeMVmVCX75Zj/pqdjbu12ciCYE= | ||||||
| github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= | github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= | ||||||
|  | github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= | ||||||
|  | github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= | ||||||
| github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | ||||||
| github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= | github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= | ||||||
|  | github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= | ||||||
|  | github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= | ||||||
| github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= | github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= | ||||||
| github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | ||||||
| github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | ||||||
| github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | ||||||
| github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | ||||||
| github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= | github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= | ||||||
| github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= | github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= | ||||||
| github.com/d5/tengo/v2 v2.1.2 h1:JR5O6qJW2GW9lpv/MfEqK16a/Wpp2y8I0JZZ5fqNOL0= | github.com/d5/tengo/v2 v2.4.2 h1:Sj+v0CS8jtrZrXyJLzWof6QTnE6S5k3tYP0y6YVPGkw= | ||||||
| github.com/d5/tengo/v2 v2.1.2/go.mod h1:XRGjEs5I9jYIKTxly6HCF8oiiilk5E/RYXOZ5b0DZC8= | github.com/d5/tengo/v2 v2.4.2/go.mod h1:XRGjEs5I9jYIKTxly6HCF8oiiilk5E/RYXOZ5b0DZC8= | ||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/dfordsoft/golib v0.0.0-20180902042739-76ee6ab99bec h1:JEUiu7P9smN7zgX87a2zVnnbPPickIM9Gf9OIhsIgWQ= |  | ||||||
| github.com/dfordsoft/golib v0.0.0-20180902042739-76ee6ab99bec/go.mod h1:UGa5M2Sz/Uh13AMse4+RELKCDw7kqgqlTjeGae+7vUY= |  | ||||||
| github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= | github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= | ||||||
| github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= | github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= | ||||||
| github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= | github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= | ||||||
|  | github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= | ||||||
| github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= | github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= | ||||||
| github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= | github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= | ||||||
|  | github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= | ||||||
|  | github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= | ||||||
| github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= | github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= | ||||||
|  | github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= | ||||||
| github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | ||||||
| github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= | github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= | ||||||
| github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= | github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= | ||||||
| @@ -60,17 +78,29 @@ github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zV | |||||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | ||||||
| github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | ||||||
| github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= | github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= | ||||||
|  | github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= | ||||||
|  | github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= | ||||||
| github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||||
| github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= | github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= | ||||||
| github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= | github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= | ||||||
| github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||||
|  | github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= | ||||||
|  | github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||||
| github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497 h1:wJkj+x9gPYlDyM34C6r3SXPs270coWeh85wu1CsusDo= | github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497 h1:wJkj+x9gPYlDyM34C6r3SXPs270coWeh85wu1CsusDo= | ||||||
| github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU= | github.com/gomarkdown/markdown v0.0.0-20200127000047-1813ea067497/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU= | ||||||
|  | github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||||
| github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||||
| github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | ||||||
|  | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| github.com/google/gops v0.3.6 h1:6akvbMlpZrEYOuoebn2kR+ZJekbZqJ28fJXTs84+8to= | github.com/google/gops v0.3.6 h1:6akvbMlpZrEYOuoebn2kR+ZJekbZqJ28fJXTs84+8to= | ||||||
| github.com/google/gops v0.3.6/go.mod h1:RZ1rH95wsAGX4vMWKmqBOIWynmWisBf4QFdgT/k/xOI= | github.com/google/gops v0.3.6/go.mod h1:RZ1rH95wsAGX4vMWKmqBOIWynmWisBf4QFdgT/k/xOI= | ||||||
|  | github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= | ||||||
|  | github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= | ||||||
|  | github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= | ||||||
|  | github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= | ||||||
| github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||||||
|  | github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= | ||||||
|  | github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= | ||||||
| github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4 h1:4EZlYQIiyecYJlUbVkFXCXHz1QPhVXcHnQKAzBTPfQo= | github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4 h1:4EZlYQIiyecYJlUbVkFXCXHz1QPhVXcHnQKAzBTPfQo= | ||||||
| github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4/go.mod h1:lEO7XoHJ/xNRBCxrn4h/CEB67h0kW1B0t4ooP2yrjUA= | github.com/gopackage/ddp v0.0.0-20170117053602-652027933df4/go.mod h1:lEO7XoHJ/xNRBCxrn4h/CEB67h0kW1B0t4ooP2yrjUA= | ||||||
| github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= | github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= | ||||||
| @@ -81,13 +111,34 @@ github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoA | |||||||
| github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= | github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= | ||||||
| github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= | github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= | ||||||
| github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= | github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= | ||||||
|  | github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= | ||||||
|  | github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= | ||||||
| github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= | github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= | ||||||
| github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= | github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= | ||||||
| github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= | github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= | ||||||
| github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk= | github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= | ||||||
| github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= | github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= | ||||||
|  | github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= | ||||||
|  | github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= | ||||||
|  | github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= | ||||||
|  | github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= | ||||||
|  | github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= | ||||||
|  | github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= | ||||||
|  | github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= | ||||||
|  | github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= | ||||||
|  | github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= | ||||||
|  | github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= | ||||||
|  | github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= | ||||||
|  | github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | ||||||
|  | github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | ||||||
|  | github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= | ||||||
|  | github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= | ||||||
| github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | ||||||
| github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | ||||||
|  | github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= | ||||||
|  | github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= | ||||||
|  | github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= | ||||||
|  | github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= | ||||||
| github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= | github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= | ||||||
| github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= | github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= | ||||||
| github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | ||||||
| @@ -95,29 +146,31 @@ github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJS | |||||||
| github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= | github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= | ||||||
| github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= | github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= | ||||||
| github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= | github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= | ||||||
|  | github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= | ||||||
|  | github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= | ||||||
| github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= | github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= | ||||||
| github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | ||||||
| github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= | github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= | ||||||
| github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro= | github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro= | ||||||
| github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= | github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= | ||||||
| github.com/keybase/go-keybase-chat-bot v0.0.0-20200226211841-4e48f3eaef3e h1:KbPTfR/PYuau1IzKoE4lnd8yby5I2pBj+VR6fSVbYU8= | github.com/keybase/go-keybase-chat-bot v0.0.0-20200505163032-5cacf52379da h1:LK+8uBG3kNikj664cjFt88RBmuGmonxkXv2rUVfbqz4= | ||||||
| github.com/keybase/go-keybase-chat-bot v0.0.0-20200226211841-4e48f3eaef3e/go.mod h1:vNc28YFzigVJod0j5EbuTtRIe7swx8vodh2yA4jZ2s8= | github.com/keybase/go-keybase-chat-bot v0.0.0-20200505163032-5cacf52379da/go.mod h1:xJA+X9ZVyT/irGldcb7q1XnJBq5F9s5H9h2L44Y+poY= | ||||||
| github.com/keybase/go-ps v0.0.0-20161005175911-668c8856d999 h1:2d+FLQbz4xRTi36DO1qYNUwfORax9XcQ0jhbO81Vago= | github.com/keybase/go-ps v0.0.0-20161005175911-668c8856d999 h1:2d+FLQbz4xRTi36DO1qYNUwfORax9XcQ0jhbO81Vago= | ||||||
| github.com/keybase/go-ps v0.0.0-20161005175911-668c8856d999/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ= | github.com/keybase/go-ps v0.0.0-20161005175911-668c8856d999/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ= | ||||||
| github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= | github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= | ||||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= | github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
|  | github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= | ||||||
|  | github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= | github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= | ||||||
| github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= | github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= | ||||||
| github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= | ||||||
| github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | ||||||
| github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= | github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= | ||||||
| github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= | ||||||
| github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= | github.com/labstack/echo/v4 v4.1.16 h1:8swiwjE5Jkai3RPfZoahp8kjVCRNq+y7Q0hPji2Kz0o= | ||||||
| github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= | github.com/labstack/echo/v4 v4.1.16/go.mod h1:awO+5TzAjvL8XpibdsfXxPgHr+orhtXZJZIQCVjogKI= | ||||||
| github.com/labstack/echo/v4 v4.1.13 h1:JYgKq6NQQSaKbQcsOadAKX1kUVLCUzLGwu8sxN5tC34= |  | ||||||
| github.com/labstack/echo/v4 v4.1.13/go.mod h1:3WZNypykZ3tnqpF2Qb4fPg27XDunFqgP3HGDmCMgv7U= |  | ||||||
| github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0= | github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0= | ||||||
| github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= | github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= | ||||||
| github.com/lrstanley/girc v0.0.0-20190801035559-4fc93959e1a7 h1:BS9tqL0OCiOGuy/CYYk2gc33fxqaqh5/rhqMKu4tcYA= | github.com/lrstanley/girc v0.0.0-20190801035559-4fc93959e1a7 h1:BS9tqL0OCiOGuy/CYYk2gc33fxqaqh5/rhqMKu4tcYA= | ||||||
| @@ -140,24 +193,37 @@ github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749 | |||||||
| github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU= | github.com/matterbridge/logrus-prefixed-formatter v0.0.0-20180806162718-01618749af61/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU= | ||||||
| github.com/mattermost/mattermost-server v5.5.0+incompatible h1:0wcLGgYtd+YImtLDPf2AOfpBHxbU4suATx+6XKw1XbU= | github.com/mattermost/mattermost-server v5.5.0+incompatible h1:0wcLGgYtd+YImtLDPf2AOfpBHxbU4suATx+6XKw1XbU= | ||||||
| github.com/mattermost/mattermost-server v5.5.0+incompatible/go.mod h1:5L6MjAec+XXQwMIt791Ganu45GKsSiM+I0tLR9wUj8Y= | github.com/mattermost/mattermost-server v5.5.0+incompatible/go.mod h1:5L6MjAec+XXQwMIt791Ganu45GKsSiM+I0tLR9wUj8Y= | ||||||
|  | github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= | ||||||
| github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= | github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= | ||||||
| github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= | github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= | ||||||
| github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= | github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= | ||||||
| github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= | github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= | ||||||
|  | github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= | ||||||
| github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= | github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= | ||||||
| github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= | github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= | ||||||
| github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= | github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= | ||||||
| github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= | github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= | ||||||
| github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||||
| github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54= | github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= | ||||||
| github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= | github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= | ||||||
| github.com/mattn/godown v0.0.0-20180312012330-2e9e17e0ea51 h1:MpI7hy3MiCnrggmZI/s8LaPbLVOOWpzDbjA4F+XaXaM= | github.com/mattn/godown v0.0.0-20200217152941-afc959f6a561 h1:0YGo77enc6tJpXQxUeQWs9bPIQPTH1lbOmc5tgRuq4o= | ||||||
| github.com/mattn/godown v0.0.0-20180312012330-2e9e17e0ea51/go.mod h1:s3KUdOIXJ+jaGM++XHiXA6gikdleaWVATCcQGD4h734= | github.com/mattn/godown v0.0.0-20200217152941-afc959f6a561/go.mod h1:/ivCKurgV/bx6yqtP/Jtc2Xmrv3beCYBvlfAUl4X5g4= | ||||||
| github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= | github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= | ||||||
| github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= | ||||||
| github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= | ||||||
|  | github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= | ||||||
|  | github.com/missdeer/golib v1.0.3 h1:+kz/tn1lXlPS8i+gjHHVAZC8YcgrmfiMTqELyvOwI4g= | ||||||
|  | github.com/missdeer/golib v1.0.3/go.mod h1:Cys1ITPPZxIk2eTcQcKT3jDsBdhICAfrrw+ki/eRXxA= | ||||||
|  | github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= | ||||||
|  | github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= | ||||||
|  | github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= | ||||||
|  | github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= | ||||||
|  | github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= | ||||||
|  | github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | ||||||
| github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= | github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= | ||||||
| github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | ||||||
|  | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||||
|  | github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= | ||||||
| github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474 h1:oKIteTqeSpenyTrOVj5zkiyCaflLa8B+CD0324otT+o= | github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474 h1:oKIteTqeSpenyTrOVj5zkiyCaflLa8B+CD0324otT+o= | ||||||
| github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= | github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= | ||||||
| github.com/mrexodia/wray v0.0.0-20160318003008-78a2c1f284ff h1:HLGD5/9UxxfEuO9DtP8gnTmNtMxbPyhYltfxsITel8g= | github.com/mrexodia/wray v0.0.0-20160318003008-78a2c1f284ff h1:HLGD5/9UxxfEuO9DtP8gnTmNtMxbPyhYltfxsITel8g= | ||||||
| @@ -167,13 +233,12 @@ github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9 h1:mp6tU1r0xLostUGL | |||||||
| github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9/go.mod h1:A5SRAcpTemjGgIuBq6Kic2yHcoeUFWUinOAlMP/i9xo= | github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9/go.mod h1:A5SRAcpTemjGgIuBq6Kic2yHcoeUFWUinOAlMP/i9xo= | ||||||
| github.com/nicksnyder/go-i18n v1.4.0 h1:AgLl+Yq7kg5OYlzCgu9cKTZOyI4tD/NgukKqLqC8E+I= | github.com/nicksnyder/go-i18n v1.4.0 h1:AgLl+Yq7kg5OYlzCgu9cKTZOyI4tD/NgukKqLqC8E+I= | ||||||
| github.com/nicksnyder/go-i18n v1.4.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= | github.com/nicksnyder/go-i18n v1.4.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= | ||||||
| github.com/nlopes/slack v0.6.0 h1:jt0jxVQGhssx1Ib7naAOZEZcGdtIhTzkP0nopK0AsRA= |  | ||||||
| github.com/nlopes/slack v0.6.0/go.mod h1:JzQ9m3PMAqcpeCam7UaHSuBuupz7CmpjehYMayT6YOk= |  | ||||||
| github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= | github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= | ||||||
| github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw= | github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw= | ||||||
| github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | ||||||
| github.com/onsi/gomega v1.4.1 h1:PZSj/UFNaVp3KxrzHOcS7oyuWA7LoOY/77yCTEFu21U= | github.com/onsi/gomega v1.4.1 h1:PZSj/UFNaVp3KxrzHOcS7oyuWA7LoOY/77yCTEFu21U= | ||||||
| github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= | github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= | ||||||
|  | github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= | ||||||
| github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c h1:P6XGcuPTigoHf4TSu+3D/7QOQ1MbL6alNwrGhcW7sKw= | github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c h1:P6XGcuPTigoHf4TSu+3D/7QOQ1MbL6alNwrGhcW7sKw= | ||||||
| github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c/go.mod h1:YnNlZP7l4MhyGQ4CBRwv6ohZTPrUJJZtEv4ZgADkbs4= | github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c/go.mod h1:YnNlZP7l4MhyGQ4CBRwv6ohZTPrUJJZtEv4ZgADkbs4= | ||||||
| github.com/pborman/uuid v0.0.0-20160216163710-c55201b03606 h1:/CPgDYrfeK2LMK6xcUhvI17yO9SlpAdDIJGkhDEgO8A= | github.com/pborman/uuid v0.0.0-20160216163710-c55201b03606 h1:/CPgDYrfeK2LMK6xcUhvI17yO9SlpAdDIJGkhDEgO8A= | ||||||
| @@ -185,6 +250,7 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= | |||||||
| github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
|  | github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= | ||||||
| github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= | github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= | ||||||
| github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= | github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= | ||||||
| github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= | github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= | ||||||
| @@ -199,12 +265,15 @@ github.com/rickb777/date v1.12.4/go.mod h1:xP0eo/I5qmUt97yRGClHZfyLZ3ikMw6v6SU5M | |||||||
| github.com/rickb777/plural v1.2.0 h1:5tvEc7UBCZ7l8h/2UeybSkt/uu1DQsZFOFdNevmUhlE= | github.com/rickb777/plural v1.2.0 h1:5tvEc7UBCZ7l8h/2UeybSkt/uu1DQsZFOFdNevmUhlE= | ||||||
| github.com/rickb777/plural v1.2.0/go.mod h1:UdpyWFCGbo3mvK3f/PfZOAOrkjzJlYN/sD46XNWJ+Es= | github.com/rickb777/plural v1.2.0/go.mod h1:UdpyWFCGbo3mvK3f/PfZOAOrkjzJlYN/sD46XNWJ+Es= | ||||||
| github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= | github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= | ||||||
|  | github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= | ||||||
| github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= | github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= | ||||||
| github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= | github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= | ||||||
| github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= | github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= | ||||||
| github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= | github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= | ||||||
|  | github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= | ||||||
| github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca h1:NugYot0LIVPxTvN8n+Kvkn6TrbMyxQiuvKdEwFdR9vI= | github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca h1:NugYot0LIVPxTvN8n+Kvkn6TrbMyxQiuvKdEwFdR9vI= | ||||||
| github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= | github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= | ||||||
|  | github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= | ||||||
| github.com/shazow/rateio v0.0.0-20150116013248-e8e00881e5c1 h1:Lx3BlDGFElJt4u/zKc9A3BuGYbQAGlEFyPuUA3jeMD0= | github.com/shazow/rateio v0.0.0-20150116013248-e8e00881e5c1 h1:Lx3BlDGFElJt4u/zKc9A3BuGYbQAGlEFyPuUA3jeMD0= | ||||||
| github.com/shazow/rateio v0.0.0-20150116013248-e8e00881e5c1/go.mod h1:vt2jWY/3Qw1bIzle5thrJWucsLuuX9iUNnp20CqCciI= | github.com/shazow/rateio v0.0.0-20150116013248-e8e00881e5c1/go.mod h1:vt2jWY/3Qw1bIzle5thrJWucsLuuX9iUNnp20CqCciI= | ||||||
| github.com/shazow/ssh-chat v1.8.3-0.20200308224626-80ddf1f43a98 h1:sN07ff+PSRsUNhpSod4uGKAQ+Nc0FXsBPG9FmYMNg4w= | github.com/shazow/ssh-chat v1.8.3-0.20200308224626-80ddf1f43a98 h1:sN07ff+PSRsUNhpSod4uGKAQ+Nc0FXsBPG9FmYMNg4w= | ||||||
| @@ -212,12 +281,12 @@ github.com/shazow/ssh-chat v1.8.3-0.20200308224626-80ddf1f43a98/go.mod h1:xkTgfD | |||||||
| github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= | github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= | ||||||
| github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= | github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= | ||||||
| github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= | github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= | ||||||
| github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= | github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= | ||||||
| github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= | github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= | ||||||
| github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9 h1:lpEzuenPuO1XNTeikEmvqYFcU37GVLl8SRNblzyvGBE= | github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9 h1:lpEzuenPuO1XNTeikEmvqYFcU37GVLl8SRNblzyvGBE= | ||||||
| github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo= | github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo= | ||||||
| github.com/slack-go/slack v0.6.3 h1:qU037g8gQ71EuH6S9zYKnvYrEUj0fLFH4HFekFqBoRU= | github.com/slack-go/slack v0.6.4 h1:cxOqFgM5RW6mdEyDqAJutFk3qiORK9oHRKi5bPqkY9o= | ||||||
| github.com/slack-go/slack v0.6.3/go.mod h1:HE4RwNe7YpOg/F0vqo5PwXH3Hki31TplTvKRW9dGGaw= | github.com/slack-go/slack v0.6.4/go.mod h1:sGRjv3w+ERAUMMMbldHObQPBcNSyVB7KLKYfnwUFBfw= | ||||||
| github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= | github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= | ||||||
| github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= | github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= | ||||||
| github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= | github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= | ||||||
| @@ -232,19 +301,21 @@ github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9 | |||||||
| github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= | github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= | ||||||
| github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= | github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= | ||||||
| github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | ||||||
| github.com/spf13/viper v1.6.1 h1:VPZzIkznI1YhVMRi6vNFLHSwhnhReBfgTxIPccpfdZk= | github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= | ||||||
| github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= | github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= | ||||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||||
| github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||||
| github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||||
|  | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||||
| github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | ||||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||||
|  | github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= | ||||||
|  | github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | ||||||
| github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= | github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= | ||||||
| github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= | github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= | ||||||
| github.com/technoweenie/multipartstreamer v1.0.1 h1:XRztA5MXiR1TIRHxH2uNxXxaIkKQDeX7m2XsSOlQEnM= | github.com/technoweenie/multipartstreamer v1.0.1 h1:XRztA5MXiR1TIRHxH2uNxXxaIkKQDeX7m2XsSOlQEnM= | ||||||
| github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog= | github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog= | ||||||
| github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | ||||||
| github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= |  | ||||||
| github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= | github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= | ||||||
| github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | ||||||
| github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= | github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= | ||||||
| @@ -256,12 +327,13 @@ github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJ | |||||||
| github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= | github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= | ||||||
| github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= | github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= | ||||||
| github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= | github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= | ||||||
| github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= |  | ||||||
| github.com/yaegashi/msgraph.go v0.1.2 h1:83uVRQaj8YBsVqOUGj0WRwzxdgGF69jRpg5IQYaTvoY= | github.com/yaegashi/msgraph.go v0.1.2 h1:83uVRQaj8YBsVqOUGj0WRwzxdgGF69jRpg5IQYaTvoY= | ||||||
| github.com/yaegashi/msgraph.go v0.1.2/go.mod h1:Lp39e9oo596G5FcmMKI0cXR3mg/QikSdabgZdbMqbAM= | github.com/yaegashi/msgraph.go v0.1.2/go.mod h1:Lp39e9oo596G5FcmMKI0cXR3mg/QikSdabgZdbMqbAM= | ||||||
| github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447 h1:CHgPZh8bFkZmislPrr/0gd7MciDAX+JJB70A2/5Lvmo= | github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2 h1:UQwvu7FjUEdVYofx0U6bsc5odNE7wa5TSA0fl559GcA= | ||||||
| github.com/zfjagann/golang-ring v0.0.0-20190106091943-a88bb6aef447/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU= | github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2/go.mod h1:0MsIttMJIF/8Y7x0XjonJP7K99t3sR6bjj4m5S4JmqU= | ||||||
| go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | ||||||
|  | go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= | ||||||
|  | go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= | ||||||
| go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= | go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= | ||||||
| go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= | go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= | ||||||
| go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= | go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= | ||||||
| @@ -270,67 +342,141 @@ go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= | |||||||
| go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= | go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= | ||||||
| golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= | golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= | ||||||
| golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
|  | golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
| golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
| golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876 h1:sKJQZMuxjOAR/Uo2LBfU90onWEf1dF4C+0hPJCc9Mpc= | golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/image v0.0.0-20191214001246-9130b4cfad52 h1:2fktqPPvDiVEEVT/vSTeoUPXfmRxRaGy6GU8jypvEn0= | golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d h1:1ZiEyfaQIg3Qh0EoqpwAakHVhecoE5wlSg5GjnafJGw= | ||||||
| golang.org/x/image v0.0.0-20191214001246-9130b4cfad52/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= | golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
|  | golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||||
|  | golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||||
|  | golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= | ||||||
|  | golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= | ||||||
|  | golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= | ||||||
|  | golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= | ||||||
|  | golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= | ||||||
|  | golang.org/x/image v0.0.0-20200430140353-33d19683fad8 h1:6WW6V3x1P/jokJBpRQYUJnMHRP6isStQwCozxnU7XQw= | ||||||
|  | golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= | ||||||
| golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= | golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= | ||||||
|  | golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= | ||||||
|  | golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= | ||||||
| golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | ||||||
|  | golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | ||||||
|  | golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | ||||||
|  | golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | ||||||
|  | golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= | ||||||
|  | golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= | ||||||
|  | golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= | ||||||
|  | golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= | ||||||
| golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
|  | golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
|  | golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
|  | golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||||
| golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
| golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= | golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
| golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= | golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
| golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= | ||||||
|  | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= | ||||||
|  | golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= | ||||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||||
|  | golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||||
|  | golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||||
| golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= | golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= | ||||||
| golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
|  | golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
|  | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
|  | golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sys v0.0.0-20171017063910-8dbc5d05d6ed/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20171017063910-8dbc5d05d6ed/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
|  | golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
|  | golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
|  | golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8 h1:JA8d3MPx/IToSyXZG/RhwYEtfrKO1Fxrqe8KrkiLXKM= | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= | ||||||
|  | golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
|  | golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= | golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= | ||||||
| golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | ||||||
|  | golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||||
| golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||||
|  | golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= | ||||||
| golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | ||||||
|  | golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | ||||||
|  | golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | ||||||
| golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | ||||||
|  | golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= | ||||||
|  | golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= | ||||||
|  | golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= | ||||||
|  | golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= | ||||||
|  | golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= | ||||||
|  | golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||||
|  | google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= | ||||||
|  | google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= | ||||||
|  | google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= | ||||||
|  | google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= | ||||||
|  | google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= | ||||||
| google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | ||||||
| google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= | google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= | ||||||
| google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | ||||||
|  | google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | ||||||
|  | google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= | ||||||
|  | google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= | ||||||
| google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | ||||||
| google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | ||||||
|  | google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||||
|  | google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||||
|  | google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||||
|  | google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||||
|  | google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= | ||||||
|  | google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= | ||||||
|  | google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= | ||||||
|  | google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= | ||||||
| google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= | google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= | ||||||
| google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= | google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= | ||||||
|  | google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= | ||||||
| gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= | gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= | ||||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
| gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= | ||||||
| gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
|  | gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= | ||||||
| gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= | gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= | ||||||
| gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= | gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= | ||||||
| gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= | gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= | ||||||
| @@ -345,5 +491,11 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |||||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
| gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= | gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= | ||||||
| gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
|  | gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= | ||||||
|  | gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
| honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||||
|  | honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||||
|  | honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||||
|  | honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= | ||||||
|  | rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | ||||||
| rsc.io/goversion v1.0.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo= | rsc.io/goversion v1.0.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo= | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/d5/tengo/v2/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/d5/tengo/v2/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,6 +6,7 @@ lint: | |||||||
|  |  | ||||||
| test: generate lint | test: generate lint | ||||||
| 	go test -race -cover ./... | 	go test -race -cover ./... | ||||||
|  | 	go run ./cmd/tengo -resolve ./testdata/cli/test.tengo | ||||||
|  |  | ||||||
| fmt: | fmt: | ||||||
| 	go fmt ./... | 	go fmt ./... | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								vendor/github.com/d5/tengo/v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								vendor/github.com/d5/tengo/v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,8 +5,8 @@ | |||||||
| # The Tengo Language | # The Tengo Language | ||||||
|  |  | ||||||
| [](https://godoc.org/github.com/d5/tengo) | [](https://godoc.org/github.com/d5/tengo) | ||||||
|  |  | ||||||
| [](https://goreportcard.com/report/github.com/d5/tengo) | [](https://goreportcard.com/report/github.com/d5/tengo) | ||||||
| [](https://circleci.com/gh/d5/tengo) |  | ||||||
|  |  | ||||||
| **Tengo is a small, dynamic, fast, secure script language for Go.**  | **Tengo is a small, dynamic, fast, secure script language for Go.**  | ||||||
|  |  | ||||||
| @@ -51,19 +51,21 @@ fmt.println(sum("", [1, 2, 3]))  // "123" | |||||||
|  |  | ||||||
| ## Benchmark | ## Benchmark | ||||||
|  |  | ||||||
| | | fib(35) | fibt(35) |  Type  | | | | fib(35) | fibt(35) |  Language (Type)  | | ||||||
| | :--- |    ---: |     ---: |  :---: | | | :--- |    ---: |     ---: |  :---: | | ||||||
| | Go | `48ms` | `3ms` | Go (native) | | | [**Tengo**](https://github.com/d5/tengo) | `2,931ms` | `4ms` | Tengo (VM) | | ||||||
| | [**Tengo**](https://github.com/d5/tengo) | `2,349ms` | `5ms` | VM on Go | | | [go-lua](https://github.com/Shopify/go-lua) | `4,824ms` | `4ms` | Lua (VM) | | ||||||
| | Lua | `1,416ms` | `3ms` | Lua (native) | | | [GopherLua](https://github.com/yuin/gopher-lua) | `5,365ms` | `4ms` | Lua (VM) | | ||||||
| | [go-lua](https://github.com/Shopify/go-lua) | `4,402ms` | `5ms` | Lua VM on Go | | | [goja](https://github.com/dop251/goja) | `5,533ms` | `5ms` | JavaScript (VM) | | ||||||
| | [GopherLua](https://github.com/yuin/gopher-lua) | `4,023ms` | `5ms` | Lua VM on Go | | | [starlark-go](https://github.com/google/starlark-go) | `11,495ms` | `5ms` | Starlark (Interpreter) | | ||||||
| | Python | `2,588ms` | `26ms` | Python (native) | | | [Yaegi](https://github.com/containous/yaegi) | `15,645ms` | `12ms` | Yaegi (Interpreter) | | ||||||
| | [starlark-go](https://github.com/google/starlark-go) | `11,126ms` | `6ms` | Python-like Interpreter on Go | | | [gpython](https://github.com/go-python/gpython) | `16,322ms` | `5ms` | Python (Interpreter) | | ||||||
| | [gpython](https://github.com/go-python/gpython) | `15,035ms` | `4ms` | Python Interpreter on Go | | | [otto](https://github.com/robertkrimen/otto) | `73,093ms` | `10ms` | JavaScript (Interpreter) | | ||||||
| | [goja](https://github.com/dop251/goja) | `5,089ms` | `5ms` | JS VM on Go | | | [Anko](https://github.com/mattn/anko) | `79,809ms` | `8ms` | Anko (Interpreter) | | ||||||
| | [otto](https://github.com/robertkrimen/otto) | `68,377ms` | `11ms` | JS Interpreter on Go | | | - | - | - | - | | ||||||
| | [Anko](https://github.com/mattn/anko) | `92,579ms` | `18ms` | Interpreter on Go | | | Go | `53ms` | `3ms` | Go (Native) | | ||||||
|  | | Lua | `1,612ms` | `3ms` | Lua (Native) | | ||||||
|  | | Python | `2,632ms` | `23ms` | Python 2 (Native) | | ||||||
|  |  | ||||||
| _* [fib(35)](https://github.com/d5/tengobench/blob/master/code/fib.tengo): | _* [fib(35)](https://github.com/d5/tengobench/blob/master/code/fib.tengo): | ||||||
| Fibonacci(35)_   | Fibonacci(35)_   | ||||||
| @@ -136,3 +138,10 @@ each([a, b, c, d], func(x) { | |||||||
| - [Interoperability](https://github.com/d5/tengo/blob/master/docs/interoperability.md) | - [Interoperability](https://github.com/d5/tengo/blob/master/docs/interoperability.md) | ||||||
| - [Tengo CLI](https://github.com/d5/tengo/blob/master/docs/tengo-cli.md) | - [Tengo CLI](https://github.com/d5/tengo/blob/master/docs/tengo-cli.md) | ||||||
| - [Standard Library](https://github.com/d5/tengo/blob/master/docs/stdlib.md) | - [Standard Library](https://github.com/d5/tengo/blob/master/docs/stdlib.md) | ||||||
|  | - Syntax Highlighters: [VSCode](https://github.com/lissein/vscode-tengo), [Atom](https://github.com/d5/tengo-atom) | ||||||
|  | - **Why the name Tengo?** It's from [1Q84](https://en.wikipedia.org/wiki/1Q84). | ||||||
|  |  | ||||||
|  | ## | ||||||
|  |  | ||||||
|  | :hearts: Like writing Go code? Come work at Skool. [We're hiring!](https://jobs.lever.co/skool) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								vendor/github.com/d5/tengo/v2/bytecode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/d5/tengo/v2/bytecode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -97,6 +97,7 @@ func (b *Bytecode) RemoveDuplicates() { | |||||||
| 	var deduped []Object | 	var deduped []Object | ||||||
|  |  | ||||||
| 	indexMap := make(map[int]int) // mapping from old constant index to new index | 	indexMap := make(map[int]int) // mapping from old constant index to new index | ||||||
|  | 	fns := make(map[*CompiledFunction]int) | ||||||
| 	ints := make(map[int64]int) | 	ints := make(map[int64]int) | ||||||
| 	strings := make(map[string]int) | 	strings := make(map[string]int) | ||||||
| 	floats := make(map[float64]int) | 	floats := make(map[float64]int) | ||||||
| @@ -106,9 +107,14 @@ func (b *Bytecode) RemoveDuplicates() { | |||||||
| 	for curIdx, c := range b.Constants { | 	for curIdx, c := range b.Constants { | ||||||
| 		switch c := c.(type) { | 		switch c := c.(type) { | ||||||
| 		case *CompiledFunction: | 		case *CompiledFunction: | ||||||
| 			// add to deduped list | 			if newIdx, ok := fns[c]; ok { | ||||||
| 			indexMap[curIdx] = len(deduped) | 				indexMap[curIdx] = newIdx | ||||||
| 			deduped = append(deduped, c) | 			} else { | ||||||
|  | 				newIdx = len(deduped) | ||||||
|  | 				fns[c] = newIdx | ||||||
|  | 				indexMap[curIdx] = newIdx | ||||||
|  | 				deduped = append(deduped, c) | ||||||
|  | 			} | ||||||
| 		case *ImmutableMap: | 		case *ImmutableMap: | ||||||
| 			modName := inferModuleName(c) | 			modName := inferModuleName(c) | ||||||
| 			newIdx, ok := immutableMaps[modName] | 			newIdx, ok := immutableMaps[modName] | ||||||
|   | |||||||
							
								
								
									
										42
									
								
								vendor/github.com/d5/tengo/v2/compiler.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/d5/tengo/v2/compiler.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -44,6 +44,7 @@ type Compiler struct { | |||||||
| 	file            *parser.SourceFile | 	file            *parser.SourceFile | ||||||
| 	parent          *Compiler | 	parent          *Compiler | ||||||
| 	modulePath      string | 	modulePath      string | ||||||
|  | 	importDir       string | ||||||
| 	constants       []Object | 	constants       []Object | ||||||
| 	symbolTable     *SymbolTable | 	symbolTable     *SymbolTable | ||||||
| 	scopes          []compilationScope | 	scopes          []compilationScope | ||||||
| @@ -520,7 +521,7 @@ func (c *Compiler) Compile(node parser.Node) error { | |||||||
| 			switch v := v.(type) { | 			switch v := v.(type) { | ||||||
| 			case []byte: // module written in Tengo | 			case []byte: // module written in Tengo | ||||||
| 				compiled, err := c.compileModule(node, | 				compiled, err := c.compileModule(node, | ||||||
| 					node.ModuleName, node.ModuleName, v) | 					node.ModuleName, v, false) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| 					return err | 					return err | ||||||
| 				} | 				} | ||||||
| @@ -537,24 +538,20 @@ func (c *Compiler) Compile(node parser.Node) error { | |||||||
| 				moduleName += ".tengo" | 				moduleName += ".tengo" | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			modulePath, err := filepath.Abs(moduleName) | 			modulePath, err := filepath.Abs( | ||||||
|  | 				filepath.Join(c.importDir, moduleName)) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return c.errorf(node, "module file path error: %s", | 				return c.errorf(node, "module file path error: %s", | ||||||
| 					err.Error()) | 					err.Error()) | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if err := c.checkCyclicImports(node, modulePath); err != nil { | 			moduleSrc, err := ioutil.ReadFile(modulePath) | ||||||
| 				return err |  | ||||||
| 			} |  | ||||||
|  |  | ||||||
| 			moduleSrc, err := ioutil.ReadFile(moduleName) |  | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return c.errorf(node, "module file read error: %s", | 				return c.errorf(node, "module file read error: %s", | ||||||
| 					err.Error()) | 					err.Error()) | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			compiled, err := c.compileModule(node, | 			compiled, err := c.compileModule(node, modulePath, moduleSrc, true) | ||||||
| 				moduleName, modulePath, moduleSrc) |  | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
| @@ -634,6 +631,11 @@ func (c *Compiler) EnableFileImport(enable bool) { | |||||||
| 	c.allowFileImport = enable | 	c.allowFileImport = enable | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // SetImportDir sets the initial import directory path for file imports. | ||||||
|  | func (c *Compiler) SetImportDir(dir string) { | ||||||
|  | 	c.importDir = dir | ||||||
|  | } | ||||||
|  |  | ||||||
| func (c *Compiler) compileAssign( | func (c *Compiler) compileAssign( | ||||||
| 	node parser.Node, | 	node parser.Node, | ||||||
| 	lhs, rhs []parser.Expr, | 	lhs, rhs []parser.Expr, | ||||||
| @@ -847,8 +849,8 @@ func (c *Compiler) compileForInStmt(stmt *parser.ForInStmt) error { | |||||||
| 	//     ... body ... | 	//     ... body ... | ||||||
| 	//   } | 	//   } | ||||||
| 	// | 	// | ||||||
| 	// ":it" is a local variable but will be conflict with other user variables | 	// ":it" is a local variable but it will not conflict with other user variables | ||||||
| 	// because character ":" is not allowed. | 	// because character ":" is not allowed in the variable names. | ||||||
|  |  | ||||||
| 	// init | 	// init | ||||||
| 	//   :it = iterator(iterable) | 	//   :it = iterator(iterable) | ||||||
| @@ -893,6 +895,7 @@ func (c *Compiler) compileForInStmt(stmt *parser.ForInStmt) error { | |||||||
| 		if keySymbol.Scope == ScopeGlobal { | 		if keySymbol.Scope == ScopeGlobal { | ||||||
| 			c.emit(stmt, parser.OpSetGlobal, keySymbol.Index) | 			c.emit(stmt, parser.OpSetGlobal, keySymbol.Index) | ||||||
| 		} else { | 		} else { | ||||||
|  | 			keySymbol.LocalAssigned = true | ||||||
| 			c.emit(stmt, parser.OpDefineLocal, keySymbol.Index) | 			c.emit(stmt, parser.OpDefineLocal, keySymbol.Index) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -909,6 +912,7 @@ func (c *Compiler) compileForInStmt(stmt *parser.ForInStmt) error { | |||||||
| 		if valueSymbol.Scope == ScopeGlobal { | 		if valueSymbol.Scope == ScopeGlobal { | ||||||
| 			c.emit(stmt, parser.OpSetGlobal, valueSymbol.Index) | 			c.emit(stmt, parser.OpSetGlobal, valueSymbol.Index) | ||||||
| 		} else { | 		} else { | ||||||
|  | 			valueSymbol.LocalAssigned = true | ||||||
| 			c.emit(stmt, parser.OpDefineLocal, valueSymbol.Index) | 			c.emit(stmt, parser.OpDefineLocal, valueSymbol.Index) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -955,8 +959,9 @@ func (c *Compiler) checkCyclicImports( | |||||||
|  |  | ||||||
| func (c *Compiler) compileModule( | func (c *Compiler) compileModule( | ||||||
| 	node parser.Node, | 	node parser.Node, | ||||||
| 	moduleName, modulePath string, | 	modulePath string, | ||||||
| 	src []byte, | 	src []byte, | ||||||
|  | 	isFile bool, | ||||||
| ) (*CompiledFunction, error) { | ) (*CompiledFunction, error) { | ||||||
| 	if err := c.checkCyclicImports(node, modulePath); err != nil { | 	if err := c.checkCyclicImports(node, modulePath); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -967,7 +972,7 @@ func (c *Compiler) compileModule( | |||||||
| 		return compiledModule, nil | 		return compiledModule, nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	modFile := c.file.Set().AddFile(moduleName, -1, len(src)) | 	modFile := c.file.Set().AddFile(modulePath, -1, len(src)) | ||||||
| 	p := parser.NewParser(modFile, src, nil) | 	p := parser.NewParser(modFile, src, nil) | ||||||
| 	file, err := p.ParseFile() | 	file, err := p.ParseFile() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -984,7 +989,7 @@ func (c *Compiler) compileModule( | |||||||
| 	symbolTable = symbolTable.Fork(false) | 	symbolTable = symbolTable.Fork(false) | ||||||
|  |  | ||||||
| 	// compile module | 	// compile module | ||||||
| 	moduleCompiler := c.fork(modFile, modulePath, symbolTable) | 	moduleCompiler := c.fork(modFile, modulePath, symbolTable, isFile) | ||||||
| 	if err := moduleCompiler.Compile(file); err != nil { | 	if err := moduleCompiler.Compile(file); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -1082,10 +1087,16 @@ func (c *Compiler) fork( | |||||||
| 	file *parser.SourceFile, | 	file *parser.SourceFile, | ||||||
| 	modulePath string, | 	modulePath string, | ||||||
| 	symbolTable *SymbolTable, | 	symbolTable *SymbolTable, | ||||||
|  | 	isFile bool, | ||||||
| ) *Compiler { | ) *Compiler { | ||||||
| 	child := NewCompiler(file, symbolTable, nil, c.modules, c.trace) | 	child := NewCompiler(file, symbolTable, nil, c.modules, c.trace) | ||||||
| 	child.modulePath = modulePath // module file path | 	child.modulePath = modulePath // module file path | ||||||
| 	child.parent = c              // parent to set to current compiler | 	child.parent = c              // parent to set to current compiler | ||||||
|  | 	child.allowFileImport = c.allowFileImport | ||||||
|  | 	child.importDir = c.importDir | ||||||
|  | 	if isFile && c.importDir != "" { | ||||||
|  | 		child.importDir = filepath.Dir(modulePath) | ||||||
|  | 	} | ||||||
| 	return child | 	return child | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1192,6 +1203,7 @@ func (c *Compiler) optimizeFunc(node parser.Node) { | |||||||
| 	var lastOp parser.Opcode | 	var lastOp parser.Opcode | ||||||
| 	var appendReturn bool | 	var appendReturn bool | ||||||
| 	endPos := len(c.scopes[c.scopeIndex].Instructions) | 	endPos := len(c.scopes[c.scopeIndex].Instructions) | ||||||
|  | 	newEndPost := len(newInsts) | ||||||
| 	iterateInstructions(newInsts, | 	iterateInstructions(newInsts, | ||||||
| 		func(pos int, opcode parser.Opcode, operands []int) bool { | 		func(pos int, opcode parser.Opcode, operands []int) bool { | ||||||
| 			switch opcode { | 			switch opcode { | ||||||
| @@ -1204,6 +1216,8 @@ func (c *Compiler) optimizeFunc(node parser.Node) { | |||||||
| 				} else if endPos == operands[0] { | 				} else if endPos == operands[0] { | ||||||
| 					// there's a jump instruction that jumps to the end of | 					// there's a jump instruction that jumps to the end of | ||||||
| 					// function compiler should append "return". | 					// function compiler should append "return". | ||||||
|  | 					copy(newInsts[pos:], | ||||||
|  | 						MakeInstruction(opcode, newEndPost)) | ||||||
| 					appendReturn = true | 					appendReturn = true | ||||||
| 				} else { | 				} else { | ||||||
| 					panic(fmt.Errorf("invalid jump position: %d", newDst)) | 					panic(fmt.Errorf("invalid jump position: %d", newDst)) | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								vendor/github.com/d5/tengo/v2/script.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/d5/tengo/v2/script.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,6 +3,7 @@ package tengo | |||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  | 	"path/filepath" | ||||||
| 	"sync" | 	"sync" | ||||||
|  |  | ||||||
| 	"github.com/d5/tengo/v2/parser" | 	"github.com/d5/tengo/v2/parser" | ||||||
| @@ -16,6 +17,7 @@ type Script struct { | |||||||
| 	maxAllocs        int64 | 	maxAllocs        int64 | ||||||
| 	maxConstObjects  int | 	maxConstObjects  int | ||||||
| 	enableFileImport bool | 	enableFileImport bool | ||||||
|  | 	importDir        string | ||||||
| } | } | ||||||
|  |  | ||||||
| // NewScript creates a Script instance with an input script. | // NewScript creates a Script instance with an input script. | ||||||
| @@ -56,6 +58,16 @@ func (s *Script) SetImports(modules *ModuleMap) { | |||||||
| 	s.modules = modules | 	s.modules = modules | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // SetImportDir sets the initial import directory for script files. | ||||||
|  | func (s *Script) SetImportDir(dir string) error { | ||||||
|  | 	dir, err := filepath.Abs(dir) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	s.importDir = dir | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
| // SetMaxAllocs sets the maximum number of objects allocations during the run | // SetMaxAllocs sets the maximum number of objects allocations during the run | ||||||
| // time. Compiled script will return ErrObjectAllocLimit error if it | // time. Compiled script will return ErrObjectAllocLimit error if it | ||||||
| // exceeds this limit. | // exceeds this limit. | ||||||
| @@ -93,6 +105,7 @@ func (s *Script) Compile() (*Compiled, error) { | |||||||
|  |  | ||||||
| 	c := NewCompiler(srcFile, symbolTable, nil, s.modules, nil) | 	c := NewCompiler(srcFile, symbolTable, nil, s.modules, nil) | ||||||
| 	c.EnableFileImport(s.enableFileImport) | 	c.EnableFileImport(s.enableFileImport) | ||||||
|  | 	c.SetImportDir(s.importDir) | ||||||
| 	if err := c.Compile(file); err != nil { | 	if err := c.Compile(file); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										195
									
								
								vendor/github.com/d5/tengo/v2/stdlib/json/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										195
									
								
								vendor/github.com/d5/tengo/v2/stdlib/json/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,20 +1,129 @@ | |||||||
| // A modified version of Go's JSON implementation. | // A modified version of Go's JSON implementation. | ||||||
|  |  | ||||||
| // Copyright 2010 The Go Authors. All rights reserved. | // Copyright 2010, 2020 The Go Authors. All rights reserved. | ||||||
| // Use of this source code is governed by a BSD-style | // Use of this source code is governed by a BSD-style | ||||||
| // license that can be found in the LICENSE file. | // license that can be found in the LICENSE file. | ||||||
|  |  | ||||||
| package json | package json | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"bytes" | ||||||
| 	"encoding/base64" | 	"encoding/base64" | ||||||
| 	"errors" | 	"errors" | ||||||
| 	"math" | 	"math" | ||||||
| 	"strconv" | 	"strconv" | ||||||
|  | 	"unicode/utf8" | ||||||
|  |  | ||||||
| 	"github.com/d5/tengo/v2" | 	"github.com/d5/tengo/v2" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | // safeSet holds the value true if the ASCII character with the given array | ||||||
|  | // position can be represented inside a JSON string without any further | ||||||
|  | // escaping. | ||||||
|  | // | ||||||
|  | // All values are true except for the ASCII control characters (0-31), the | ||||||
|  | // double quote ("), and the backslash character ("\"). | ||||||
|  | var safeSet = [utf8.RuneSelf]bool{ | ||||||
|  | 	' ':      true, | ||||||
|  | 	'!':      true, | ||||||
|  | 	'"':      false, | ||||||
|  | 	'#':      true, | ||||||
|  | 	'$':      true, | ||||||
|  | 	'%':      true, | ||||||
|  | 	'&':      true, | ||||||
|  | 	'\'':     true, | ||||||
|  | 	'(':      true, | ||||||
|  | 	')':      true, | ||||||
|  | 	'*':      true, | ||||||
|  | 	'+':      true, | ||||||
|  | 	',':      true, | ||||||
|  | 	'-':      true, | ||||||
|  | 	'.':      true, | ||||||
|  | 	'/':      true, | ||||||
|  | 	'0':      true, | ||||||
|  | 	'1':      true, | ||||||
|  | 	'2':      true, | ||||||
|  | 	'3':      true, | ||||||
|  | 	'4':      true, | ||||||
|  | 	'5':      true, | ||||||
|  | 	'6':      true, | ||||||
|  | 	'7':      true, | ||||||
|  | 	'8':      true, | ||||||
|  | 	'9':      true, | ||||||
|  | 	':':      true, | ||||||
|  | 	';':      true, | ||||||
|  | 	'<':      true, | ||||||
|  | 	'=':      true, | ||||||
|  | 	'>':      true, | ||||||
|  | 	'?':      true, | ||||||
|  | 	'@':      true, | ||||||
|  | 	'A':      true, | ||||||
|  | 	'B':      true, | ||||||
|  | 	'C':      true, | ||||||
|  | 	'D':      true, | ||||||
|  | 	'E':      true, | ||||||
|  | 	'F':      true, | ||||||
|  | 	'G':      true, | ||||||
|  | 	'H':      true, | ||||||
|  | 	'I':      true, | ||||||
|  | 	'J':      true, | ||||||
|  | 	'K':      true, | ||||||
|  | 	'L':      true, | ||||||
|  | 	'M':      true, | ||||||
|  | 	'N':      true, | ||||||
|  | 	'O':      true, | ||||||
|  | 	'P':      true, | ||||||
|  | 	'Q':      true, | ||||||
|  | 	'R':      true, | ||||||
|  | 	'S':      true, | ||||||
|  | 	'T':      true, | ||||||
|  | 	'U':      true, | ||||||
|  | 	'V':      true, | ||||||
|  | 	'W':      true, | ||||||
|  | 	'X':      true, | ||||||
|  | 	'Y':      true, | ||||||
|  | 	'Z':      true, | ||||||
|  | 	'[':      true, | ||||||
|  | 	'\\':     false, | ||||||
|  | 	']':      true, | ||||||
|  | 	'^':      true, | ||||||
|  | 	'_':      true, | ||||||
|  | 	'`':      true, | ||||||
|  | 	'a':      true, | ||||||
|  | 	'b':      true, | ||||||
|  | 	'c':      true, | ||||||
|  | 	'd':      true, | ||||||
|  | 	'e':      true, | ||||||
|  | 	'f':      true, | ||||||
|  | 	'g':      true, | ||||||
|  | 	'h':      true, | ||||||
|  | 	'i':      true, | ||||||
|  | 	'j':      true, | ||||||
|  | 	'k':      true, | ||||||
|  | 	'l':      true, | ||||||
|  | 	'm':      true, | ||||||
|  | 	'n':      true, | ||||||
|  | 	'o':      true, | ||||||
|  | 	'p':      true, | ||||||
|  | 	'q':      true, | ||||||
|  | 	'r':      true, | ||||||
|  | 	's':      true, | ||||||
|  | 	't':      true, | ||||||
|  | 	'u':      true, | ||||||
|  | 	'v':      true, | ||||||
|  | 	'w':      true, | ||||||
|  | 	'x':      true, | ||||||
|  | 	'y':      true, | ||||||
|  | 	'z':      true, | ||||||
|  | 	'{':      true, | ||||||
|  | 	'|':      true, | ||||||
|  | 	'}':      true, | ||||||
|  | 	'~':      true, | ||||||
|  | 	'\u007f': true, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var hex = "0123456789abcdef" | ||||||
|  |  | ||||||
| // Encode returns the JSON encoding of the object. | // Encode returns the JSON encoding of the object. | ||||||
| func Encode(o tengo.Object) ([]byte, error) { | func Encode(o tengo.Object) ([]byte, error) { | ||||||
| 	var b []byte | 	var b []byte | ||||||
| @@ -53,7 +162,7 @@ func Encode(o tengo.Object) ([]byte, error) { | |||||||
| 		len1 := len(o.Value) - 1 | 		len1 := len(o.Value) - 1 | ||||||
| 		idx := 0 | 		idx := 0 | ||||||
| 		for key, value := range o.Value { | 		for key, value := range o.Value { | ||||||
| 			b = strconv.AppendQuote(b, key) | 			b = encodeString(b, key) | ||||||
| 			b = append(b, ':') | 			b = append(b, ':') | ||||||
| 			eb, err := Encode(value) | 			eb, err := Encode(value) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| @@ -71,7 +180,7 @@ func Encode(o tengo.Object) ([]byte, error) { | |||||||
| 		len1 := len(o.Value) - 1 | 		len1 := len(o.Value) - 1 | ||||||
| 		idx := 0 | 		idx := 0 | ||||||
| 		for key, value := range o.Value { | 		for key, value := range o.Value { | ||||||
| 			b = strconv.AppendQuote(b, key) | 			b = encodeString(b, key) | ||||||
| 			b = append(b, ':') | 			b = append(b, ':') | ||||||
| 			eb, err := Encode(value) | 			eb, err := Encode(value) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| @@ -130,7 +239,9 @@ func Encode(o tengo.Object) ([]byte, error) { | |||||||
| 	case *tengo.Int: | 	case *tengo.Int: | ||||||
| 		b = strconv.AppendInt(b, o.Value, 10) | 		b = strconv.AppendInt(b, o.Value, 10) | ||||||
| 	case *tengo.String: | 	case *tengo.String: | ||||||
| 		b = strconv.AppendQuote(b, o.Value) | 		// string encoding bug is fixed with newly introduced function | ||||||
|  | 		// encodeString(). See: https://github.com/d5/tengo/issues/268 | ||||||
|  | 		b = encodeString(b, o.Value) | ||||||
| 	case *tengo.Time: | 	case *tengo.Time: | ||||||
| 		y, err := o.Value.MarshalJSON() | 		y, err := o.Value.MarshalJSON() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| @@ -144,3 +255,79 @@ func Encode(o tengo.Object) ([]byte, error) { | |||||||
| 	} | 	} | ||||||
| 	return b, nil | 	return b, nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // encodeString encodes given string as JSON string according to | ||||||
|  | // https://www.json.org/img/string.png | ||||||
|  | // Implementation is inspired by https://github.com/json-iterator/go | ||||||
|  | // See encodeStringSlowPath() for more information. | ||||||
|  | func encodeString(b []byte, val string) []byte { | ||||||
|  | 	valLen := len(val) | ||||||
|  | 	buf := bytes.NewBuffer(b) | ||||||
|  | 	buf.WriteByte('"') | ||||||
|  |  | ||||||
|  | 	// write string, the fast path, without utf8 and escape support | ||||||
|  | 	i := 0 | ||||||
|  | 	for ; i < valLen; i++ { | ||||||
|  | 		c := val[i] | ||||||
|  | 		if c > 31 && c != '"' && c != '\\' { | ||||||
|  | 			buf.WriteByte(c) | ||||||
|  | 		} else { | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	if i == valLen { | ||||||
|  | 		buf.WriteByte('"') | ||||||
|  | 		return buf.Bytes() | ||||||
|  | 	} | ||||||
|  | 	encodeStringSlowPath(buf, i, val, valLen) | ||||||
|  | 	buf.WriteByte('"') | ||||||
|  | 	return buf.Bytes() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // encodeStringSlowPath is ported from Go 1.14.2 encoding/json package. | ||||||
|  | // U+2028 U+2029 JSONP security holes can be fixed with addition call to | ||||||
|  | // json.html_escape() thus it is removed from the implementation below. | ||||||
|  | // Note: Invalid runes are not checked as they are checked in original | ||||||
|  | // implementation. | ||||||
|  | func encodeStringSlowPath(buf *bytes.Buffer, i int, val string, valLen int) { | ||||||
|  | 	start := i | ||||||
|  | 	for i < valLen { | ||||||
|  | 		if b := val[i]; b < utf8.RuneSelf { | ||||||
|  | 			if safeSet[b] { | ||||||
|  | 				i++ | ||||||
|  | 				continue | ||||||
|  | 			} | ||||||
|  | 			if start < i { | ||||||
|  | 				buf.WriteString(val[start:i]) | ||||||
|  | 			} | ||||||
|  | 			buf.WriteByte('\\') | ||||||
|  | 			switch b { | ||||||
|  | 			case '\\', '"': | ||||||
|  | 				buf.WriteByte(b) | ||||||
|  | 			case '\n': | ||||||
|  | 				buf.WriteByte('n') | ||||||
|  | 			case '\r': | ||||||
|  | 				buf.WriteByte('r') | ||||||
|  | 			case '\t': | ||||||
|  | 				buf.WriteByte('t') | ||||||
|  | 			default: | ||||||
|  | 				// This encodes bytes < 0x20 except for \t, \n and \r. | ||||||
|  | 				// If escapeHTML is set, it also escapes <, >, and & | ||||||
|  | 				// because they can lead to security holes when | ||||||
|  | 				// user-controlled strings are rendered into JSON | ||||||
|  | 				// and served to some browsers. | ||||||
|  | 				buf.WriteString(`u00`) | ||||||
|  | 				buf.WriteByte(hex[b>>4]) | ||||||
|  | 				buf.WriteByte(hex[b&0xF]) | ||||||
|  | 			} | ||||||
|  | 			i++ | ||||||
|  | 			start = i | ||||||
|  | 			continue | ||||||
|  | 		} | ||||||
|  | 		i++ | ||||||
|  | 		continue | ||||||
|  | 	} | ||||||
|  | 	if start < valLen { | ||||||
|  | 		buf.WriteString(val[start:]) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								vendor/github.com/fsnotify/fsnotify/.editorconfig
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/github.com/fsnotify/fsnotify/.editorconfig
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,5 +1,12 @@ | |||||||
| root = true | root = true | ||||||
|  |  | ||||||
| [*] | [*.go] | ||||||
| indent_style = tab | indent_style = tab | ||||||
| indent_size = 4 | indent_size = 4 | ||||||
|  | insert_final_newline = true | ||||||
|  |  | ||||||
|  | [*.{yml,yaml}] | ||||||
|  | indent_style = space | ||||||
|  | indent_size = 2 | ||||||
|  | insert_final_newline = true | ||||||
|  | trim_trailing_whitespace = true | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/fsnotify/fsnotify/.gitattributes
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/fsnotify/fsnotify/.gitattributes
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | go.sum linguist-generated | ||||||
							
								
								
									
										20
									
								
								vendor/github.com/fsnotify/fsnotify/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/fsnotify/fsnotify/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,29 +2,35 @@ sudo: false | |||||||
| language: go | language: go | ||||||
|  |  | ||||||
| go: | go: | ||||||
|   - 1.8.x |   - "stable" | ||||||
|   - 1.9.x |   - "1.11.x" | ||||||
|   - tip |   - "1.10.x" | ||||||
|  |   - "1.9.x" | ||||||
|  |  | ||||||
| matrix: | matrix: | ||||||
|  |   include: | ||||||
|  |     - go: "stable" | ||||||
|  |       env: GOLINT=true | ||||||
|   allow_failures: |   allow_failures: | ||||||
|     - go: tip |     - go: tip | ||||||
|   fast_finish: true |   fast_finish: true | ||||||
|  |  | ||||||
| before_script: |  | ||||||
|   - go get -u github.com/golang/lint/golint | before_install: | ||||||
|  |   - if [ ! -z "${GOLINT}" ]; then go get -u golang.org/x/lint/golint; fi | ||||||
|  |  | ||||||
| script: | script: | ||||||
|   - go test -v --race ./... |   - go test --race ./... | ||||||
|  |  | ||||||
| after_script: | after_script: | ||||||
|   - test -z "$(gofmt -s -l -w . | tee /dev/stderr)" |   - test -z "$(gofmt -s -l -w . | tee /dev/stderr)" | ||||||
|   - test -z "$(golint ./...     | tee /dev/stderr)" |   - if [ ! -z  "${GOLINT}" ]; then echo running golint; golint --set_exit_status  ./...; else echo skipping golint; fi | ||||||
|   - go vet ./... |   - go vet ./... | ||||||
|  |  | ||||||
| os: | os: | ||||||
|   - linux |   - linux | ||||||
|   - osx |   - osx | ||||||
|  |   - windows | ||||||
|  |  | ||||||
| notifications: | notifications: | ||||||
|   email: false |   email: false | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| Copyright (c) 2012 The Go Authors. All rights reserved. | Copyright (c) 2012 The Go Authors. All rights reserved. | ||||||
| Copyright (c) 2012 fsnotify Authors. All rights reserved. | Copyright (c) 2012-2019 fsnotify Authors. All rights reserved. | ||||||
|  |  | ||||||
| Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | ||||||
| modification, are permitted provided that the following conditions are | modification, are permitted provided that the following conditions are | ||||||
|   | |||||||
							
								
								
									
										71
									
								
								vendor/github.com/fsnotify/fsnotify/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										71
									
								
								vendor/github.com/fsnotify/fsnotify/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,16 +10,16 @@ go get -u golang.org/x/sys/... | |||||||
|  |  | ||||||
| Cross platform: Windows, Linux, BSD and macOS. | Cross platform: Windows, Linux, BSD and macOS. | ||||||
|  |  | ||||||
| |Adapter   |OS        |Status    | | | Adapter               | OS                               | Status                                                                                                                          | | ||||||
| |----------|----------|----------| | | --------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | ||||||
| |inotify   |Linux 2.6.27 or later, Android\*|Supported [](https://travis-ci.org/fsnotify/fsnotify)| | | inotify               | Linux 2.6.27 or later, Android\* | Supported [](https://travis-ci.org/fsnotify/fsnotify) | | ||||||
| |kqueue    |BSD, macOS, iOS\*|Supported [](https://travis-ci.org/fsnotify/fsnotify)| | | kqueue                | BSD, macOS, iOS\*                | Supported [](https://travis-ci.org/fsnotify/fsnotify) | | ||||||
| |ReadDirectoryChangesW|Windows|Supported [](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)| | | ReadDirectoryChangesW | Windows                          | Supported [](https://travis-ci.org/fsnotify/fsnotify) | | ||||||
| |FSEvents  |macOS         |[Planned](https://github.com/fsnotify/fsnotify/issues/11)| | | FSEvents              | macOS                            | [Planned](https://github.com/fsnotify/fsnotify/issues/11)                                                                       | | ||||||
| |FEN       |Solaris 11    |[In Progress](https://github.com/fsnotify/fsnotify/issues/12)| | | FEN                   | Solaris 11                       | [In Progress](https://github.com/fsnotify/fsnotify/issues/12)                                                                   | | ||||||
| |fanotify  |Linux 2.6.37+ | | | | fanotify              | Linux 2.6.37+                    | [Planned](https://github.com/fsnotify/fsnotify/issues/114)                                                                      | | ||||||
| |USN Journals |Windows    |[Maybe](https://github.com/fsnotify/fsnotify/issues/53)| | | USN Journals          | Windows                          | [Maybe](https://github.com/fsnotify/fsnotify/issues/53)                                                                         | | ||||||
| |Polling   |*All*         |[Maybe](https://github.com/fsnotify/fsnotify/issues/9)| | | Polling               | *All*                            | [Maybe](https://github.com/fsnotify/fsnotify/issues/9)                                                                          | | ||||||
|  |  | ||||||
| \* Android and iOS are untested. | \* Android and iOS are untested. | ||||||
|  |  | ||||||
| @@ -33,6 +33,53 @@ All [releases](https://github.com/fsnotify/fsnotify/releases) are tagged based o | |||||||
|  |  | ||||||
| Go 1.6 supports dependencies located in the `vendor/` folder. Unless you are creating a library, it is recommended that you copy fsnotify into `vendor/github.com/fsnotify/fsnotify` within your project, and likewise for `golang.org/x/sys`. | Go 1.6 supports dependencies located in the `vendor/` folder. Unless you are creating a library, it is recommended that you copy fsnotify into `vendor/github.com/fsnotify/fsnotify` within your project, and likewise for `golang.org/x/sys`. | ||||||
|  |  | ||||||
|  | ## Usage | ||||||
|  |  | ||||||
|  | ```go | ||||||
|  | package main | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"log" | ||||||
|  |  | ||||||
|  | 	"github.com/fsnotify/fsnotify" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func main() { | ||||||
|  | 	watcher, err := fsnotify.NewWatcher() | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Fatal(err) | ||||||
|  | 	} | ||||||
|  | 	defer watcher.Close() | ||||||
|  |  | ||||||
|  | 	done := make(chan bool) | ||||||
|  | 	go func() { | ||||||
|  | 		for { | ||||||
|  | 			select { | ||||||
|  | 			case event, ok := <-watcher.Events: | ||||||
|  | 				if !ok { | ||||||
|  | 					return | ||||||
|  | 				} | ||||||
|  | 				log.Println("event:", event) | ||||||
|  | 				if event.Op&fsnotify.Write == fsnotify.Write { | ||||||
|  | 					log.Println("modified file:", event.Name) | ||||||
|  | 				} | ||||||
|  | 			case err, ok := <-watcher.Errors: | ||||||
|  | 				if !ok { | ||||||
|  | 					return | ||||||
|  | 				} | ||||||
|  | 				log.Println("error:", err) | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	}() | ||||||
|  |  | ||||||
|  | 	err = watcher.Add("/tmp/foo") | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Fatal(err) | ||||||
|  | 	} | ||||||
|  | 	<-done | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ## Contributing | ## Contributing | ||||||
|  |  | ||||||
| Please refer to [CONTRIBUTING][] before opening an issue or pull request. | Please refer to [CONTRIBUTING][] before opening an issue or pull request. | ||||||
| @@ -65,6 +112,10 @@ There are OS-specific limits as to how many watches can be created: | |||||||
| * Linux: /proc/sys/fs/inotify/max_user_watches contains the limit, reaching this limit results in a "no space left on device" error. | * Linux: /proc/sys/fs/inotify/max_user_watches contains the limit, reaching this limit results in a "no space left on device" error. | ||||||
| * BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc", reaching these limits results in a "too many open files" error. | * BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc", reaching these limits results in a "too many open files" error. | ||||||
|  |  | ||||||
|  | **Why don't notifications work with NFS filesystems or filesystem in userspace (FUSE)?** | ||||||
|  |  | ||||||
|  | fsnotify requires support from underlying OS to work. The current NFS protocol does not provide network level support for file notifications. | ||||||
|  |  | ||||||
| [#62]: https://github.com/howeyc/fsnotify/issues/62 | [#62]: https://github.com/howeyc/fsnotify/issues/62 | ||||||
| [#18]: https://github.com/fsnotify/fsnotify/issues/18 | [#18]: https://github.com/fsnotify/fsnotify/issues/18 | ||||||
| [#11]: https://github.com/fsnotify/fsnotify/issues/11 | [#11]: https://github.com/fsnotify/fsnotify/issues/11 | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/fsnotify/fsnotify/fsnotify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/fsnotify/fsnotify/fsnotify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -63,4 +63,6 @@ func (e Event) String() string { | |||||||
| } | } | ||||||
|  |  | ||||||
| // Common errors that can be reported by a watcher | // Common errors that can be reported by a watcher | ||||||
| var ErrEventOverflow = errors.New("fsnotify queue overflow") | var ( | ||||||
|  | 	ErrEventOverflow = errors.New("fsnotify queue overflow") | ||||||
|  | ) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								vendor/github.com/fsnotify/fsnotify/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/fsnotify/fsnotify/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | module github.com/fsnotify/fsnotify | ||||||
|  |  | ||||||
|  | go 1.13 | ||||||
|  |  | ||||||
|  | require golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9 | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/go.sum
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/go.sum
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9 h1:L2auWcuQIvxz9xSEqzESnV/QN/gNRXNApHi3fYwl2w0= | ||||||
|  | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
							
								
								
									
										4
									
								
								vendor/github.com/fsnotify/fsnotify/inotify_poller.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/fsnotify/fsnotify/inotify_poller.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -40,12 +40,12 @@ func newFdPoller(fd int) (*fdPoller, error) { | |||||||
| 	poller.fd = fd | 	poller.fd = fd | ||||||
|  |  | ||||||
| 	// Create epoll fd | 	// Create epoll fd | ||||||
| 	poller.epfd, errno = unix.EpollCreate1(0) | 	poller.epfd, errno = unix.EpollCreate1(unix.EPOLL_CLOEXEC) | ||||||
| 	if poller.epfd == -1 { | 	if poller.epfd == -1 { | ||||||
| 		return nil, errno | 		return nil, errno | ||||||
| 	} | 	} | ||||||
| 	// Create pipe; pipe[0] is the read end, pipe[1] the write end. | 	// Create pipe; pipe[0] is the read end, pipe[1] the write end. | ||||||
| 	errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK) | 	errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK|unix.O_CLOEXEC) | ||||||
| 	if errno != nil { | 	if errno != nil { | ||||||
| 		return nil, errno | 		return nil, errno | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,4 +8,4 @@ package fsnotify | |||||||
|  |  | ||||||
| import "golang.org/x/sys/unix" | import "golang.org/x/sys/unix" | ||||||
|  |  | ||||||
| const openMode = unix.O_NONBLOCK | unix.O_RDONLY | const openMode = unix.O_NONBLOCK | unix.O_RDONLY | unix.O_CLOEXEC | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,4 +9,4 @@ package fsnotify | |||||||
| import "golang.org/x/sys/unix" | import "golang.org/x/sys/unix" | ||||||
|  |  | ||||||
| // note: this constant is not defined on BSD | // note: this constant is not defined on BSD | ||||||
| const openMode = unix.O_EVTONLY | const openMode = unix.O_EVTONLY | unix.O_CLOEXEC | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								vendor/github.com/golang/protobuf/proto/properties.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/golang/protobuf/proto/properties.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -38,7 +38,6 @@ package proto | |||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"log" | 	"log" | ||||||
| 	"os" |  | ||||||
| 	"reflect" | 	"reflect" | ||||||
| 	"sort" | 	"sort" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| @@ -194,7 +193,7 @@ func (p *Properties) Parse(s string) { | |||||||
| 	// "bytes,49,opt,name=foo,def=hello!" | 	// "bytes,49,opt,name=foo,def=hello!" | ||||||
| 	fields := strings.Split(s, ",") // breaks def=, but handled below. | 	fields := strings.Split(s, ",") // breaks def=, but handled below. | ||||||
| 	if len(fields) < 2 { | 	if len(fields) < 2 { | ||||||
| 		fmt.Fprintf(os.Stderr, "proto: tag has too few fields: %q\n", s) | 		log.Printf("proto: tag has too few fields: %q", s) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -214,7 +213,7 @@ func (p *Properties) Parse(s string) { | |||||||
| 		p.WireType = WireBytes | 		p.WireType = WireBytes | ||||||
| 		// no numeric converter for non-numeric types | 		// no numeric converter for non-numeric types | ||||||
| 	default: | 	default: | ||||||
| 		fmt.Fprintf(os.Stderr, "proto: tag has unknown wire type: %q\n", s) | 		log.Printf("proto: tag has unknown wire type: %q", s) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/gorilla/websocket/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/gorilla/websocket/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,7 +8,7 @@ Gorilla WebSocket is a [Go](http://golang.org/) implementation of the | |||||||
|  |  | ||||||
| ### Documentation | ### Documentation | ||||||
|  |  | ||||||
| * [API Reference](http://godoc.org/github.com/gorilla/websocket) | * [API Reference](https://pkg.go.dev/github.com/gorilla/websocket?tab=doc) | ||||||
| * [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) | * [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) | ||||||
| * [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) | * [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) | ||||||
| * [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) | * [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -244,8 +244,8 @@ type Conn struct { | |||||||
| 	subprotocol string | 	subprotocol string | ||||||
|  |  | ||||||
| 	// Write fields | 	// Write fields | ||||||
| 	mu            chan bool // used as mutex to protect write to conn | 	mu            chan struct{} // used as mutex to protect write to conn | ||||||
| 	writeBuf      []byte    // frame is constructed in this buffer. | 	writeBuf      []byte        // frame is constructed in this buffer. | ||||||
| 	writePool     BufferPool | 	writePool     BufferPool | ||||||
| 	writeBufSize  int | 	writeBufSize  int | ||||||
| 	writeDeadline time.Time | 	writeDeadline time.Time | ||||||
| @@ -302,8 +302,8 @@ func newConn(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int, | |||||||
| 		writeBuf = make([]byte, writeBufferSize) | 		writeBuf = make([]byte, writeBufferSize) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	mu := make(chan bool, 1) | 	mu := make(chan struct{}, 1) | ||||||
| 	mu <- true | 	mu <- struct{}{} | ||||||
| 	c := &Conn{ | 	c := &Conn{ | ||||||
| 		isServer:               isServer, | 		isServer:               isServer, | ||||||
| 		br:                     br, | 		br:                     br, | ||||||
| @@ -377,7 +377,7 @@ func (c *Conn) read(n int) ([]byte, error) { | |||||||
|  |  | ||||||
| func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error { | func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error { | ||||||
| 	<-c.mu | 	<-c.mu | ||||||
| 	defer func() { c.mu <- true }() | 	defer func() { c.mu <- struct{}{} }() | ||||||
|  |  | ||||||
| 	c.writeErrMu.Lock() | 	c.writeErrMu.Lock() | ||||||
| 	err := c.writeErr | 	err := c.writeErr | ||||||
| @@ -429,7 +429,7 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||||||
| 		maskBytes(key, 0, buf[6:]) | 		maskBytes(key, 0, buf[6:]) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	d := time.Hour * 1000 | 	d := 1000 * time.Hour | ||||||
| 	if !deadline.IsZero() { | 	if !deadline.IsZero() { | ||||||
| 		d = deadline.Sub(time.Now()) | 		d = deadline.Sub(time.Now()) | ||||||
| 		if d < 0 { | 		if d < 0 { | ||||||
| @@ -444,7 +444,7 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||||||
| 	case <-timer.C: | 	case <-timer.C: | ||||||
| 		return errWriteTimeout | 		return errWriteTimeout | ||||||
| 	} | 	} | ||||||
| 	defer func() { c.mu <- true }() | 	defer func() { c.mu <- struct{}{} }() | ||||||
|  |  | ||||||
| 	c.writeErrMu.Lock() | 	c.writeErrMu.Lock() | ||||||
| 	err := c.writeErr | 	err := c.writeErr | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								vendor/github.com/gorilla/websocket/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/gorilla/websocket/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -187,9 +187,9 @@ | |||||||
| // than the largest message do not provide any benefit. | // than the largest message do not provide any benefit. | ||||||
| // | // | ||||||
| // Depending on the distribution of message sizes, setting the buffer size to | // Depending on the distribution of message sizes, setting the buffer size to | ||||||
| // to a value less than the maximum expected message size can greatly reduce | // a value less than the maximum expected message size can greatly reduce memory | ||||||
| // memory use with a small impact on performance. Here's an example: If 99% of | // use with a small impact on performance. Here's an example: If 99% of the | ||||||
| // the messages are smaller than 256 bytes and the maximum message size is 512 | // messages are smaller than 256 bytes and the maximum message size is 512 | ||||||
| // bytes, then a buffer size of 256 bytes will result in 1.01 more system calls | // bytes, then a buffer size of 256 bytes will result in 1.01 more system calls | ||||||
| // than a buffer size of 512 bytes. The memory savings is 50%. | // than a buffer size of 512 bytes. The memory savings is 50%. | ||||||
| // | // | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/gorilla/websocket/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/gorilla/websocket/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,2 +0,0 @@ | |||||||
| github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= |  | ||||||
| github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= |  | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/gorilla/websocket/prepared.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/gorilla/websocket/prepared.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -73,8 +73,8 @@ func (pm *PreparedMessage) frame(key prepareKey) (int, []byte, error) { | |||||||
| 		// Prepare a frame using a 'fake' connection. | 		// Prepare a frame using a 'fake' connection. | ||||||
| 		// TODO: Refactor code in conn.go to allow more direct construction of | 		// TODO: Refactor code in conn.go to allow more direct construction of | ||||||
| 		// the frame. | 		// the frame. | ||||||
| 		mu := make(chan bool, 1) | 		mu := make(chan struct{}, 1) | ||||||
| 		mu <- true | 		mu <- struct{}{} | ||||||
| 		var nc prepareConn | 		var nc prepareConn | ||||||
| 		c := &Conn{ | 		c := &Conn{ | ||||||
| 			conn:                   &nc, | 			conn:                   &nc, | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								vendor/github.com/hashicorp/golang-lru/lru.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/hashicorp/golang-lru/lru.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -37,7 +37,7 @@ func (c *Cache) Purge() { | |||||||
| 	c.lock.Unlock() | 	c.lock.Unlock() | ||||||
| } | } | ||||||
|  |  | ||||||
| // Add adds a value to the cache.  Returns true if an eviction occurred. | // Add adds a value to the cache. Returns true if an eviction occurred. | ||||||
| func (c *Cache) Add(key, value interface{}) (evicted bool) { | func (c *Cache) Add(key, value interface{}) (evicted bool) { | ||||||
| 	c.lock.Lock() | 	c.lock.Lock() | ||||||
| 	evicted = c.lru.Add(key, value) | 	evicted = c.lru.Add(key, value) | ||||||
| @@ -71,8 +71,8 @@ func (c *Cache) Peek(key interface{}) (value interface{}, ok bool) { | |||||||
| 	return value, ok | 	return value, ok | ||||||
| } | } | ||||||
|  |  | ||||||
| // ContainsOrAdd checks if a key is in the cache  without updating the | // ContainsOrAdd checks if a key is in the cache without updating the | ||||||
| // recent-ness or deleting it for being stale,  and if not, adds the value. | // recent-ness or deleting it for being stale, and if not, adds the value. | ||||||
| // Returns whether found and whether an eviction occurred. | // Returns whether found and whether an eviction occurred. | ||||||
| func (c *Cache) ContainsOrAdd(key, value interface{}) (ok, evicted bool) { | func (c *Cache) ContainsOrAdd(key, value interface{}) (ok, evicted bool) { | ||||||
| 	c.lock.Lock() | 	c.lock.Lock() | ||||||
| @@ -85,6 +85,22 @@ func (c *Cache) ContainsOrAdd(key, value interface{}) (ok, evicted bool) { | |||||||
| 	return false, evicted | 	return false, evicted | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // PeekOrAdd checks if a key is in the cache without updating the | ||||||
|  | // recent-ness or deleting it for being stale, and if not, adds the value. | ||||||
|  | // Returns whether found and whether an eviction occurred. | ||||||
|  | func (c *Cache) PeekOrAdd(key, value interface{}) (previous interface{}, ok, evicted bool) { | ||||||
|  | 	c.lock.Lock() | ||||||
|  | 	defer c.lock.Unlock() | ||||||
|  |  | ||||||
|  | 	previous, ok = c.lru.Peek(key) | ||||||
|  | 	if ok { | ||||||
|  | 		return previous, true, false | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	evicted = c.lru.Add(key, value) | ||||||
|  | 	return nil, false, evicted | ||||||
|  | } | ||||||
|  |  | ||||||
| // Remove removes the provided key from the cache. | // Remove removes the provided key from the cache. | ||||||
| func (c *Cache) Remove(key interface{}) (present bool) { | func (c *Cache) Remove(key interface{}) (present bool) { | ||||||
| 	c.lock.Lock() | 	c.lock.Lock() | ||||||
|   | |||||||
							
								
								
									
										63
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/chat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										63
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/chat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -70,7 +70,11 @@ func (a *API) GetConversations(unreadOnly bool) ([]chat1.ConvSummary, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) GetConversation(convID chat1.ConvIDStr) (res chat1.ConvSummary, err error) { | func (a *API) GetConversation(convID chat1.ConvIDStr) (res chat1.ConvSummary, err error) { | ||||||
| 	apiInput := fmt.Sprintf(`{"method":"list", "params": { "options": { "conversation_id": "%s"}}}`, convID) | 	convIDEscaped, err := json.Marshal(convID) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return res, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method":"list", "params": { "options": { "conversation_id": %s}}}`, convIDEscaped) | ||||||
| 	output, err := a.doFetch(apiInput) | 	output, err := a.doFetch(apiInput) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return res, err | 		return res, err | ||||||
| @@ -94,7 +98,7 @@ func (a *API) GetTextMessages(channel chat1.ChatChannel, unreadOnly bool) ([]cha | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "read", "params": {"options": {"channel": %s}}}`, string(channelBytes)) | 	apiInput := fmt.Sprintf(`{"method": "read", "params": {"options": {"channel": %s}}}`, channelBytes) | ||||||
| 	output, err := a.doFetch(apiInput) | 	output, err := a.doFetch(apiInput) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -324,7 +328,11 @@ type LeaveChannel struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) ListChannels(teamName string) ([]string, error) { | func (a *API) ListChannels(teamName string) ([]string, error) { | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "listconvsonname", "params": {"options": {"topic_type": "CHAT", "members_type": "team", "name": "%s"}}}`, teamName) | 	teamNameEscaped, err := json.Marshal(teamName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method": "listconvsonname", "params": {"options": {"topic_type": "CHAT", "members_type": "team", "name": %s}}}`, teamNameEscaped) | ||||||
| 	output, err := a.doFetch(apiInput) | 	output, err := a.doFetch(apiInput) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -347,7 +355,16 @@ func (a *API) ListChannels(teamName string) ([]string, error) { | |||||||
| func (a *API) JoinChannel(teamName string, channelName string) (chat1.EmptyRes, error) { | func (a *API) JoinChannel(teamName string, channelName string) (chat1.EmptyRes, error) { | ||||||
| 	empty := chat1.EmptyRes{} | 	empty := chat1.EmptyRes{} | ||||||
|  |  | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "join", "params": {"options": {"channel": {"name": "%s", "members_type": "team", "topic_name": "%s"}}}}`, teamName, channelName) | 	teamNameEscaped, err := json.Marshal(teamName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return empty, err | ||||||
|  | 	} | ||||||
|  | 	channelNameEscaped, err := json.Marshal(channelName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return empty, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method": "join", "params": {"options": {"channel": {"name": %s, "members_type": "team", "topic_name": %s}}}}`, | ||||||
|  | 		teamNameEscaped, channelNameEscaped) | ||||||
| 	output, err := a.doFetch(apiInput) | 	output, err := a.doFetch(apiInput) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return empty, err | 		return empty, err | ||||||
| @@ -367,7 +384,16 @@ func (a *API) JoinChannel(teamName string, channelName string) (chat1.EmptyRes, | |||||||
| func (a *API) LeaveChannel(teamName string, channelName string) (chat1.EmptyRes, error) { | func (a *API) LeaveChannel(teamName string, channelName string) (chat1.EmptyRes, error) { | ||||||
| 	empty := chat1.EmptyRes{} | 	empty := chat1.EmptyRes{} | ||||||
|  |  | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "leave", "params": {"options": {"channel": {"name": "%s", "members_type": "team", "topic_name": "%s"}}}}`, teamName, channelName) | 	teamNameEscaped, err := json.Marshal(teamName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return empty, err | ||||||
|  | 	} | ||||||
|  | 	channelNameEscaped, err := json.Marshal(channelName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return empty, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method": "leave", "params": {"options": {"channel": {"name": %s, "members_type": "team", "topic_name": %s}}}}`, | ||||||
|  | 		teamNameEscaped, channelNameEscaped) | ||||||
| 	output, err := a.doFetch(apiInput) | 	output, err := a.doFetch(apiInput) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return empty, err | 		return empty, err | ||||||
| @@ -461,13 +487,28 @@ func (a *API) AdvertiseCommands(ad Advertisement) (SendResponse, error) { | |||||||
| 	return a.doSend(newAdvertiseCmdsMsgArg(ad)) | 	return a.doSend(newAdvertiseCmdsMsgArg(ad)) | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) ClearCommands() error { | type clearCmdsOptions struct { | ||||||
| 	arg := struct { | 	Filter *chat1.ClearCommandAPIParam `json:"filter"` | ||||||
| 		Method string | } | ||||||
| 	}{ |  | ||||||
|  | type clearCmdsParams struct { | ||||||
|  | 	Options clearCmdsOptions `json:"options"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type clearCmdsArg struct { | ||||||
|  | 	Method string          `json:"method"` | ||||||
|  | 	Params clearCmdsParams `json:"params,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (a *API) ClearCommands(filter *chat1.ClearCommandAPIParam) error { | ||||||
|  | 	_, err := a.doSend(clearCmdsArg{ | ||||||
| 		Method: "clearcommands", | 		Method: "clearcommands", | ||||||
| 	} | 		Params: clearCmdsParams{ | ||||||
| 	_, err := a.doSend(arg) | 			Options: clearCmdsOptions{ | ||||||
|  | 				Filter: filter, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 	}) | ||||||
| 	return err | 	return err | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,9 +1,14 @@ | |||||||
| package kbchat | package kbchat | ||||||
|  |  | ||||||
| import "fmt" | import ( | ||||||
|  | 	"errors" | ||||||
|  | 	"fmt" | ||||||
|  | ) | ||||||
|  |  | ||||||
| type ErrorCode int | type ErrorCode int | ||||||
|  |  | ||||||
|  | var errAPIDisconnected = errors.New("chat API disconnected") | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| 	RevisionErrorCode          ErrorCode = 2760 | 	RevisionErrorCode          ErrorCode = 2760 | ||||||
| 	DeleteNonExistentErrorCode ErrorCode = 2762 | 	DeleteNonExistentErrorCode ErrorCode = 2762 | ||||||
|   | |||||||
							
								
								
									
										423
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/kbchat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										423
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/kbchat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,6 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"log" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"os/exec" | 	"os/exec" | ||||||
| 	"sync" | 	"sync" | ||||||
| @@ -18,63 +17,110 @@ import ( | |||||||
| 	"github.com/keybase/go-keybase-chat-bot/kbchat/types/stellar1" | 	"github.com/keybase/go-keybase-chat-bot/kbchat/types/stellar1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // API is the main object used for communicating with the Keybase JSON API | // SubscriptionMessage contains a message and conversation object | ||||||
| type API struct { | type SubscriptionMessage struct { | ||||||
| 	sync.Mutex | 	Message      chat1.MsgSummary | ||||||
| 	apiInput      io.Writer | 	Conversation chat1.ConvSummary | ||||||
| 	apiOutput     *bufio.Reader |  | ||||||
| 	apiCmd        *exec.Cmd |  | ||||||
| 	username      string |  | ||||||
| 	runOpts       RunOptions |  | ||||||
| 	subscriptions []*NewSubscription |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func getUsername(runOpts RunOptions) (username string, err error) { | type SubscriptionConversation struct { | ||||||
| 	p := runOpts.Command("whoami", "-json") | 	Conversation chat1.ConvSummary | ||||||
| 	output, err := p.StdoutPipe() | } | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 	p.ExtraFiles = []*os.File{output.(*os.File)} |  | ||||||
| 	if err = p.Start(); err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	doneCh := make(chan error) | type SubscriptionWalletEvent struct { | ||||||
| 	go func() { | 	Payment stellar1.PaymentDetailsLocal | ||||||
| 		defer func() { close(doneCh) }() | } | ||||||
| 		statusJSON, err := ioutil.ReadAll(output) |  | ||||||
| 		if err != nil { |  | ||||||
| 			doneCh <- fmt.Errorf("error reading whoami output: %v", err) |  | ||||||
| 			return |  | ||||||
| 		} |  | ||||||
| 		var status keybase1.CurrentStatus |  | ||||||
| 		if err := json.Unmarshal(statusJSON, &status); err != nil { |  | ||||||
| 			doneCh <- fmt.Errorf("invalid whoami JSON %q: %v", statusJSON, err) |  | ||||||
| 			return |  | ||||||
| 		} |  | ||||||
| 		if status.LoggedIn && status.User != nil { |  | ||||||
| 			username = status.User.Username |  | ||||||
| 			doneCh <- nil |  | ||||||
| 		} else { |  | ||||||
| 			doneCh <- fmt.Errorf("unable to authenticate to keybase service: logged in: %v user: %+v", status.LoggedIn, status.User) |  | ||||||
| 		} |  | ||||||
| 		// Cleanup the command |  | ||||||
| 		if err := p.Wait(); err != nil { |  | ||||||
| 			log.Printf("unable to wait for cmd: %v", err) |  | ||||||
| 		} |  | ||||||
| 	}() |  | ||||||
|  |  | ||||||
|  | // Subscription has methods to control the background message fetcher loop | ||||||
|  | type Subscription struct { | ||||||
|  | 	*DebugOutput | ||||||
|  | 	sync.Mutex | ||||||
|  |  | ||||||
|  | 	newMsgsCh   chan SubscriptionMessage | ||||||
|  | 	newConvsCh  chan SubscriptionConversation | ||||||
|  | 	newWalletCh chan SubscriptionWalletEvent | ||||||
|  | 	errorCh     chan error | ||||||
|  | 	running     bool | ||||||
|  | 	shutdownCh  chan struct{} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewSubscription() *Subscription { | ||||||
|  | 	newMsgsCh := make(chan SubscriptionMessage, 100) | ||||||
|  | 	newConvsCh := make(chan SubscriptionConversation, 100) | ||||||
|  | 	newWalletCh := make(chan SubscriptionWalletEvent, 100) | ||||||
|  | 	errorCh := make(chan error, 100) | ||||||
|  | 	shutdownCh := make(chan struct{}) | ||||||
|  | 	return &Subscription{ | ||||||
|  | 		DebugOutput: NewDebugOutput("Subscription"), | ||||||
|  | 		newMsgsCh:   newMsgsCh, | ||||||
|  | 		newConvsCh:  newConvsCh, | ||||||
|  | 		newWalletCh: newWalletCh, | ||||||
|  | 		shutdownCh:  shutdownCh, | ||||||
|  | 		errorCh:     errorCh, | ||||||
|  | 		running:     true, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Read blocks until a new message arrives | ||||||
|  | func (m *Subscription) Read() (msg SubscriptionMessage, err error) { | ||||||
|  | 	defer m.Trace(&err, "Read")() | ||||||
| 	select { | 	select { | ||||||
| 	case err = <-doneCh: | 	case msg = <-m.newMsgsCh: | ||||||
| 		if err != nil { | 		return msg, nil | ||||||
| 			return "", err | 	case err = <-m.errorCh: | ||||||
| 		} | 		return SubscriptionMessage{}, err | ||||||
| 	case <-time.After(5 * time.Second): | 	case <-m.shutdownCh: | ||||||
| 		return "", errors.New("unable to run Keybase command") | 		return SubscriptionMessage{}, errors.New("Subscription shutdown") | ||||||
| 	} | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| 	return username, nil | func (m *Subscription) ReadNewConvs() (conv SubscriptionConversation, err error) { | ||||||
|  | 	defer m.Trace(&err, "ReadNewConvs")() | ||||||
|  | 	select { | ||||||
|  | 	case conv = <-m.newConvsCh: | ||||||
|  | 		return conv, nil | ||||||
|  | 	case err = <-m.errorCh: | ||||||
|  | 		return SubscriptionConversation{}, err | ||||||
|  | 	case <-m.shutdownCh: | ||||||
|  | 		return SubscriptionConversation{}, errors.New("Subscription shutdown") | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Read blocks until a new message arrives | ||||||
|  | func (m *Subscription) ReadWallet() (msg SubscriptionWalletEvent, err error) { | ||||||
|  | 	defer m.Trace(&err, "ReadWallet")() | ||||||
|  | 	select { | ||||||
|  | 	case msg = <-m.newWalletCh: | ||||||
|  | 		return msg, nil | ||||||
|  | 	case err = <-m.errorCh: | ||||||
|  | 		return SubscriptionWalletEvent{}, err | ||||||
|  | 	case <-m.shutdownCh: | ||||||
|  | 		return SubscriptionWalletEvent{}, errors.New("Subscription shutdown") | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Shutdown terminates the background process | ||||||
|  | func (m *Subscription) Shutdown() { | ||||||
|  | 	defer m.Trace(nil, "Shutdown")() | ||||||
|  | 	m.Lock() | ||||||
|  | 	defer m.Unlock() | ||||||
|  | 	if m.running { | ||||||
|  | 		close(m.shutdownCh) | ||||||
|  | 		m.running = false | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ListenOptions struct { | ||||||
|  | 	Wallet bool | ||||||
|  | 	Convs  bool | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type PaymentHolder struct { | ||||||
|  | 	Payment stellar1.PaymentDetailsLocal `json:"notification"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type TypeHolder struct { | ||||||
|  | 	Type string `json:"type"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type OneshotOptions struct { | type OneshotOptions struct { | ||||||
| @@ -110,22 +156,101 @@ func (r RunOptions) Command(args ...string) *exec.Cmd { | |||||||
| } | } | ||||||
|  |  | ||||||
| // Start fires up the Keybase JSON API in stdin/stdout mode | // Start fires up the Keybase JSON API in stdin/stdout mode | ||||||
| func Start(runOpts RunOptions) (*API, error) { | func Start(runOpts RunOptions, opts ...func(*API)) (*API, error) { | ||||||
| 	api := &API{ | 	api := NewAPI(runOpts, opts...) | ||||||
| 		runOpts: runOpts, |  | ||||||
| 	} |  | ||||||
| 	if err := api.startPipes(); err != nil { | 	if err := api.startPipes(); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	return api, nil | 	return api, nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // API is the main object used for communicating with the Keybase JSON API | ||||||
|  | type API struct { | ||||||
|  | 	sync.Mutex | ||||||
|  | 	*DebugOutput | ||||||
|  | 	apiInput      io.Writer | ||||||
|  | 	apiOutput     *bufio.Reader | ||||||
|  | 	apiCmd        *exec.Cmd | ||||||
|  | 	username      string | ||||||
|  | 	runOpts       RunOptions | ||||||
|  | 	subscriptions []*Subscription | ||||||
|  | 	Timeout       time.Duration | ||||||
|  | 	LogSendBytes  int | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func CustomTimeout(timeout time.Duration) func(*API) { | ||||||
|  | 	return func(a *API) { | ||||||
|  | 		a.Timeout = timeout | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewAPI(runOpts RunOptions, opts ...func(*API)) *API { | ||||||
|  | 	api := &API{ | ||||||
|  | 		DebugOutput:  NewDebugOutput("API"), | ||||||
|  | 		runOpts:      runOpts, | ||||||
|  | 		Timeout:      5 * time.Second, | ||||||
|  | 		LogSendBytes: 1024 * 1024 * 5, // request 5MB so we don't get killed | ||||||
|  | 	} | ||||||
|  | 	for _, opt := range opts { | ||||||
|  | 		opt(api) | ||||||
|  | 	} | ||||||
|  | 	return api | ||||||
|  | } | ||||||
|  |  | ||||||
| func (a *API) Command(args ...string) *exec.Cmd { | func (a *API) Command(args ...string) *exec.Cmd { | ||||||
| 	return a.runOpts.Command(args...) | 	return a.runOpts.Command(args...) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (a *API) getUsername(runOpts RunOptions) (username string, err error) { | ||||||
|  | 	p := runOpts.Command("whoami", "-json") | ||||||
|  | 	output, err := p.StdoutPipe() | ||||||
|  | 	if err != nil { | ||||||
|  | 		return "", err | ||||||
|  | 	} | ||||||
|  | 	p.ExtraFiles = []*os.File{output.(*os.File)} | ||||||
|  | 	if err = p.Start(); err != nil { | ||||||
|  | 		return "", err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	doneCh := make(chan error) | ||||||
|  | 	go func() { | ||||||
|  | 		defer func() { close(doneCh) }() | ||||||
|  | 		statusJSON, err := ioutil.ReadAll(output) | ||||||
|  | 		if err != nil { | ||||||
|  | 			doneCh <- fmt.Errorf("error reading whoami output: %v", err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  | 		var status keybase1.CurrentStatus | ||||||
|  | 		if err := json.Unmarshal(statusJSON, &status); err != nil { | ||||||
|  | 			doneCh <- fmt.Errorf("invalid whoami JSON %q: %v", statusJSON, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  | 		if status.LoggedIn && status.User != nil { | ||||||
|  | 			username = status.User.Username | ||||||
|  | 			doneCh <- nil | ||||||
|  | 		} else { | ||||||
|  | 			doneCh <- fmt.Errorf("unable to authenticate to keybase service: logged in: %v user: %+v", status.LoggedIn, status.User) | ||||||
|  | 		} | ||||||
|  | 		// Cleanup the command | ||||||
|  | 		if err := p.Wait(); err != nil { | ||||||
|  | 			a.Debug("unable to wait for cmd: %v", err) | ||||||
|  | 		} | ||||||
|  | 	}() | ||||||
|  |  | ||||||
|  | 	select { | ||||||
|  | 	case err = <-doneCh: | ||||||
|  | 		if err != nil { | ||||||
|  | 			return "", err | ||||||
|  | 		} | ||||||
|  | 	case <-time.After(a.Timeout): | ||||||
|  | 		return "", errors.New("unable to run Keybase command") | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return username, nil | ||||||
|  | } | ||||||
|  |  | ||||||
| func (a *API) auth() (string, error) { | func (a *API) auth() (string, error) { | ||||||
| 	username, err := getUsername(a.runOpts) | 	username, err := a.getUsername(a.runOpts) | ||||||
| 	if err == nil { | 	if err == nil { | ||||||
| 		return username, nil | 		return username, nil | ||||||
| 	} | 	} | ||||||
| @@ -194,8 +319,6 @@ func (a *API) startPipes() (err error) { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
| var errAPIDisconnected = errors.New("chat API disconnected") |  | ||||||
|  |  | ||||||
| func (a *API) getAPIPipesLocked() (io.Writer, *bufio.Reader, error) { | func (a *API) getAPIPipesLocked() (io.Writer, *bufio.Reader, error) { | ||||||
| 	// this should only be called inside a lock | 	// this should only be called inside a lock | ||||||
| 	if a.apiCmd == nil { | 	if a.apiCmd == nil { | ||||||
| @@ -214,7 +337,7 @@ func (a *API) doSend(arg interface{}) (resp SendResponse, err error) { | |||||||
|  |  | ||||||
| 	bArg, err := json.Marshal(arg) | 	bArg, err := json.Marshal(arg) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return SendResponse{}, err | 		return SendResponse{}, fmt.Errorf("unable to send arg: %+v: %v", arg, err) | ||||||
| 	} | 	} | ||||||
| 	input, output, err := a.getAPIPipesLocked() | 	input, output, err := a.getAPIPipesLocked() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -228,7 +351,7 @@ func (a *API) doSend(arg interface{}) (resp SendResponse, err error) { | |||||||
| 		return SendResponse{}, err | 		return SendResponse{}, err | ||||||
| 	} | 	} | ||||||
| 	if err := json.Unmarshal(responseRaw, &resp); err != nil { | 	if err := json.Unmarshal(responseRaw, &resp); err != nil { | ||||||
| 		return resp, fmt.Errorf("failed to decode API response: %s", err) | 		return resp, fmt.Errorf("failed to decode API response: %v %v", responseRaw, err) | ||||||
| 	} else if resp.Error != nil { | 	} else if resp.Error != nil { | ||||||
| 		return resp, errors.New(resp.Error.Message) | 		return resp, errors.New(resp.Error.Message) | ||||||
| 	} | 	} | ||||||
| @@ -254,97 +377,13 @@ func (a *API) doFetch(apiInput string) ([]byte, error) { | |||||||
| 	return byteOutput, nil | 	return byteOutput, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // SubscriptionMessage contains a message and conversation object |  | ||||||
| type SubscriptionMessage struct { |  | ||||||
| 	Message      chat1.MsgSummary |  | ||||||
| 	Conversation chat1.ConvSummary |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type SubscriptionConversation struct { |  | ||||||
| 	Conversation chat1.ConvSummary |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type SubscriptionWalletEvent struct { |  | ||||||
| 	Payment stellar1.PaymentDetailsLocal |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // NewSubscription has methods to control the background message fetcher loop |  | ||||||
| type NewSubscription struct { |  | ||||||
| 	sync.Mutex |  | ||||||
|  |  | ||||||
| 	newMsgsCh   <-chan SubscriptionMessage |  | ||||||
| 	newConvsCh  <-chan SubscriptionConversation |  | ||||||
| 	newWalletCh <-chan SubscriptionWalletEvent |  | ||||||
| 	errorCh     <-chan error |  | ||||||
| 	running     bool |  | ||||||
| 	shutdownCh  chan struct{} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Read blocks until a new message arrives |  | ||||||
| func (m *NewSubscription) Read() (SubscriptionMessage, error) { |  | ||||||
| 	select { |  | ||||||
| 	case msg := <-m.newMsgsCh: |  | ||||||
| 		return msg, nil |  | ||||||
| 	case err := <-m.errorCh: |  | ||||||
| 		return SubscriptionMessage{}, err |  | ||||||
| 	case <-m.shutdownCh: |  | ||||||
| 		return SubscriptionMessage{}, errors.New("Subscription shutdown") |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (m *NewSubscription) ReadNewConvs() (SubscriptionConversation, error) { |  | ||||||
| 	select { |  | ||||||
| 	case conv := <-m.newConvsCh: |  | ||||||
| 		return conv, nil |  | ||||||
| 	case err := <-m.errorCh: |  | ||||||
| 		return SubscriptionConversation{}, err |  | ||||||
| 	case <-m.shutdownCh: |  | ||||||
| 		return SubscriptionConversation{}, errors.New("Subscription shutdown") |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Read blocks until a new message arrives |  | ||||||
| func (m *NewSubscription) ReadWallet() (SubscriptionWalletEvent, error) { |  | ||||||
| 	select { |  | ||||||
| 	case msg := <-m.newWalletCh: |  | ||||||
| 		return msg, nil |  | ||||||
| 	case err := <-m.errorCh: |  | ||||||
| 		return SubscriptionWalletEvent{}, err |  | ||||||
| 	case <-m.shutdownCh: |  | ||||||
| 		return SubscriptionWalletEvent{}, errors.New("Subscription shutdown") |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Shutdown terminates the background process |  | ||||||
| func (m *NewSubscription) Shutdown() { |  | ||||||
| 	m.Lock() |  | ||||||
| 	defer m.Unlock() |  | ||||||
| 	if m.running { |  | ||||||
| 		close(m.shutdownCh) |  | ||||||
| 		m.running = false |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type ListenOptions struct { |  | ||||||
| 	Wallet bool |  | ||||||
| 	Convs  bool |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type PaymentHolder struct { |  | ||||||
| 	Payment stellar1.PaymentDetailsLocal `json:"notification"` |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type TypeHolder struct { |  | ||||||
| 	Type string `json:"type"` |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // ListenForNewTextMessages proxies to Listen without wallet events | // ListenForNewTextMessages proxies to Listen without wallet events | ||||||
| func (a *API) ListenForNewTextMessages() (*NewSubscription, error) { | func (a *API) ListenForNewTextMessages() (*Subscription, error) { | ||||||
| 	opts := ListenOptions{Wallet: false} | 	opts := ListenOptions{Wallet: false} | ||||||
| 	return a.Listen(opts) | 	return a.Listen(opts) | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) registerSubscription(sub *NewSubscription) { | func (a *API) registerSubscription(sub *Subscription) { | ||||||
| 	a.Lock() | 	a.Lock() | ||||||
| 	defer a.Unlock() | 	defer a.Unlock() | ||||||
| 	a.subscriptions = append(a.subscriptions, sub) | 	a.subscriptions = append(a.subscriptions, sub) | ||||||
| @@ -352,30 +391,17 @@ func (a *API) registerSubscription(sub *NewSubscription) { | |||||||
|  |  | ||||||
| // Listen fires of a background loop and puts chat messages and wallet | // Listen fires of a background loop and puts chat messages and wallet | ||||||
| // events into channels | // events into channels | ||||||
| func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | func (a *API) Listen(opts ListenOptions) (*Subscription, error) { | ||||||
| 	newMsgsCh := make(chan SubscriptionMessage, 100) |  | ||||||
| 	newConvsCh := make(chan SubscriptionConversation, 100) |  | ||||||
| 	newWalletCh := make(chan SubscriptionWalletEvent, 100) |  | ||||||
| 	errorCh := make(chan error, 100) |  | ||||||
| 	shutdownCh := make(chan struct{}) |  | ||||||
| 	done := make(chan struct{}) | 	done := make(chan struct{}) | ||||||
|  | 	sub := NewSubscription() | ||||||
| 	sub := &NewSubscription{ |  | ||||||
| 		newMsgsCh:   newMsgsCh, |  | ||||||
| 		newConvsCh:  newConvsCh, |  | ||||||
| 		newWalletCh: newWalletCh, |  | ||||||
| 		shutdownCh:  shutdownCh, |  | ||||||
| 		errorCh:     errorCh, |  | ||||||
| 		running:     true, |  | ||||||
| 	} |  | ||||||
| 	a.registerSubscription(sub) | 	a.registerSubscription(sub) | ||||||
| 	pause := 2 * time.Second | 	pause := 2 * time.Second | ||||||
| 	readScanner := func(boutput *bufio.Scanner) { | 	readScanner := func(boutput *bufio.Scanner) { | ||||||
| 		defer func() { done <- struct{}{} }() | 		defer func() { done <- struct{}{} }() | ||||||
| 		for { | 		for { | ||||||
| 			select { | 			select { | ||||||
| 			case <-shutdownCh: | 			case <-sub.shutdownCh: | ||||||
| 				log.Printf("readScanner: received shutdown") | 				a.Debug("readScanner: received shutdown") | ||||||
| 				return | 				return | ||||||
| 			default: | 			default: | ||||||
| 			} | 			} | ||||||
| @@ -383,18 +409,18 @@ func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | |||||||
| 			t := boutput.Text() | 			t := boutput.Text() | ||||||
| 			var typeHolder TypeHolder | 			var typeHolder TypeHolder | ||||||
| 			if err := json.Unmarshal([]byte(t), &typeHolder); err != nil { | 			if err := json.Unmarshal([]byte(t), &typeHolder); err != nil { | ||||||
| 				errorCh <- err | 				sub.errorCh <- fmt.Errorf("err: %v, data: %v", err, t) | ||||||
| 				break | 				break | ||||||
| 			} | 			} | ||||||
| 			switch typeHolder.Type { | 			switch typeHolder.Type { | ||||||
| 			case "chat": | 			case "chat": | ||||||
| 				var notification chat1.MsgNotification | 				var notification chat1.MsgNotification | ||||||
| 				if err := json.Unmarshal([]byte(t), ¬ification); err != nil { | 				if err := json.Unmarshal([]byte(t), ¬ification); err != nil { | ||||||
| 					errorCh <- err | 					sub.errorCh <- fmt.Errorf("err: %v, data: %v", err, t) | ||||||
| 					break | 					break | ||||||
| 				} | 				} | ||||||
| 				if notification.Error != nil { | 				if notification.Error != nil { | ||||||
| 					log.Printf("error message received: %s", *notification.Error) | 					a.Debug("error message received: %s", *notification.Error) | ||||||
| 				} else if notification.Msg != nil { | 				} else if notification.Msg != nil { | ||||||
| 					subscriptionMessage := SubscriptionMessage{ | 					subscriptionMessage := SubscriptionMessage{ | ||||||
| 						Message: *notification.Msg, | 						Message: *notification.Msg, | ||||||
| @@ -403,30 +429,30 @@ func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | |||||||
| 							Channel: notification.Msg.Channel, | 							Channel: notification.Msg.Channel, | ||||||
| 						}, | 						}, | ||||||
| 					} | 					} | ||||||
| 					newMsgsCh <- subscriptionMessage | 					sub.newMsgsCh <- subscriptionMessage | ||||||
| 				} | 				} | ||||||
| 			case "chat_conv": | 			case "chat_conv": | ||||||
| 				var notification chat1.ConvNotification | 				var notification chat1.ConvNotification | ||||||
| 				if err := json.Unmarshal([]byte(t), ¬ification); err != nil { | 				if err := json.Unmarshal([]byte(t), ¬ification); err != nil { | ||||||
| 					errorCh <- err | 					sub.errorCh <- fmt.Errorf("err: %v, data: %v", err, t) | ||||||
| 					break | 					break | ||||||
| 				} | 				} | ||||||
| 				if notification.Error != nil { | 				if notification.Error != nil { | ||||||
| 					log.Printf("error message received: %s", *notification.Error) | 					a.Debug("error message received: %s", *notification.Error) | ||||||
| 				} else if notification.Conv != nil { | 				} else if notification.Conv != nil { | ||||||
| 					subscriptionConv := SubscriptionConversation{ | 					subscriptionConv := SubscriptionConversation{ | ||||||
| 						Conversation: *notification.Conv, | 						Conversation: *notification.Conv, | ||||||
| 					} | 					} | ||||||
| 					newConvsCh <- subscriptionConv | 					sub.newConvsCh <- subscriptionConv | ||||||
| 				} | 				} | ||||||
| 			case "wallet": | 			case "wallet": | ||||||
| 				var holder PaymentHolder | 				var holder PaymentHolder | ||||||
| 				if err := json.Unmarshal([]byte(t), &holder); err != nil { | 				if err := json.Unmarshal([]byte(t), &holder); err != nil { | ||||||
| 					errorCh <- err | 					sub.errorCh <- fmt.Errorf("err: %v, data: %v", err, t) | ||||||
| 					break | 					break | ||||||
| 				} | 				} | ||||||
| 				subscriptionPayment := SubscriptionWalletEvent(holder) | 				subscriptionPayment := SubscriptionWalletEvent(holder) | ||||||
| 				newWalletCh <- subscriptionPayment | 				sub.newWalletCh <- subscriptionPayment | ||||||
| 			default: | 			default: | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| @@ -434,31 +460,31 @@ func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	attempts := 0 | 	attempts := 0 | ||||||
| 	maxAttempts := 1800 | 	maxAttempts := 30 | ||||||
| 	go func() { | 	go func() { | ||||||
| 		defer func() { | 		defer func() { | ||||||
| 			close(newMsgsCh) | 			close(sub.newMsgsCh) | ||||||
| 			close(newConvsCh) | 			close(sub.newConvsCh) | ||||||
| 			close(newWalletCh) | 			close(sub.newWalletCh) | ||||||
| 			close(errorCh) | 			close(sub.errorCh) | ||||||
| 		}() | 		}() | ||||||
| 		for { | 		for { | ||||||
| 			select { | 			select { | ||||||
| 			case <-shutdownCh: | 			case <-sub.shutdownCh: | ||||||
| 				log.Printf("Listen: received shutdown") | 				a.Debug("Listen: received shutdown") | ||||||
| 				return | 				return | ||||||
| 			default: | 			default: | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if attempts >= maxAttempts { | 			if attempts >= maxAttempts { | ||||||
| 				if err := a.LogSend("Listen: failed to auth, giving up"); err != nil { | 				if err := a.LogSend("Listen: failed to auth, giving up"); err != nil { | ||||||
| 					log.Printf("Listen: logsend failed to send: %v", err) | 					a.Debug("Listen: logsend failed to send: %v", err) | ||||||
| 				} | 				} | ||||||
| 				panic("Listen: failed to auth, giving up") | 				panic("Listen: failed to auth, giving up") | ||||||
| 			} | 			} | ||||||
| 			attempts++ | 			attempts++ | ||||||
| 			if _, err := a.auth(); err != nil { | 			if _, err := a.auth(); err != nil { | ||||||
| 				log.Printf("Listen: failed to auth: %s", err) | 				a.Debug("Listen: failed to auth: %s", err) | ||||||
| 				time.Sleep(pause) | 				time.Sleep(pause) | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| @@ -472,13 +498,13 @@ func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | |||||||
| 			p := a.runOpts.Command(cmdElements...) | 			p := a.runOpts.Command(cmdElements...) | ||||||
| 			output, err := p.StdoutPipe() | 			output, err := p.StdoutPipe() | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Printf("Listen: failed to listen: %s", err) | 				a.Debug("Listen: failed to listen: %s", err) | ||||||
| 				time.Sleep(pause) | 				time.Sleep(pause) | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 			stderr, err := p.StderrPipe() | 			stderr, err := p.StderrPipe() | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Printf("Listen: failed to listen to stderr: %s", err) | 				a.Debug("Listen: failed to listen to stderr: %s", err) | ||||||
| 				time.Sleep(pause) | 				time.Sleep(pause) | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| @@ -486,19 +512,27 @@ func (a *API) Listen(opts ListenOptions) (*NewSubscription, error) { | |||||||
| 			boutput := bufio.NewScanner(output) | 			boutput := bufio.NewScanner(output) | ||||||
| 			if err := p.Start(); err != nil { | 			if err := p.Start(); err != nil { | ||||||
|  |  | ||||||
| 				log.Printf("Listen: failed to make listen scanner: %s", err) | 				a.Debug("Listen: failed to make listen scanner: %s", err) | ||||||
| 				time.Sleep(pause) | 				time.Sleep(pause) | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 			attempts = 0 | 			attempts = 0 | ||||||
| 			go readScanner(boutput) | 			go readScanner(boutput) | ||||||
| 			<-done | 			select { | ||||||
|  | 			case <-sub.shutdownCh: | ||||||
|  | 				a.Debug("Listen: received shutdown") | ||||||
|  | 				return | ||||||
|  | 			case <-done: | ||||||
|  | 			} | ||||||
| 			if err := p.Wait(); err != nil { | 			if err := p.Wait(); err != nil { | ||||||
| 				stderrBytes, rerr := ioutil.ReadAll(stderr) | 				stderrBytes, rerr := ioutil.ReadAll(stderr) | ||||||
| 				if rerr != nil { | 				if rerr != nil { | ||||||
| 					stderrBytes = []byte("failed to get stderr") | 					stderrBytes = []byte(fmt.Sprintf("failed to get stderr: %v", rerr)) | ||||||
|  | 				} | ||||||
|  | 				a.Debug("Listen: failed to Wait for command, restarting pipes: %s (```%s```)", err, stderrBytes) | ||||||
|  | 				if err := a.startPipes(); err != nil { | ||||||
|  | 					a.Debug("Listen: failed to restart pipes: %v", err) | ||||||
| 				} | 				} | ||||||
| 				log.Printf("Listen: failed to Wait for command: %s (```%s```)", err, stderrBytes) |  | ||||||
| 			} | 			} | ||||||
| 			time.Sleep(pause) | 			time.Sleep(pause) | ||||||
| 		} | 		} | ||||||
| @@ -515,31 +549,27 @@ func (a *API) LogSend(feedback string) error { | |||||||
| 		"log", "send", | 		"log", "send", | ||||||
| 		"--no-confirm", | 		"--no-confirm", | ||||||
| 		"--feedback", feedback, | 		"--feedback", feedback, | ||||||
|  | 		"-n", fmt.Sprintf("%d", a.LogSendBytes), | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// We're determining whether the service is already running by running status |  | ||||||
| 	// with autofork disabled. |  | ||||||
| 	if err := a.runOpts.Command("--no-auto-fork", "status"); err != nil { |  | ||||||
| 		// Assume that there's no service running, so log send as standalone |  | ||||||
| 		args = append([]string{"--standalone"}, args...) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	return a.runOpts.Command(args...).Run() | 	return a.runOpts.Command(args...).Run() | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) Shutdown() error { | func (a *API) Shutdown() (err error) { | ||||||
|  | 	defer a.Trace(&err, "Shutdown")() | ||||||
| 	a.Lock() | 	a.Lock() | ||||||
| 	defer a.Unlock() | 	defer a.Unlock() | ||||||
| 	for _, sub := range a.subscriptions { | 	for _, sub := range a.subscriptions { | ||||||
| 		sub.Shutdown() | 		sub.Shutdown() | ||||||
| 	} | 	} | ||||||
| 	if a.apiCmd != nil { | 	if a.apiCmd != nil { | ||||||
|  | 		a.Debug("waiting for API command") | ||||||
| 		if err := a.apiCmd.Wait(); err != nil { | 		if err := a.apiCmd.Wait(); err != nil { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if a.runOpts.Oneshot != nil { | 	if a.runOpts.Oneshot != nil { | ||||||
|  | 		a.Debug("logging out") | ||||||
| 		err := a.runOpts.Command("logout", "--force").Run() | 		err := a.runOpts.Command("logout", "--force").Run() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return err | 			return err | ||||||
| @@ -547,6 +577,7 @@ func (a *API) Shutdown() error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if a.runOpts.StartService { | 	if a.runOpts.StartService { | ||||||
|  | 		a.Debug("stopping service") | ||||||
| 		err := a.runOpts.Command("ctl", "stop", "--shutdown").Run() | 		err := a.runOpts.Command("ctl", "stop", "--shutdown").Run() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return err | 			return err | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/team.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/team.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,7 +26,11 @@ type ListUserMemberships struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) ListMembersOfTeam(teamName string) (res keybase1.TeamMembersDetails, err error) { | func (a *API) ListMembersOfTeam(teamName string) (res keybase1.TeamMembersDetails, err error) { | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "list-team-memberships", "params": {"options": {"team": "%s"}}}`, teamName) | 	teamNameEscaped, err := json.Marshal(teamName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return res, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method": "list-team-memberships", "params": {"options": {"team": %s}}}`, teamNameEscaped) | ||||||
| 	cmd := a.runOpts.Command("team", "api") | 	cmd := a.runOpts.Command("team", "api") | ||||||
| 	cmd.Stdin = strings.NewReader(apiInput) | 	cmd.Stdin = strings.NewReader(apiInput) | ||||||
| 	var stderr bytes.Buffer | 	var stderr bytes.Buffer | ||||||
| @@ -51,7 +55,11 @@ func (a *API) ListMembersOfTeam(teamName string) (res keybase1.TeamMembersDetail | |||||||
| } | } | ||||||
|  |  | ||||||
| func (a *API) ListUserMemberships(username string) ([]keybase1.AnnotatedMemberInfo, error) { | func (a *API) ListUserMemberships(username string) ([]keybase1.AnnotatedMemberInfo, error) { | ||||||
| 	apiInput := fmt.Sprintf(`{"method": "list-user-memberships", "params": {"options": {"username": "%s"}}}`, username) | 	usernameEscaped, err := json.Marshal(username) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	apiInput := fmt.Sprintf(`{"method": "list-user-memberships", "params": {"options": {"username": %s}}}`, usernameEscaped) | ||||||
| 	cmd := a.runOpts.Command("team", "api") | 	cmd := a.runOpts.Command("team", "api") | ||||||
| 	cmd.Stdin = strings.NewReader(apiInput) | 	cmd.Stdin = strings.NewReader(apiInput) | ||||||
| 	var stderr bytes.Buffer | 	var stderr bytes.Buffer | ||||||
|   | |||||||
							
								
								
									
										146
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/api.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										146
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/api.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/api.avdl | //   Input file: ../client/protocol/avdl/chat1/api.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -139,9 +139,119 @@ func (o MsgFlipContent) DeepCopy() MsgFlipContent { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type EmojiContent struct { | ||||||
|  | 	Alias       string     `codec:"alias" json:"alias"` | ||||||
|  | 	IsCrossTeam bool       `codec:"isCrossTeam" json:"isCrossTeam"` | ||||||
|  | 	ConvID      *ConvIDStr `codec:"convID,omitempty" json:"convID,omitempty"` | ||||||
|  | 	MessageID   *MessageID `codec:"messageID,omitempty" json:"messageID,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiContent) DeepCopy() EmojiContent { | ||||||
|  | 	return EmojiContent{ | ||||||
|  | 		Alias:       o.Alias, | ||||||
|  | 		IsCrossTeam: o.IsCrossTeam, | ||||||
|  | 		ConvID: (func(x *ConvIDStr) *ConvIDStr { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ConvID), | ||||||
|  | 		MessageID: (func(x *MessageID) *MessageID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.MessageID), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type MsgTextContent struct { | ||||||
|  | 	Body         string             `codec:"body" json:"body"` | ||||||
|  | 	Payments     []TextPayment      `codec:"payments" json:"payments"` | ||||||
|  | 	ReplyTo      *MessageID         `codec:"replyTo,omitempty" json:"replyTo,omitempty"` | ||||||
|  | 	ReplyToUID   *string            `codec:"replyToUID,omitempty" json:"replyToUID,omitempty"` | ||||||
|  | 	UserMentions []KnownUserMention `codec:"userMentions" json:"userMentions"` | ||||||
|  | 	TeamMentions []KnownTeamMention `codec:"teamMentions" json:"teamMentions"` | ||||||
|  | 	LiveLocation *LiveLocation      `codec:"liveLocation,omitempty" json:"liveLocation,omitempty"` | ||||||
|  | 	Emojis       []EmojiContent     `codec:"emojis" json:"emojis"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o MsgTextContent) DeepCopy() MsgTextContent { | ||||||
|  | 	return MsgTextContent{ | ||||||
|  | 		Body: o.Body, | ||||||
|  | 		Payments: (func(x []TextPayment) []TextPayment { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]TextPayment, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Payments), | ||||||
|  | 		ReplyTo: (func(x *MessageID) *MessageID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ReplyTo), | ||||||
|  | 		ReplyToUID: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ReplyToUID), | ||||||
|  | 		UserMentions: (func(x []KnownUserMention) []KnownUserMention { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]KnownUserMention, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.UserMentions), | ||||||
|  | 		TeamMentions: (func(x []KnownTeamMention) []KnownTeamMention { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]KnownTeamMention, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.TeamMentions), | ||||||
|  | 		LiveLocation: (func(x *LiveLocation) *LiveLocation { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.LiveLocation), | ||||||
|  | 		Emojis: (func(x []EmojiContent) []EmojiContent { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]EmojiContent, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Emojis), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type MsgContent struct { | type MsgContent struct { | ||||||
| 	TypeName           string                       `codec:"typeName" json:"type"` | 	TypeName           string                       `codec:"typeName" json:"type"` | ||||||
| 	Text               *MessageText                 `codec:"text,omitempty" json:"text,omitempty"` | 	Text               *MsgTextContent              `codec:"text,omitempty" json:"text,omitempty"` | ||||||
| 	Attachment         *MessageAttachment           `codec:"attachment,omitempty" json:"attachment,omitempty"` | 	Attachment         *MessageAttachment           `codec:"attachment,omitempty" json:"attachment,omitempty"` | ||||||
| 	Edit               *MessageEdit                 `codec:"edit,omitempty" json:"edit,omitempty"` | 	Edit               *MessageEdit                 `codec:"edit,omitempty" json:"edit,omitempty"` | ||||||
| 	Reaction           *MessageReaction             `codec:"reaction,omitempty" json:"reaction,omitempty"` | 	Reaction           *MessageReaction             `codec:"reaction,omitempty" json:"reaction,omitempty"` | ||||||
| @@ -159,7 +269,7 @@ type MsgContent struct { | |||||||
| func (o MsgContent) DeepCopy() MsgContent { | func (o MsgContent) DeepCopy() MsgContent { | ||||||
| 	return MsgContent{ | 	return MsgContent{ | ||||||
| 		TypeName: o.TypeName, | 		TypeName: o.TypeName, | ||||||
| 		Text: (func(x *MessageText) *MessageText { | 		Text: (func(x *MsgTextContent) *MsgTextContent { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| 			} | 			} | ||||||
| @@ -269,7 +379,7 @@ type MsgSummary struct { | |||||||
| 	IsEphemeral         bool                     `codec:"isEphemeral,omitempty" json:"is_ephemeral,omitempty"` | 	IsEphemeral         bool                     `codec:"isEphemeral,omitempty" json:"is_ephemeral,omitempty"` | ||||||
| 	IsEphemeralExpired  bool                     `codec:"isEphemeralExpired,omitempty" json:"is_ephemeral_expired,omitempty"` | 	IsEphemeralExpired  bool                     `codec:"isEphemeralExpired,omitempty" json:"is_ephemeral_expired,omitempty"` | ||||||
| 	ETime               gregor1.Time             `codec:"eTime,omitempty" json:"e_time,omitempty"` | 	ETime               gregor1.Time             `codec:"eTime,omitempty" json:"e_time,omitempty"` | ||||||
| 	Reactions           *ReactionMap             `codec:"reactions,omitempty" json:"reactions,omitempty"` | 	Reactions           *UIReactionMap           `codec:"reactions,omitempty" json:"reactions,omitempty"` | ||||||
| 	HasPairwiseMacs     bool                     `codec:"hasPairwiseMacs,omitempty" json:"has_pairwise_macs,omitempty"` | 	HasPairwiseMacs     bool                     `codec:"hasPairwiseMacs,omitempty" json:"has_pairwise_macs,omitempty"` | ||||||
| 	AtMentionUsernames  []string                 `codec:"atMentionUsernames,omitempty" json:"at_mention_usernames,omitempty"` | 	AtMentionUsernames  []string                 `codec:"atMentionUsernames,omitempty" json:"at_mention_usernames,omitempty"` | ||||||
| 	ChannelMention      string                   `codec:"channelMention,omitempty" json:"channel_mention,omitempty"` | 	ChannelMention      string                   `codec:"channelMention,omitempty" json:"channel_mention,omitempty"` | ||||||
| @@ -304,7 +414,7 @@ func (o MsgSummary) DeepCopy() MsgSummary { | |||||||
| 		IsEphemeral:        o.IsEphemeral, | 		IsEphemeral:        o.IsEphemeral, | ||||||
| 		IsEphemeralExpired: o.IsEphemeralExpired, | 		IsEphemeralExpired: o.IsEphemeralExpired, | ||||||
| 		ETime:              o.ETime.DeepCopy(), | 		ETime:              o.ETime.DeepCopy(), | ||||||
| 		Reactions: (func(x *ReactionMap) *ReactionMap { | 		Reactions: (func(x *UIReactionMap) *UIReactionMap { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| 			} | 			} | ||||||
| @@ -832,6 +942,7 @@ type AdvertiseCommandAPIParam struct { | |||||||
| 	Typ      string                `codec:"typ" json:"type"` | 	Typ      string                `codec:"typ" json:"type"` | ||||||
| 	Commands []UserBotCommandInput `codec:"commands" json:"commands"` | 	Commands []UserBotCommandInput `codec:"commands" json:"commands"` | ||||||
| 	TeamName string                `codec:"teamName,omitempty" json:"team_name,omitempty"` | 	TeamName string                `codec:"teamName,omitempty" json:"team_name,omitempty"` | ||||||
|  | 	ConvID   ConvIDStr             `codec:"convID,omitempty" json:"conv_id,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o AdvertiseCommandAPIParam) DeepCopy() AdvertiseCommandAPIParam { | func (o AdvertiseCommandAPIParam) DeepCopy() AdvertiseCommandAPIParam { | ||||||
| @@ -849,6 +960,21 @@ func (o AdvertiseCommandAPIParam) DeepCopy() AdvertiseCommandAPIParam { | |||||||
| 			return ret | 			return ret | ||||||
| 		})(o.Commands), | 		})(o.Commands), | ||||||
| 		TeamName: o.TeamName, | 		TeamName: o.TeamName, | ||||||
|  | 		ConvID:   o.ConvID.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ClearCommandAPIParam struct { | ||||||
|  | 	Typ      string    `codec:"typ" json:"type"` | ||||||
|  | 	TeamName string    `codec:"teamName,omitempty" json:"team_name,omitempty"` | ||||||
|  | 	ConvID   ConvIDStr `codec:"convID,omitempty" json:"conv_id,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o ClearCommandAPIParam) DeepCopy() ClearCommandAPIParam { | ||||||
|  | 	return ClearCommandAPIParam{ | ||||||
|  | 		Typ:      o.Typ, | ||||||
|  | 		TeamName: o.TeamName, | ||||||
|  | 		ConvID:   o.ConvID.DeepCopy(), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -897,17 +1023,17 @@ func (o GetResetConvMembersRes) DeepCopy() GetResetConvMembersRes { | |||||||
| } | } | ||||||
|  |  | ||||||
| type DeviceInfo struct { | type DeviceInfo struct { | ||||||
| 	DeviceID          keybase1.DeviceID `codec:"deviceID" json:"id"` | 	DeviceID          keybase1.DeviceID     `codec:"deviceID" json:"id"` | ||||||
| 	DeviceDescription string            `codec:"deviceDescription" json:"description"` | 	DeviceDescription string                `codec:"deviceDescription" json:"description"` | ||||||
| 	DeviceType        string            `codec:"deviceType" json:"type"` | 	DeviceType        keybase1.DeviceTypeV2 `codec:"deviceType" json:"type"` | ||||||
| 	DeviceCtime       int64             `codec:"deviceCtime" json:"ctime"` | 	DeviceCtime       int64                 `codec:"deviceCtime" json:"ctime"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o DeviceInfo) DeepCopy() DeviceInfo { | func (o DeviceInfo) DeepCopy() DeviceInfo { | ||||||
| 	return DeviceInfo{ | 	return DeviceInfo{ | ||||||
| 		DeviceID:          o.DeviceID.DeepCopy(), | 		DeviceID:          o.DeviceID.DeepCopy(), | ||||||
| 		DeviceDescription: o.DeviceDescription, | 		DeviceDescription: o.DeviceDescription, | ||||||
| 		DeviceType:        o.DeviceType, | 		DeviceType:        o.DeviceType.DeepCopy(), | ||||||
| 		DeviceCtime:       o.DeviceCtime, | 		DeviceCtime:       o.DeviceCtime, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/blocking.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/blocking.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/blocking.avdl | //   Input file: ../client/protocol/avdl/chat1/blocking.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
|   | |||||||
							
								
								
									
										137
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/chat_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										137
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/chat_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/chat_ui.avdl | //   Input file: ../client/protocol/avdl/chat1/chat_ui.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -537,6 +537,7 @@ type InboxUIItem struct { | |||||||
| 	IsDefaultConv     bool                          `codec:"isDefaultConv" json:"isDefaultConv"` | 	IsDefaultConv     bool                          `codec:"isDefaultConv" json:"isDefaultConv"` | ||||||
| 	Name              string                        `codec:"name" json:"name"` | 	Name              string                        `codec:"name" json:"name"` | ||||||
| 	Snippet           string                        `codec:"snippet" json:"snippet"` | 	Snippet           string                        `codec:"snippet" json:"snippet"` | ||||||
|  | 	SnippetDecorated  string                        `codec:"snippetDecorated" json:"snippetDecorated"` | ||||||
| 	SnippetDecoration SnippetDecoration             `codec:"snippetDecoration" json:"snippetDecoration"` | 	SnippetDecoration SnippetDecoration             `codec:"snippetDecoration" json:"snippetDecoration"` | ||||||
| 	Channel           string                        `codec:"channel" json:"channel"` | 	Channel           string                        `codec:"channel" json:"channel"` | ||||||
| 	Headline          string                        `codec:"headline" json:"headline"` | 	Headline          string                        `codec:"headline" json:"headline"` | ||||||
| @@ -579,6 +580,7 @@ func (o InboxUIItem) DeepCopy() InboxUIItem { | |||||||
| 		IsDefaultConv:     o.IsDefaultConv, | 		IsDefaultConv:     o.IsDefaultConv, | ||||||
| 		Name:              o.Name, | 		Name:              o.Name, | ||||||
| 		Snippet:           o.Snippet, | 		Snippet:           o.Snippet, | ||||||
|  | 		SnippetDecorated:  o.SnippetDecorated, | ||||||
| 		SnippetDecoration: o.SnippetDecoration.DeepCopy(), | 		SnippetDecoration: o.SnippetDecoration.DeepCopy(), | ||||||
| 		Channel:           o.Channel, | 		Channel:           o.Channel, | ||||||
| 		Headline:          o.Headline, | 		Headline:          o.Headline, | ||||||
| @@ -889,6 +891,50 @@ func (o UIMessageUnfurlInfo) DeepCopy() UIMessageUnfurlInfo { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type UIReactionDesc struct { | ||||||
|  | 	Decorated string              `codec:"decorated" json:"decorated"` | ||||||
|  | 	Users     map[string]Reaction `codec:"users" json:"users"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UIReactionDesc) DeepCopy() UIReactionDesc { | ||||||
|  | 	return UIReactionDesc{ | ||||||
|  | 		Decorated: o.Decorated, | ||||||
|  | 		Users: (func(x map[string]Reaction) map[string]Reaction { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make(map[string]Reaction, len(x)) | ||||||
|  | 			for k, v := range x { | ||||||
|  | 				kCopy := k | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[kCopy] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Users), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type UIReactionMap struct { | ||||||
|  | 	Reactions map[string]UIReactionDesc `codec:"reactions" json:"reactions"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UIReactionMap) DeepCopy() UIReactionMap { | ||||||
|  | 	return UIReactionMap{ | ||||||
|  | 		Reactions: (func(x map[string]UIReactionDesc) map[string]UIReactionDesc { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make(map[string]UIReactionDesc, len(x)) | ||||||
|  | 			for k, v := range x { | ||||||
|  | 				kCopy := k | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[kCopy] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Reactions), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type UIMessageValid struct { | type UIMessageValid struct { | ||||||
| 	MessageID             MessageID              `codec:"messageID" json:"messageID"` | 	MessageID             MessageID              `codec:"messageID" json:"messageID"` | ||||||
| 	Ctime                 gregor1.Time           `codec:"ctime" json:"ctime"` | 	Ctime                 gregor1.Time           `codec:"ctime" json:"ctime"` | ||||||
| @@ -898,7 +944,7 @@ type UIMessageValid struct { | |||||||
| 	BodySummary           string                 `codec:"bodySummary" json:"bodySummary"` | 	BodySummary           string                 `codec:"bodySummary" json:"bodySummary"` | ||||||
| 	SenderUsername        string                 `codec:"senderUsername" json:"senderUsername"` | 	SenderUsername        string                 `codec:"senderUsername" json:"senderUsername"` | ||||||
| 	SenderDeviceName      string                 `codec:"senderDeviceName" json:"senderDeviceName"` | 	SenderDeviceName      string                 `codec:"senderDeviceName" json:"senderDeviceName"` | ||||||
| 	SenderDeviceType      string                 `codec:"senderDeviceType" json:"senderDeviceType"` | 	SenderDeviceType      keybase1.DeviceTypeV2  `codec:"senderDeviceType" json:"senderDeviceType"` | ||||||
| 	SenderUID             gregor1.UID            `codec:"senderUID" json:"senderUID"` | 	SenderUID             gregor1.UID            `codec:"senderUID" json:"senderUID"` | ||||||
| 	SenderDeviceID        gregor1.DeviceID       `codec:"senderDeviceID" json:"senderDeviceID"` | 	SenderDeviceID        gregor1.DeviceID       `codec:"senderDeviceID" json:"senderDeviceID"` | ||||||
| 	Superseded            bool                   `codec:"superseded" json:"superseded"` | 	Superseded            bool                   `codec:"superseded" json:"superseded"` | ||||||
| @@ -911,7 +957,7 @@ type UIMessageValid struct { | |||||||
| 	IsEphemeralExpired    bool                   `codec:"isEphemeralExpired" json:"isEphemeralExpired"` | 	IsEphemeralExpired    bool                   `codec:"isEphemeralExpired" json:"isEphemeralExpired"` | ||||||
| 	ExplodedBy            *string                `codec:"explodedBy,omitempty" json:"explodedBy,omitempty"` | 	ExplodedBy            *string                `codec:"explodedBy,omitempty" json:"explodedBy,omitempty"` | ||||||
| 	Etime                 gregor1.Time           `codec:"etime" json:"etime"` | 	Etime                 gregor1.Time           `codec:"etime" json:"etime"` | ||||||
| 	Reactions             ReactionMap            `codec:"reactions" json:"reactions"` | 	Reactions             UIReactionMap          `codec:"reactions" json:"reactions"` | ||||||
| 	HasPairwiseMacs       bool                   `codec:"hasPairwiseMacs" json:"hasPairwiseMacs"` | 	HasPairwiseMacs       bool                   `codec:"hasPairwiseMacs" json:"hasPairwiseMacs"` | ||||||
| 	PaymentInfos          []UIPaymentInfo        `codec:"paymentInfos" json:"paymentInfos"` | 	PaymentInfos          []UIPaymentInfo        `codec:"paymentInfos" json:"paymentInfos"` | ||||||
| 	RequestInfo           *UIRequestInfo         `codec:"requestInfo,omitempty" json:"requestInfo,omitempty"` | 	RequestInfo           *UIRequestInfo         `codec:"requestInfo,omitempty" json:"requestInfo,omitempty"` | ||||||
| @@ -947,7 +993,7 @@ func (o UIMessageValid) DeepCopy() UIMessageValid { | |||||||
| 		BodySummary:      o.BodySummary, | 		BodySummary:      o.BodySummary, | ||||||
| 		SenderUsername:   o.SenderUsername, | 		SenderUsername:   o.SenderUsername, | ||||||
| 		SenderDeviceName: o.SenderDeviceName, | 		SenderDeviceName: o.SenderDeviceName, | ||||||
| 		SenderDeviceType: o.SenderDeviceType, | 		SenderDeviceType: o.SenderDeviceType.DeepCopy(), | ||||||
| 		SenderUID:        o.SenderUID.DeepCopy(), | 		SenderUID:        o.SenderUID.DeepCopy(), | ||||||
| 		SenderDeviceID:   o.SenderDeviceID.DeepCopy(), | 		SenderDeviceID:   o.SenderDeviceID.DeepCopy(), | ||||||
| 		Superseded:       o.Superseded, | 		Superseded:       o.Superseded, | ||||||
| @@ -1068,6 +1114,7 @@ type UIMessageOutbox struct { | |||||||
| 	IsEphemeral       bool            `codec:"isEphemeral" json:"isEphemeral"` | 	IsEphemeral       bool            `codec:"isEphemeral" json:"isEphemeral"` | ||||||
| 	FlipGameID        *FlipGameIDStr  `codec:"flipGameID,omitempty" json:"flipGameID,omitempty"` | 	FlipGameID        *FlipGameIDStr  `codec:"flipGameID,omitempty" json:"flipGameID,omitempty"` | ||||||
| 	ReplyTo           *UIMessage      `codec:"replyTo,omitempty" json:"replyTo,omitempty"` | 	ReplyTo           *UIMessage      `codec:"replyTo,omitempty" json:"replyTo,omitempty"` | ||||||
|  | 	Supersedes        MessageID       `codec:"supersedes" json:"supersedes"` | ||||||
| 	Filename          string          `codec:"filename" json:"filename"` | 	Filename          string          `codec:"filename" json:"filename"` | ||||||
| 	Title             string          `codec:"title" json:"title"` | 	Title             string          `codec:"title" json:"title"` | ||||||
| 	Preview           *MakePreviewRes `codec:"preview,omitempty" json:"preview,omitempty"` | 	Preview           *MakePreviewRes `codec:"preview,omitempty" json:"preview,omitempty"` | ||||||
| @@ -1103,8 +1150,9 @@ func (o UIMessageOutbox) DeepCopy() UIMessageOutbox { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.ReplyTo), | 		})(o.ReplyTo), | ||||||
| 		Filename: o.Filename, | 		Supersedes: o.Supersedes.DeepCopy(), | ||||||
| 		Title:    o.Title, | 		Filename:   o.Filename, | ||||||
|  | 		Title:      o.Title, | ||||||
| 		Preview: (func(x *MakePreviewRes) *MakePreviewRes { | 		Preview: (func(x *MakePreviewRes) *MakePreviewRes { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| @@ -1418,6 +1466,7 @@ const ( | |||||||
| 	UITextDecorationTyp_LINK               UITextDecorationTyp = 4 | 	UITextDecorationTyp_LINK               UITextDecorationTyp = 4 | ||||||
| 	UITextDecorationTyp_MAILTO             UITextDecorationTyp = 5 | 	UITextDecorationTyp_MAILTO             UITextDecorationTyp = 5 | ||||||
| 	UITextDecorationTyp_KBFSPATH           UITextDecorationTyp = 6 | 	UITextDecorationTyp_KBFSPATH           UITextDecorationTyp = 6 | ||||||
|  | 	UITextDecorationTyp_EMOJI              UITextDecorationTyp = 7 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func (o UITextDecorationTyp) DeepCopy() UITextDecorationTyp { return o } | func (o UITextDecorationTyp) DeepCopy() UITextDecorationTyp { return o } | ||||||
| @@ -1430,6 +1479,7 @@ var UITextDecorationTypMap = map[string]UITextDecorationTyp{ | |||||||
| 	"LINK":               4, | 	"LINK":               4, | ||||||
| 	"MAILTO":             5, | 	"MAILTO":             5, | ||||||
| 	"KBFSPATH":           6, | 	"KBFSPATH":           6, | ||||||
|  | 	"EMOJI":              7, | ||||||
| } | } | ||||||
|  |  | ||||||
| var UITextDecorationTypRevMap = map[UITextDecorationTyp]string{ | var UITextDecorationTypRevMap = map[UITextDecorationTyp]string{ | ||||||
| @@ -1440,6 +1490,7 @@ var UITextDecorationTypRevMap = map[UITextDecorationTyp]string{ | |||||||
| 	4: "LINK", | 	4: "LINK", | ||||||
| 	5: "MAILTO", | 	5: "MAILTO", | ||||||
| 	6: "KBFSPATH", | 	6: "KBFSPATH", | ||||||
|  | 	7: "EMOJI", | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e UITextDecorationTyp) String() string { | func (e UITextDecorationTyp) String() string { | ||||||
| @@ -1566,6 +1617,7 @@ type UITextDecoration struct { | |||||||
| 	Link__               *UILinkDecoration     `codec:"link,omitempty" json:"link,omitempty"` | 	Link__               *UILinkDecoration     `codec:"link,omitempty" json:"link,omitempty"` | ||||||
| 	Mailto__             *UILinkDecoration     `codec:"mailto,omitempty" json:"mailto,omitempty"` | 	Mailto__             *UILinkDecoration     `codec:"mailto,omitempty" json:"mailto,omitempty"` | ||||||
| 	Kbfspath__           *KBFSPath             `codec:"kbfspath,omitempty" json:"kbfspath,omitempty"` | 	Kbfspath__           *KBFSPath             `codec:"kbfspath,omitempty" json:"kbfspath,omitempty"` | ||||||
|  | 	Emoji__              *Emoji                `codec:"emoji,omitempty" json:"emoji,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o *UITextDecoration) Typ() (ret UITextDecorationTyp, err error) { | func (o *UITextDecoration) Typ() (ret UITextDecorationTyp, err error) { | ||||||
| @@ -1605,6 +1657,11 @@ func (o *UITextDecoration) Typ() (ret UITextDecorationTyp, err error) { | |||||||
| 			err = errors.New("unexpected nil value for Kbfspath__") | 			err = errors.New("unexpected nil value for Kbfspath__") | ||||||
| 			return ret, err | 			return ret, err | ||||||
| 		} | 		} | ||||||
|  | 	case UITextDecorationTyp_EMOJI: | ||||||
|  | 		if o.Emoji__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Emoji__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	return o.Typ__, nil | 	return o.Typ__, nil | ||||||
| } | } | ||||||
| @@ -1679,6 +1736,16 @@ func (o UITextDecoration) Kbfspath() (res KBFSPath) { | |||||||
| 	return *o.Kbfspath__ | 	return *o.Kbfspath__ | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (o UITextDecoration) Emoji() (res Emoji) { | ||||||
|  | 	if o.Typ__ != UITextDecorationTyp_EMOJI { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Emoji__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Emoji__ | ||||||
|  | } | ||||||
|  |  | ||||||
| func NewUITextDecorationWithPayment(v TextPayment) UITextDecoration { | func NewUITextDecorationWithPayment(v TextPayment) UITextDecoration { | ||||||
| 	return UITextDecoration{ | 	return UITextDecoration{ | ||||||
| 		Typ__:     UITextDecorationTyp_PAYMENT, | 		Typ__:     UITextDecorationTyp_PAYMENT, | ||||||
| @@ -1728,6 +1795,13 @@ func NewUITextDecorationWithKbfspath(v KBFSPath) UITextDecoration { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func NewUITextDecorationWithEmoji(v Emoji) UITextDecoration { | ||||||
|  | 	return UITextDecoration{ | ||||||
|  | 		Typ__:   UITextDecorationTyp_EMOJI, | ||||||
|  | 		Emoji__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| func (o UITextDecoration) DeepCopy() UITextDecoration { | func (o UITextDecoration) DeepCopy() UITextDecoration { | ||||||
| 	return UITextDecoration{ | 	return UITextDecoration{ | ||||||
| 		Typ__: o.Typ__.DeepCopy(), | 		Typ__: o.Typ__.DeepCopy(), | ||||||
| @@ -1780,6 +1854,13 @@ func (o UITextDecoration) DeepCopy() UITextDecoration { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.Kbfspath__), | 		})(o.Kbfspath__), | ||||||
|  | 		Emoji__: (func(x *Emoji) *Emoji { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Emoji__), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1917,6 +1998,50 @@ func (o UIChatSearchConvHits) DeepCopy() UIChatSearchConvHits { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type UIChatSearchTeamHits struct { | ||||||
|  | 	Hits             []keybase1.TeamSearchItem `codec:"hits" json:"hits"` | ||||||
|  | 	SuggestedMatches bool                      `codec:"suggestedMatches" json:"suggestedMatches"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UIChatSearchTeamHits) DeepCopy() UIChatSearchTeamHits { | ||||||
|  | 	return UIChatSearchTeamHits{ | ||||||
|  | 		Hits: (func(x []keybase1.TeamSearchItem) []keybase1.TeamSearchItem { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]keybase1.TeamSearchItem, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Hits), | ||||||
|  | 		SuggestedMatches: o.SuggestedMatches, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type UIChatSearchBotHits struct { | ||||||
|  | 	Hits             []keybase1.FeaturedBot `codec:"hits" json:"hits"` | ||||||
|  | 	SuggestedMatches bool                   `codec:"suggestedMatches" json:"suggestedMatches"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UIChatSearchBotHits) DeepCopy() UIChatSearchBotHits { | ||||||
|  | 	return UIChatSearchBotHits{ | ||||||
|  | 		Hits: (func(x []keybase1.FeaturedBot) []keybase1.FeaturedBot { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]keybase1.FeaturedBot, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Hits), | ||||||
|  | 		SuggestedMatches: o.SuggestedMatches, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type UIChatPayment struct { | type UIChatPayment struct { | ||||||
| 	Username      string  `codec:"username" json:"username"` | 	Username      string  `codec:"username" json:"username"` | ||||||
| 	FullName      string  `codec:"fullName" json:"fullName"` | 	FullName      string  `codec:"fullName" json:"fullName"` | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/commands.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/commands.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/commands.avdl | //   Input file: ../client/protocol/avdl/chat1/commands.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
|   | |||||||
							
								
								
									
										184
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										184
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/common.avdl | //   Input file: ../client/protocol/avdl/chat1/common.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -9,6 +9,7 @@ import ( | |||||||
|  |  | ||||||
| 	gregor1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1" | 	gregor1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1" | ||||||
| 	keybase1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1" | 	keybase1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1" | ||||||
|  | 	stellar1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/stellar1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ThreadID []byte | type ThreadID []byte | ||||||
| @@ -311,6 +312,8 @@ const ( | |||||||
| 	TopicType_CHAT         TopicType = 1 | 	TopicType_CHAT         TopicType = 1 | ||||||
| 	TopicType_DEV          TopicType = 2 | 	TopicType_DEV          TopicType = 2 | ||||||
| 	TopicType_KBFSFILEEDIT TopicType = 3 | 	TopicType_KBFSFILEEDIT TopicType = 3 | ||||||
|  | 	TopicType_EMOJI        TopicType = 4 | ||||||
|  | 	TopicType_EMOJICROSS   TopicType = 5 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func (o TopicType) DeepCopy() TopicType { return o } | func (o TopicType) DeepCopy() TopicType { return o } | ||||||
| @@ -320,6 +323,8 @@ var TopicTypeMap = map[string]TopicType{ | |||||||
| 	"CHAT":         1, | 	"CHAT":         1, | ||||||
| 	"DEV":          2, | 	"DEV":          2, | ||||||
| 	"KBFSFILEEDIT": 3, | 	"KBFSFILEEDIT": 3, | ||||||
|  | 	"EMOJI":        4, | ||||||
|  | 	"EMOJICROSS":   5, | ||||||
| } | } | ||||||
|  |  | ||||||
| var TopicTypeRevMap = map[TopicType]string{ | var TopicTypeRevMap = map[TopicType]string{ | ||||||
| @@ -327,6 +332,8 @@ var TopicTypeRevMap = map[TopicType]string{ | |||||||
| 	1: "CHAT", | 	1: "CHAT", | ||||||
| 	2: "DEV", | 	2: "DEV", | ||||||
| 	3: "KBFSFILEEDIT", | 	3: "KBFSFILEEDIT", | ||||||
|  | 	4: "EMOJI", | ||||||
|  | 	5: "EMOJICROSS", | ||||||
| } | } | ||||||
|  |  | ||||||
| type TeamType int | type TeamType int | ||||||
| @@ -627,6 +634,32 @@ func (o RateLimit) DeepCopy() RateLimit { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type InboxParticipantsMode int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	InboxParticipantsMode_ALL        InboxParticipantsMode = 0 | ||||||
|  | 	InboxParticipantsMode_SKIP_TEAMS InboxParticipantsMode = 1 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o InboxParticipantsMode) DeepCopy() InboxParticipantsMode { return o } | ||||||
|  |  | ||||||
|  | var InboxParticipantsModeMap = map[string]InboxParticipantsMode{ | ||||||
|  | 	"ALL":        0, | ||||||
|  | 	"SKIP_TEAMS": 1, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var InboxParticipantsModeRevMap = map[InboxParticipantsMode]string{ | ||||||
|  | 	0: "ALL", | ||||||
|  | 	1: "SKIP_TEAMS", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e InboxParticipantsMode) String() string { | ||||||
|  | 	if v, ok := InboxParticipantsModeRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|  |  | ||||||
| type GetInboxQuery struct { | type GetInboxQuery struct { | ||||||
| 	ConvID            *ConversationID            `codec:"convID,omitempty" json:"convID,omitempty"` | 	ConvID            *ConversationID            `codec:"convID,omitempty" json:"convID,omitempty"` | ||||||
| 	TopicType         *TopicType                 `codec:"topicType,omitempty" json:"topicType,omitempty"` | 	TopicType         *TopicType                 `codec:"topicType,omitempty" json:"topicType,omitempty"` | ||||||
| @@ -645,6 +678,7 @@ type GetInboxQuery struct { | |||||||
| 	ReadOnly          bool                       `codec:"readOnly" json:"readOnly"` | 	ReadOnly          bool                       `codec:"readOnly" json:"readOnly"` | ||||||
| 	ComputeActiveList bool                       `codec:"computeActiveList" json:"computeActiveList"` | 	ComputeActiveList bool                       `codec:"computeActiveList" json:"computeActiveList"` | ||||||
| 	SummarizeMaxMsgs  bool                       `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"` | 	SummarizeMaxMsgs  bool                       `codec:"summarizeMaxMsgs" json:"summarizeMaxMsgs"` | ||||||
|  | 	ParticipantsMode  InboxParticipantsMode      `codec:"participantsMode" json:"participantsMode"` | ||||||
| 	SkipBgLoads       bool                       `codec:"skipBgLoads" json:"skipBgLoads"` | 	SkipBgLoads       bool                       `codec:"skipBgLoads" json:"skipBgLoads"` | ||||||
| 	AllowUnseenQuery  bool                       `codec:"allowUnseenQuery" json:"allowUnseenQuery"` | 	AllowUnseenQuery  bool                       `codec:"allowUnseenQuery" json:"allowUnseenQuery"` | ||||||
| } | } | ||||||
| @@ -766,6 +800,7 @@ func (o GetInboxQuery) DeepCopy() GetInboxQuery { | |||||||
| 		ReadOnly:          o.ReadOnly, | 		ReadOnly:          o.ReadOnly, | ||||||
| 		ComputeActiveList: o.ComputeActiveList, | 		ComputeActiveList: o.ComputeActiveList, | ||||||
| 		SummarizeMaxMsgs:  o.SummarizeMaxMsgs, | 		SummarizeMaxMsgs:  o.SummarizeMaxMsgs, | ||||||
|  | 		ParticipantsMode:  o.ParticipantsMode.DeepCopy(), | ||||||
| 		SkipBgLoads:       o.SkipBgLoads, | 		SkipBgLoads:       o.SkipBgLoads, | ||||||
| 		AllowUnseenQuery:  o.AllowUnseenQuery, | 		AllowUnseenQuery:  o.AllowUnseenQuery, | ||||||
| 	} | 	} | ||||||
| @@ -959,6 +994,7 @@ type ConversationReaderInfo struct { | |||||||
| 	MaxMsgid          MessageID                    `codec:"maxMsgid" json:"maxMsgid"` | 	MaxMsgid          MessageID                    `codec:"maxMsgid" json:"maxMsgid"` | ||||||
| 	Status            ConversationMemberStatus     `codec:"status" json:"status"` | 	Status            ConversationMemberStatus     `codec:"status" json:"status"` | ||||||
| 	UntrustedTeamRole keybase1.TeamRole            `codec:"untrustedTeamRole" json:"untrustedTeamRole"` | 	UntrustedTeamRole keybase1.TeamRole            `codec:"untrustedTeamRole" json:"untrustedTeamRole"` | ||||||
|  | 	LastSendTime      gregor1.Time                 `codec:"l" json:"l"` | ||||||
| 	Journeycard       *ConversationJourneycardInfo `codec:"jc,omitempty" json:"jc,omitempty"` | 	Journeycard       *ConversationJourneycardInfo `codec:"jc,omitempty" json:"jc,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -969,6 +1005,7 @@ func (o ConversationReaderInfo) DeepCopy() ConversationReaderInfo { | |||||||
| 		MaxMsgid:          o.MaxMsgid.DeepCopy(), | 		MaxMsgid:          o.MaxMsgid.DeepCopy(), | ||||||
| 		Status:            o.Status.DeepCopy(), | 		Status:            o.Status.DeepCopy(), | ||||||
| 		UntrustedTeamRole: o.UntrustedTeamRole.DeepCopy(), | 		UntrustedTeamRole: o.UntrustedTeamRole.DeepCopy(), | ||||||
|  | 		LastSendTime:      o.LastSendTime.DeepCopy(), | ||||||
| 		Journeycard: (func(x *ConversationJourneycardInfo) *ConversationJourneycardInfo { | 		Journeycard: (func(x *ConversationJourneycardInfo) *ConversationJourneycardInfo { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| @@ -1333,6 +1370,7 @@ type MessageClientHeader struct { | |||||||
| 	EphemeralMetadata *MsgEphemeralMetadata    `codec:"em,omitempty" json:"em,omitempty"` | 	EphemeralMetadata *MsgEphemeralMetadata    `codec:"em,omitempty" json:"em,omitempty"` | ||||||
| 	PairwiseMacs      map[keybase1.KID][]byte  `codec:"pm" json:"pm"` | 	PairwiseMacs      map[keybase1.KID][]byte  `codec:"pm" json:"pm"` | ||||||
| 	BotUID            *gregor1.UID             `codec:"b,omitempty" json:"b,omitempty"` | 	BotUID            *gregor1.UID             `codec:"b,omitempty" json:"b,omitempty"` | ||||||
|  | 	TxID              *stellar1.TransactionID  `codec:"t,omitempty" json:"t,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o MessageClientHeader) DeepCopy() MessageClientHeader { | func (o MessageClientHeader) DeepCopy() MessageClientHeader { | ||||||
| @@ -1432,6 +1470,13 @@ func (o MessageClientHeader) DeepCopy() MessageClientHeader { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.BotUID), | 		})(o.BotUID), | ||||||
|  | 		TxID: (func(x *stellar1.TransactionID) *stellar1.TransactionID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.TxID), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1959,6 +2004,7 @@ const ( | |||||||
| 	GetThreadReason_KBFSFILEACTIVITY   GetThreadReason = 8 | 	GetThreadReason_KBFSFILEACTIVITY   GetThreadReason = 8 | ||||||
| 	GetThreadReason_COINFLIP           GetThreadReason = 9 | 	GetThreadReason_COINFLIP           GetThreadReason = 9 | ||||||
| 	GetThreadReason_BOTCOMMANDS        GetThreadReason = 10 | 	GetThreadReason_BOTCOMMANDS        GetThreadReason = 10 | ||||||
|  | 	GetThreadReason_EMOJISOURCE        GetThreadReason = 11 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func (o GetThreadReason) DeepCopy() GetThreadReason { return o } | func (o GetThreadReason) DeepCopy() GetThreadReason { return o } | ||||||
| @@ -1975,6 +2021,7 @@ var GetThreadReasonMap = map[string]GetThreadReason{ | |||||||
| 	"KBFSFILEACTIVITY":   8, | 	"KBFSFILEACTIVITY":   8, | ||||||
| 	"COINFLIP":           9, | 	"COINFLIP":           9, | ||||||
| 	"BOTCOMMANDS":        10, | 	"BOTCOMMANDS":        10, | ||||||
|  | 	"EMOJISOURCE":        11, | ||||||
| } | } | ||||||
|  |  | ||||||
| var GetThreadReasonRevMap = map[GetThreadReason]string{ | var GetThreadReasonRevMap = map[GetThreadReason]string{ | ||||||
| @@ -1989,6 +2036,7 @@ var GetThreadReasonRevMap = map[GetThreadReason]string{ | |||||||
| 	8:  "KBFSFILEACTIVITY", | 	8:  "KBFSFILEACTIVITY", | ||||||
| 	9:  "COINFLIP", | 	9:  "COINFLIP", | ||||||
| 	10: "BOTCOMMANDS", | 	10: "BOTCOMMANDS", | ||||||
|  | 	11: "EMOJISOURCE", | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e GetThreadReason) String() string { | func (e GetThreadReason) String() string { | ||||||
| @@ -2044,6 +2092,9 @@ type SearchOpts struct { | |||||||
| 	MaxConvsHit       int             `codec:"maxConvsHit" json:"maxConvsHit"` | 	MaxConvsHit       int             `codec:"maxConvsHit" json:"maxConvsHit"` | ||||||
| 	ConvID            *ConversationID `codec:"convID,omitempty" json:"convID,omitempty"` | 	ConvID            *ConversationID `codec:"convID,omitempty" json:"convID,omitempty"` | ||||||
| 	MaxNameConvs      int             `codec:"maxNameConvs" json:"maxNameConvs"` | 	MaxNameConvs      int             `codec:"maxNameConvs" json:"maxNameConvs"` | ||||||
|  | 	MaxTeams          int             `codec:"maxTeams" json:"maxTeams"` | ||||||
|  | 	MaxBots           int             `codec:"maxBots" json:"maxBots"` | ||||||
|  | 	SkipBotCache      bool            `codec:"skipBotCache" json:"skipBotCache"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o SearchOpts) DeepCopy() SearchOpts { | func (o SearchOpts) DeepCopy() SearchOpts { | ||||||
| @@ -2076,6 +2127,9 @@ func (o SearchOpts) DeepCopy() SearchOpts { | |||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.ConvID), | 		})(o.ConvID), | ||||||
| 		MaxNameConvs: o.MaxNameConvs, | 		MaxNameConvs: o.MaxNameConvs, | ||||||
|  | 		MaxTeams:     o.MaxTeams, | ||||||
|  | 		MaxBots:      o.MaxBots, | ||||||
|  | 		SkipBotCache: o.SkipBotCache, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -2387,6 +2441,7 @@ type Asset struct { | |||||||
| 	Size      int64         `codec:"size" json:"size"` | 	Size      int64         `codec:"size" json:"size"` | ||||||
| 	MimeType  string        `codec:"mimeType" json:"mimeType"` | 	MimeType  string        `codec:"mimeType" json:"mimeType"` | ||||||
| 	EncHash   Hash          `codec:"encHash" json:"encHash"` | 	EncHash   Hash          `codec:"encHash" json:"encHash"` | ||||||
|  | 	PtHash    Hash          `codec:"ptHash" json:"ptHash"` | ||||||
| 	Key       []byte        `codec:"key" json:"key"` | 	Key       []byte        `codec:"key" json:"key"` | ||||||
| 	VerifyKey []byte        `codec:"verifyKey" json:"verifyKey"` | 	VerifyKey []byte        `codec:"verifyKey" json:"verifyKey"` | ||||||
| 	Title     string        `codec:"title" json:"title"` | 	Title     string        `codec:"title" json:"title"` | ||||||
| @@ -2405,6 +2460,7 @@ func (o Asset) DeepCopy() Asset { | |||||||
| 		Size:     o.Size, | 		Size:     o.Size, | ||||||
| 		MimeType: o.MimeType, | 		MimeType: o.MimeType, | ||||||
| 		EncHash:  o.EncHash.DeepCopy(), | 		EncHash:  o.EncHash.DeepCopy(), | ||||||
|  | 		PtHash:   o.PtHash.DeepCopy(), | ||||||
| 		Key: (func(x []byte) []byte { | 		Key: (func(x []byte) []byte { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| @@ -2435,6 +2491,7 @@ const ( | |||||||
| 	BotCommandsAdvertisementTyp_PUBLIC        BotCommandsAdvertisementTyp = 0 | 	BotCommandsAdvertisementTyp_PUBLIC        BotCommandsAdvertisementTyp = 0 | ||||||
| 	BotCommandsAdvertisementTyp_TLFID_MEMBERS BotCommandsAdvertisementTyp = 1 | 	BotCommandsAdvertisementTyp_TLFID_MEMBERS BotCommandsAdvertisementTyp = 1 | ||||||
| 	BotCommandsAdvertisementTyp_TLFID_CONVS   BotCommandsAdvertisementTyp = 2 | 	BotCommandsAdvertisementTyp_TLFID_CONVS   BotCommandsAdvertisementTyp = 2 | ||||||
|  | 	BotCommandsAdvertisementTyp_CONV          BotCommandsAdvertisementTyp = 3 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func (o BotCommandsAdvertisementTyp) DeepCopy() BotCommandsAdvertisementTyp { return o } | func (o BotCommandsAdvertisementTyp) DeepCopy() BotCommandsAdvertisementTyp { return o } | ||||||
| @@ -2443,12 +2500,14 @@ var BotCommandsAdvertisementTypMap = map[string]BotCommandsAdvertisementTyp{ | |||||||
| 	"PUBLIC":        0, | 	"PUBLIC":        0, | ||||||
| 	"TLFID_MEMBERS": 1, | 	"TLFID_MEMBERS": 1, | ||||||
| 	"TLFID_CONVS":   2, | 	"TLFID_CONVS":   2, | ||||||
|  | 	"CONV":          3, | ||||||
| } | } | ||||||
|  |  | ||||||
| var BotCommandsAdvertisementTypRevMap = map[BotCommandsAdvertisementTyp]string{ | var BotCommandsAdvertisementTypRevMap = map[BotCommandsAdvertisementTyp]string{ | ||||||
| 	0: "PUBLIC", | 	0: "PUBLIC", | ||||||
| 	1: "TLFID_MEMBERS", | 	1: "TLFID_MEMBERS", | ||||||
| 	2: "TLFID_CONVS", | 	2: "TLFID_CONVS", | ||||||
|  | 	3: "CONV", | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e BotCommandsAdvertisementTyp) String() string { | func (e BotCommandsAdvertisementTyp) String() string { | ||||||
| @@ -2471,3 +2530,126 @@ func (o TeamMember) DeepCopy() TeamMember { | |||||||
| 		Status: o.Status.DeepCopy(), | 		Status: o.Status.DeepCopy(), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type LastActiveStatus int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	LastActiveStatus_NONE            LastActiveStatus = 0 | ||||||
|  | 	LastActiveStatus_ACTIVE          LastActiveStatus = 1 | ||||||
|  | 	LastActiveStatus_RECENTLY_ACTIVE LastActiveStatus = 2 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o LastActiveStatus) DeepCopy() LastActiveStatus { return o } | ||||||
|  |  | ||||||
|  | var LastActiveStatusMap = map[string]LastActiveStatus{ | ||||||
|  | 	"NONE":            0, | ||||||
|  | 	"ACTIVE":          1, | ||||||
|  | 	"RECENTLY_ACTIVE": 2, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var LastActiveStatusRevMap = map[LastActiveStatus]string{ | ||||||
|  | 	0: "NONE", | ||||||
|  | 	1: "ACTIVE", | ||||||
|  | 	2: "RECENTLY_ACTIVE", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e LastActiveStatus) String() string { | ||||||
|  | 	if v, ok := LastActiveStatusRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ChatMemberDetails struct { | ||||||
|  | 	Uid      keybase1.UID      `codec:"uid" json:"uid"` | ||||||
|  | 	Username string            `codec:"username" json:"username"` | ||||||
|  | 	FullName keybase1.FullName `codec:"fullName" json:"fullName"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o ChatMemberDetails) DeepCopy() ChatMemberDetails { | ||||||
|  | 	return ChatMemberDetails{ | ||||||
|  | 		Uid:      o.Uid.DeepCopy(), | ||||||
|  | 		Username: o.Username, | ||||||
|  | 		FullName: o.FullName.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ChatMembersDetails struct { | ||||||
|  | 	Owners         []ChatMemberDetails `codec:"owners" json:"owners"` | ||||||
|  | 	Admins         []ChatMemberDetails `codec:"admins" json:"admins"` | ||||||
|  | 	Writers        []ChatMemberDetails `codec:"writers" json:"writers"` | ||||||
|  | 	Readers        []ChatMemberDetails `codec:"readers" json:"readers"` | ||||||
|  | 	Bots           []ChatMemberDetails `codec:"bots" json:"bots"` | ||||||
|  | 	RestrictedBots []ChatMemberDetails `codec:"restrictedBots" json:"restrictedBots"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o ChatMembersDetails) DeepCopy() ChatMembersDetails { | ||||||
|  | 	return ChatMembersDetails{ | ||||||
|  | 		Owners: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Owners), | ||||||
|  | 		Admins: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Admins), | ||||||
|  | 		Writers: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Writers), | ||||||
|  | 		Readers: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Readers), | ||||||
|  | 		Bots: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Bots), | ||||||
|  | 		RestrictedBots: (func(x []ChatMemberDetails) []ChatMemberDetails { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ChatMemberDetails, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.RestrictedBots), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										374
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/emoji.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										374
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/emoji.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,374 @@ | |||||||
|  | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
|  | //   Input file: ../client/protocol/avdl/chat1/emoji.avdl | ||||||
|  |  | ||||||
|  | package chat1 | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"errors" | ||||||
|  | 	"fmt" | ||||||
|  |  | ||||||
|  | 	gregor1 "github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type EmojiLoadSourceTyp int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	EmojiLoadSourceTyp_HTTPSRV EmojiLoadSourceTyp = 0 | ||||||
|  | 	EmojiLoadSourceTyp_STR     EmojiLoadSourceTyp = 1 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o EmojiLoadSourceTyp) DeepCopy() EmojiLoadSourceTyp { return o } | ||||||
|  |  | ||||||
|  | var EmojiLoadSourceTypMap = map[string]EmojiLoadSourceTyp{ | ||||||
|  | 	"HTTPSRV": 0, | ||||||
|  | 	"STR":     1, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var EmojiLoadSourceTypRevMap = map[EmojiLoadSourceTyp]string{ | ||||||
|  | 	0: "HTTPSRV", | ||||||
|  | 	1: "STR", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e EmojiLoadSourceTyp) String() string { | ||||||
|  | 	if v, ok := EmojiLoadSourceTypRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiLoadSource struct { | ||||||
|  | 	Typ__     EmojiLoadSourceTyp `codec:"typ" json:"typ"` | ||||||
|  | 	Httpsrv__ *string            `codec:"httpsrv,omitempty" json:"httpsrv,omitempty"` | ||||||
|  | 	Str__     *string            `codec:"str,omitempty" json:"str,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o *EmojiLoadSource) Typ() (ret EmojiLoadSourceTyp, err error) { | ||||||
|  | 	switch o.Typ__ { | ||||||
|  | 	case EmojiLoadSourceTyp_HTTPSRV: | ||||||
|  | 		if o.Httpsrv__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Httpsrv__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	case EmojiLoadSourceTyp_STR: | ||||||
|  | 		if o.Str__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Str__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return o.Typ__, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiLoadSource) Httpsrv() (res string) { | ||||||
|  | 	if o.Typ__ != EmojiLoadSourceTyp_HTTPSRV { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Httpsrv__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Httpsrv__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiLoadSource) Str() (res string) { | ||||||
|  | 	if o.Typ__ != EmojiLoadSourceTyp_STR { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Str__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Str__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewEmojiLoadSourceWithHttpsrv(v string) EmojiLoadSource { | ||||||
|  | 	return EmojiLoadSource{ | ||||||
|  | 		Typ__:     EmojiLoadSourceTyp_HTTPSRV, | ||||||
|  | 		Httpsrv__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewEmojiLoadSourceWithStr(v string) EmojiLoadSource { | ||||||
|  | 	return EmojiLoadSource{ | ||||||
|  | 		Typ__: EmojiLoadSourceTyp_STR, | ||||||
|  | 		Str__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiLoadSource) DeepCopy() EmojiLoadSource { | ||||||
|  | 	return EmojiLoadSource{ | ||||||
|  | 		Typ__: o.Typ__.DeepCopy(), | ||||||
|  | 		Httpsrv__: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Httpsrv__), | ||||||
|  | 		Str__: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Str__), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiRemoteSourceTyp int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	EmojiRemoteSourceTyp_MESSAGE    EmojiRemoteSourceTyp = 0 | ||||||
|  | 	EmojiRemoteSourceTyp_STOCKALIAS EmojiRemoteSourceTyp = 1 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o EmojiRemoteSourceTyp) DeepCopy() EmojiRemoteSourceTyp { return o } | ||||||
|  |  | ||||||
|  | var EmojiRemoteSourceTypMap = map[string]EmojiRemoteSourceTyp{ | ||||||
|  | 	"MESSAGE":    0, | ||||||
|  | 	"STOCKALIAS": 1, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var EmojiRemoteSourceTypRevMap = map[EmojiRemoteSourceTyp]string{ | ||||||
|  | 	0: "MESSAGE", | ||||||
|  | 	1: "STOCKALIAS", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e EmojiRemoteSourceTyp) String() string { | ||||||
|  | 	if v, ok := EmojiRemoteSourceTypRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiMessage struct { | ||||||
|  | 	ConvID  ConversationID `codec:"convID" json:"convID"` | ||||||
|  | 	MsgID   MessageID      `codec:"msgID" json:"msgID"` | ||||||
|  | 	IsAlias bool           `codec:"isAlias" json:"isAlias"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiMessage) DeepCopy() EmojiMessage { | ||||||
|  | 	return EmojiMessage{ | ||||||
|  | 		ConvID:  o.ConvID.DeepCopy(), | ||||||
|  | 		MsgID:   o.MsgID.DeepCopy(), | ||||||
|  | 		IsAlias: o.IsAlias, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiStockAlias struct { | ||||||
|  | 	Text     string       `codec:"text" json:"text"` | ||||||
|  | 	Username string       `codec:"username" json:"username"` | ||||||
|  | 	Time     gregor1.Time `codec:"time" json:"time"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiStockAlias) DeepCopy() EmojiStockAlias { | ||||||
|  | 	return EmojiStockAlias{ | ||||||
|  | 		Text:     o.Text, | ||||||
|  | 		Username: o.Username, | ||||||
|  | 		Time:     o.Time.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiRemoteSource struct { | ||||||
|  | 	Typ__        EmojiRemoteSourceTyp `codec:"typ" json:"typ"` | ||||||
|  | 	Message__    *EmojiMessage        `codec:"message,omitempty" json:"message,omitempty"` | ||||||
|  | 	Stockalias__ *EmojiStockAlias     `codec:"stockalias,omitempty" json:"stockalias,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o *EmojiRemoteSource) Typ() (ret EmojiRemoteSourceTyp, err error) { | ||||||
|  | 	switch o.Typ__ { | ||||||
|  | 	case EmojiRemoteSourceTyp_MESSAGE: | ||||||
|  | 		if o.Message__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Message__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	case EmojiRemoteSourceTyp_STOCKALIAS: | ||||||
|  | 		if o.Stockalias__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Stockalias__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return o.Typ__, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiRemoteSource) Message() (res EmojiMessage) { | ||||||
|  | 	if o.Typ__ != EmojiRemoteSourceTyp_MESSAGE { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Message__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Message__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiRemoteSource) Stockalias() (res EmojiStockAlias) { | ||||||
|  | 	if o.Typ__ != EmojiRemoteSourceTyp_STOCKALIAS { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Stockalias__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Stockalias__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewEmojiRemoteSourceWithMessage(v EmojiMessage) EmojiRemoteSource { | ||||||
|  | 	return EmojiRemoteSource{ | ||||||
|  | 		Typ__:     EmojiRemoteSourceTyp_MESSAGE, | ||||||
|  | 		Message__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewEmojiRemoteSourceWithStockalias(v EmojiStockAlias) EmojiRemoteSource { | ||||||
|  | 	return EmojiRemoteSource{ | ||||||
|  | 		Typ__:        EmojiRemoteSourceTyp_STOCKALIAS, | ||||||
|  | 		Stockalias__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiRemoteSource) DeepCopy() EmojiRemoteSource { | ||||||
|  | 	return EmojiRemoteSource{ | ||||||
|  | 		Typ__: o.Typ__.DeepCopy(), | ||||||
|  | 		Message__: (func(x *EmojiMessage) *EmojiMessage { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Message__), | ||||||
|  | 		Stockalias__: (func(x *EmojiStockAlias) *EmojiStockAlias { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Stockalias__), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type HarvestedEmoji struct { | ||||||
|  | 	Alias       string            `codec:"alias" json:"alias"` | ||||||
|  | 	IsBig       bool              `codec:"isBig" json:"isBig"` | ||||||
|  | 	IsCrossTeam bool              `codec:"isCrossTeam" json:"isCrossTeam"` | ||||||
|  | 	Source      EmojiRemoteSource `codec:"source" json:"source"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o HarvestedEmoji) DeepCopy() HarvestedEmoji { | ||||||
|  | 	return HarvestedEmoji{ | ||||||
|  | 		Alias:       o.Alias, | ||||||
|  | 		IsBig:       o.IsBig, | ||||||
|  | 		IsCrossTeam: o.IsCrossTeam, | ||||||
|  | 		Source:      o.Source.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiCreationInfo struct { | ||||||
|  | 	Username string       `codec:"username" json:"username"` | ||||||
|  | 	Time     gregor1.Time `codec:"time" json:"time"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiCreationInfo) DeepCopy() EmojiCreationInfo { | ||||||
|  | 	return EmojiCreationInfo{ | ||||||
|  | 		Username: o.Username, | ||||||
|  | 		Time:     o.Time.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Emoji struct { | ||||||
|  | 	Alias        string             `codec:"alias" json:"alias"` | ||||||
|  | 	IsBig        bool               `codec:"isBig" json:"isBig"` | ||||||
|  | 	IsReacji     bool               `codec:"isReacji" json:"isReacji"` | ||||||
|  | 	IsCrossTeam  bool               `codec:"isCrossTeam" json:"isCrossTeam"` | ||||||
|  | 	IsAlias      bool               `codec:"isAlias" json:"isAlias"` | ||||||
|  | 	Source       EmojiLoadSource    `codec:"source" json:"source"` | ||||||
|  | 	NoAnimSource EmojiLoadSource    `codec:"noAnimSource" json:"noAnimSource"` | ||||||
|  | 	RemoteSource EmojiRemoteSource  `codec:"remoteSource" json:"remoteSource"` | ||||||
|  | 	CreationInfo *EmojiCreationInfo `codec:"creationInfo,omitempty" json:"creationInfo,omitempty"` | ||||||
|  | 	Teamname     *string            `codec:"teamname,omitempty" json:"teamname,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o Emoji) DeepCopy() Emoji { | ||||||
|  | 	return Emoji{ | ||||||
|  | 		Alias:        o.Alias, | ||||||
|  | 		IsBig:        o.IsBig, | ||||||
|  | 		IsReacji:     o.IsReacji, | ||||||
|  | 		IsCrossTeam:  o.IsCrossTeam, | ||||||
|  | 		IsAlias:      o.IsAlias, | ||||||
|  | 		Source:       o.Source.DeepCopy(), | ||||||
|  | 		NoAnimSource: o.NoAnimSource.DeepCopy(), | ||||||
|  | 		RemoteSource: o.RemoteSource.DeepCopy(), | ||||||
|  | 		CreationInfo: (func(x *EmojiCreationInfo) *EmojiCreationInfo { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.CreationInfo), | ||||||
|  | 		Teamname: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Teamname), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiGroup struct { | ||||||
|  | 	Name   string  `codec:"name" json:"name"` | ||||||
|  | 	Emojis []Emoji `codec:"emojis" json:"emojis"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiGroup) DeepCopy() EmojiGroup { | ||||||
|  | 	return EmojiGroup{ | ||||||
|  | 		Name: o.Name, | ||||||
|  | 		Emojis: (func(x []Emoji) []Emoji { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]Emoji, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Emojis), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type UserEmojis struct { | ||||||
|  | 	Emojis []EmojiGroup `codec:"emojis" json:"emojis"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UserEmojis) DeepCopy() UserEmojis { | ||||||
|  | 	return UserEmojis{ | ||||||
|  | 		Emojis: (func(x []EmojiGroup) []EmojiGroup { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]EmojiGroup, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Emojis), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmojiStorage struct { | ||||||
|  | 	Mapping map[string]EmojiRemoteSource `codec:"mapping" json:"mapping"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmojiStorage) DeepCopy() EmojiStorage { | ||||||
|  | 	return EmojiStorage{ | ||||||
|  | 		Mapping: (func(x map[string]EmojiRemoteSource) map[string]EmojiRemoteSource { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make(map[string]EmojiRemoteSource, len(x)) | ||||||
|  | 			for k, v := range x { | ||||||
|  | 				kCopy := k | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[kCopy] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Mapping), | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/gregor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/gregor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/gregor.avdl | //   Input file: ../client/protocol/avdl/chat1/gregor.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -453,16 +453,6 @@ func (o UpdateConversations) DeepCopy() UpdateConversations { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| type TeamChannelUpdate struct { |  | ||||||
| 	TeamID TLFID `codec:"teamID" json:"teamID"` |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (o TeamChannelUpdate) DeepCopy() TeamChannelUpdate { |  | ||||||
| 	return TeamChannelUpdate{ |  | ||||||
| 		TeamID: o.TeamID.DeepCopy(), |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type SetConvRetentionUpdate struct { | type SetConvRetentionUpdate struct { | ||||||
| 	InboxVers InboxVers       `codec:"inboxVers" json:"inboxVers"` | 	InboxVers InboxVers       `codec:"inboxVers" json:"inboxVers"` | ||||||
| 	ConvID    ConversationID  `codec:"convID" json:"convID"` | 	ConvID    ConversationID  `codec:"convID" json:"convID"` | ||||||
|   | |||||||
							
								
								
									
										871
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/local.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										871
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/local.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/notify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/notify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/notify.avdl | //   Input file: ../client/protocol/avdl/chat1/notify.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -115,7 +115,7 @@ func (o IncomingMessage) DeepCopy() IncomingMessage { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.ModifiedMessage), | 		})(o.ModifiedMessage), | ||||||
| 		ConvID:                     o.ConvID.DeepCopy(), | 		ConvID: o.ConvID.DeepCopy(), | ||||||
| 		DisplayDesktopNotification: o.DisplayDesktopNotification, | 		DisplayDesktopNotification: o.DisplayDesktopNotification, | ||||||
| 		DesktopNotificationSnippet: o.DesktopNotificationSnippet, | 		DesktopNotificationSnippet: o.DesktopNotificationSnippet, | ||||||
| 		Conv: (func(x *InboxUIItem) *InboxUIItem { | 		Conv: (func(x *InboxUIItem) *InboxUIItem { | ||||||
| @@ -324,8 +324,8 @@ func (o EphemeralPurgeNotifInfo) DeepCopy() EphemeralPurgeNotifInfo { | |||||||
| } | } | ||||||
|  |  | ||||||
| type ReactionUpdate struct { | type ReactionUpdate struct { | ||||||
| 	Reactions   ReactionMap `codec:"reactions" json:"reactions"` | 	Reactions   UIReactionMap `codec:"reactions" json:"reactions"` | ||||||
| 	TargetMsgID MessageID   `codec:"targetMsgID" json:"targetMsgID"` | 	TargetMsgID MessageID     `codec:"targetMsgID" json:"targetMsgID"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o ReactionUpdate) DeepCopy() ReactionUpdate { | func (o ReactionUpdate) DeepCopy() ReactionUpdate { | ||||||
| @@ -758,20 +758,16 @@ func (o ChatActivity) DeepCopy() ChatActivity { | |||||||
| } | } | ||||||
|  |  | ||||||
| type TyperInfo struct { | type TyperInfo struct { | ||||||
| 	Uid        keybase1.UID      `codec:"uid" json:"uid"` | 	Uid      keybase1.UID      `codec:"uid" json:"uid"` | ||||||
| 	Username   string            `codec:"username" json:"username"` | 	Username string            `codec:"username" json:"username"` | ||||||
| 	DeviceID   keybase1.DeviceID `codec:"deviceID" json:"deviceID"` | 	DeviceID keybase1.DeviceID `codec:"deviceID" json:"deviceID"` | ||||||
| 	DeviceName string            `codec:"deviceName" json:"deviceName"` |  | ||||||
| 	DeviceType string            `codec:"deviceType" json:"deviceType"` |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o TyperInfo) DeepCopy() TyperInfo { | func (o TyperInfo) DeepCopy() TyperInfo { | ||||||
| 	return TyperInfo{ | 	return TyperInfo{ | ||||||
| 		Uid:        o.Uid.DeepCopy(), | 		Uid:      o.Uid.DeepCopy(), | ||||||
| 		Username:   o.Username, | 		Username: o.Username, | ||||||
| 		DeviceID:   o.DeviceID.DeepCopy(), | 		DeviceID: o.DeviceID.DeepCopy(), | ||||||
| 		DeviceName: o.DeviceName, |  | ||||||
| 		DeviceType: o.DeviceType, |  | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										367
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/remote.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										367
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/remote.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/remote.avdl | //   Input file: ../client/protocol/avdl/chat1/remote.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
| @@ -232,8 +232,10 @@ func (o NewConversationRemoteRes) DeepCopy() NewConversationRemoteRes { | |||||||
| } | } | ||||||
|  |  | ||||||
| type GetMessagesRemoteRes struct { | type GetMessagesRemoteRes struct { | ||||||
| 	Msgs      []MessageBoxed `codec:"msgs" json:"msgs"` | 	Msgs        []MessageBoxed          `codec:"msgs" json:"msgs"` | ||||||
| 	RateLimit *RateLimit     `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | 	MembersType ConversationMembersType `codec:"membersType" json:"membersType"` | ||||||
|  | 	Visibility  keybase1.TLFVisibility  `codec:"visibility" json:"visibility"` | ||||||
|  | 	RateLimit   *RateLimit              `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o GetMessagesRemoteRes) DeepCopy() GetMessagesRemoteRes { | func (o GetMessagesRemoteRes) DeepCopy() GetMessagesRemoteRes { | ||||||
| @@ -249,6 +251,8 @@ func (o GetMessagesRemoteRes) DeepCopy() GetMessagesRemoteRes { | |||||||
| 			} | 			} | ||||||
| 			return ret | 			return ret | ||||||
| 		})(o.Msgs), | 		})(o.Msgs), | ||||||
|  | 		MembersType: o.MembersType.DeepCopy(), | ||||||
|  | 		Visibility:  o.Visibility.DeepCopy(), | ||||||
| 		RateLimit: (func(x *RateLimit) *RateLimit { | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| @@ -962,11 +966,24 @@ func (o RemoteBotCommandsAdvertisementTLFID) DeepCopy() RemoteBotCommandsAdverti | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type RemoteBotCommandsAdvertisementConv struct { | ||||||
|  | 	ConvID          ConversationID `codec:"convID" json:"convID"` | ||||||
|  | 	AdvertiseConvID ConversationID `codec:"advertiseConvID" json:"advertiseConvID"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteBotCommandsAdvertisementConv) DeepCopy() RemoteBotCommandsAdvertisementConv { | ||||||
|  | 	return RemoteBotCommandsAdvertisementConv{ | ||||||
|  | 		ConvID:          o.ConvID.DeepCopy(), | ||||||
|  | 		AdvertiseConvID: o.AdvertiseConvID.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type RemoteBotCommandsAdvertisement struct { | type RemoteBotCommandsAdvertisement struct { | ||||||
| 	Typ__          BotCommandsAdvertisementTyp           `codec:"typ" json:"typ"` | 	Typ__          BotCommandsAdvertisementTyp           `codec:"typ" json:"typ"` | ||||||
| 	Public__       *RemoteBotCommandsAdvertisementPublic `codec:"public,omitempty" json:"public,omitempty"` | 	Public__       *RemoteBotCommandsAdvertisementPublic `codec:"public,omitempty" json:"public,omitempty"` | ||||||
| 	TlfidMembers__ *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidMembers,omitempty" json:"tlfidMembers,omitempty"` | 	TlfidMembers__ *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidMembers,omitempty" json:"tlfidMembers,omitempty"` | ||||||
| 	TlfidConvs__   *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidConvs,omitempty" json:"tlfidConvs,omitempty"` | 	TlfidConvs__   *RemoteBotCommandsAdvertisementTLFID  `codec:"tlfidConvs,omitempty" json:"tlfidConvs,omitempty"` | ||||||
|  | 	Conv__         *RemoteBotCommandsAdvertisementConv   `codec:"conv,omitempty" json:"conv,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o *RemoteBotCommandsAdvertisement) Typ() (ret BotCommandsAdvertisementTyp, err error) { | func (o *RemoteBotCommandsAdvertisement) Typ() (ret BotCommandsAdvertisementTyp, err error) { | ||||||
| @@ -986,6 +1003,11 @@ func (o *RemoteBotCommandsAdvertisement) Typ() (ret BotCommandsAdvertisementTyp, | |||||||
| 			err = errors.New("unexpected nil value for TlfidConvs__") | 			err = errors.New("unexpected nil value for TlfidConvs__") | ||||||
| 			return ret, err | 			return ret, err | ||||||
| 		} | 		} | ||||||
|  | 	case BotCommandsAdvertisementTyp_CONV: | ||||||
|  | 		if o.Conv__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Conv__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	return o.Typ__, nil | 	return o.Typ__, nil | ||||||
| } | } | ||||||
| @@ -1020,6 +1042,16 @@ func (o RemoteBotCommandsAdvertisement) TlfidConvs() (res RemoteBotCommandsAdver | |||||||
| 	return *o.TlfidConvs__ | 	return *o.TlfidConvs__ | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (o RemoteBotCommandsAdvertisement) Conv() (res RemoteBotCommandsAdvertisementConv) { | ||||||
|  | 	if o.Typ__ != BotCommandsAdvertisementTyp_CONV { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Conv__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Conv__ | ||||||
|  | } | ||||||
|  |  | ||||||
| func NewRemoteBotCommandsAdvertisementWithPublic(v RemoteBotCommandsAdvertisementPublic) RemoteBotCommandsAdvertisement { | func NewRemoteBotCommandsAdvertisementWithPublic(v RemoteBotCommandsAdvertisementPublic) RemoteBotCommandsAdvertisement { | ||||||
| 	return RemoteBotCommandsAdvertisement{ | 	return RemoteBotCommandsAdvertisement{ | ||||||
| 		Typ__:    BotCommandsAdvertisementTyp_PUBLIC, | 		Typ__:    BotCommandsAdvertisementTyp_PUBLIC, | ||||||
| @@ -1041,6 +1073,13 @@ func NewRemoteBotCommandsAdvertisementWithTlfidConvs(v RemoteBotCommandsAdvertis | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func NewRemoteBotCommandsAdvertisementWithConv(v RemoteBotCommandsAdvertisementConv) RemoteBotCommandsAdvertisement { | ||||||
|  | 	return RemoteBotCommandsAdvertisement{ | ||||||
|  | 		Typ__:  BotCommandsAdvertisementTyp_CONV, | ||||||
|  | 		Conv__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| func (o RemoteBotCommandsAdvertisement) DeepCopy() RemoteBotCommandsAdvertisement { | func (o RemoteBotCommandsAdvertisement) DeepCopy() RemoteBotCommandsAdvertisement { | ||||||
| 	return RemoteBotCommandsAdvertisement{ | 	return RemoteBotCommandsAdvertisement{ | ||||||
| 		Typ__: o.Typ__.DeepCopy(), | 		Typ__: o.Typ__.DeepCopy(), | ||||||
| @@ -1065,6 +1104,13 @@ func (o RemoteBotCommandsAdvertisement) DeepCopy() RemoteBotCommandsAdvertisemen | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.TlfidConvs__), | 		})(o.TlfidConvs__), | ||||||
|  | 		Conv__: (func(x *RemoteBotCommandsAdvertisementConv) *RemoteBotCommandsAdvertisementConv { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Conv__), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1126,6 +1172,169 @@ func (o AdvertiseBotCommandsRes) DeepCopy() AdvertiseBotCommandsRes { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type RemoteClearBotCommandsFilterPublic struct { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilterPublic) DeepCopy() RemoteClearBotCommandsFilterPublic { | ||||||
|  | 	return RemoteClearBotCommandsFilterPublic{} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RemoteClearBotCommandsFilterTLFID struct { | ||||||
|  | 	TlfID TLFID `codec:"tlfID" json:"tlfID"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilterTLFID) DeepCopy() RemoteClearBotCommandsFilterTLFID { | ||||||
|  | 	return RemoteClearBotCommandsFilterTLFID{ | ||||||
|  | 		TlfID: o.TlfID.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RemoteClearBotCommandsFilterConv struct { | ||||||
|  | 	ConvID ConversationID `codec:"convID" json:"convID"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilterConv) DeepCopy() RemoteClearBotCommandsFilterConv { | ||||||
|  | 	return RemoteClearBotCommandsFilterConv{ | ||||||
|  | 		ConvID: o.ConvID.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RemoteClearBotCommandsFilter struct { | ||||||
|  | 	Typ__          BotCommandsAdvertisementTyp         `codec:"typ" json:"typ"` | ||||||
|  | 	Public__       *RemoteClearBotCommandsFilterPublic `codec:"public,omitempty" json:"public,omitempty"` | ||||||
|  | 	TlfidMembers__ *RemoteClearBotCommandsFilterTLFID  `codec:"tlfidMembers,omitempty" json:"tlfidMembers,omitempty"` | ||||||
|  | 	TlfidConvs__   *RemoteClearBotCommandsFilterTLFID  `codec:"tlfidConvs,omitempty" json:"tlfidConvs,omitempty"` | ||||||
|  | 	Conv__         *RemoteClearBotCommandsFilterConv   `codec:"conv,omitempty" json:"conv,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o *RemoteClearBotCommandsFilter) Typ() (ret BotCommandsAdvertisementTyp, err error) { | ||||||
|  | 	switch o.Typ__ { | ||||||
|  | 	case BotCommandsAdvertisementTyp_PUBLIC: | ||||||
|  | 		if o.Public__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Public__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	case BotCommandsAdvertisementTyp_TLFID_MEMBERS: | ||||||
|  | 		if o.TlfidMembers__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for TlfidMembers__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	case BotCommandsAdvertisementTyp_TLFID_CONVS: | ||||||
|  | 		if o.TlfidConvs__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for TlfidConvs__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	case BotCommandsAdvertisementTyp_CONV: | ||||||
|  | 		if o.Conv__ == nil { | ||||||
|  | 			err = errors.New("unexpected nil value for Conv__") | ||||||
|  | 			return ret, err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return o.Typ__, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilter) Public() (res RemoteClearBotCommandsFilterPublic) { | ||||||
|  | 	if o.Typ__ != BotCommandsAdvertisementTyp_PUBLIC { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Public__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Public__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilter) TlfidMembers() (res RemoteClearBotCommandsFilterTLFID) { | ||||||
|  | 	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_MEMBERS { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.TlfidMembers__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.TlfidMembers__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilter) TlfidConvs() (res RemoteClearBotCommandsFilterTLFID) { | ||||||
|  | 	if o.Typ__ != BotCommandsAdvertisementTyp_TLFID_CONVS { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.TlfidConvs__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.TlfidConvs__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilter) Conv() (res RemoteClearBotCommandsFilterConv) { | ||||||
|  | 	if o.Typ__ != BotCommandsAdvertisementTyp_CONV { | ||||||
|  | 		panic("wrong case accessed") | ||||||
|  | 	} | ||||||
|  | 	if o.Conv__ == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return *o.Conv__ | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRemoteClearBotCommandsFilterWithPublic(v RemoteClearBotCommandsFilterPublic) RemoteClearBotCommandsFilter { | ||||||
|  | 	return RemoteClearBotCommandsFilter{ | ||||||
|  | 		Typ__:    BotCommandsAdvertisementTyp_PUBLIC, | ||||||
|  | 		Public__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRemoteClearBotCommandsFilterWithTlfidMembers(v RemoteClearBotCommandsFilterTLFID) RemoteClearBotCommandsFilter { | ||||||
|  | 	return RemoteClearBotCommandsFilter{ | ||||||
|  | 		Typ__:          BotCommandsAdvertisementTyp_TLFID_MEMBERS, | ||||||
|  | 		TlfidMembers__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRemoteClearBotCommandsFilterWithTlfidConvs(v RemoteClearBotCommandsFilterTLFID) RemoteClearBotCommandsFilter { | ||||||
|  | 	return RemoteClearBotCommandsFilter{ | ||||||
|  | 		Typ__:        BotCommandsAdvertisementTyp_TLFID_CONVS, | ||||||
|  | 		TlfidConvs__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRemoteClearBotCommandsFilterWithConv(v RemoteClearBotCommandsFilterConv) RemoteClearBotCommandsFilter { | ||||||
|  | 	return RemoteClearBotCommandsFilter{ | ||||||
|  | 		Typ__:  BotCommandsAdvertisementTyp_CONV, | ||||||
|  | 		Conv__: &v, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RemoteClearBotCommandsFilter) DeepCopy() RemoteClearBotCommandsFilter { | ||||||
|  | 	return RemoteClearBotCommandsFilter{ | ||||||
|  | 		Typ__: o.Typ__.DeepCopy(), | ||||||
|  | 		Public__: (func(x *RemoteClearBotCommandsFilterPublic) *RemoteClearBotCommandsFilterPublic { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Public__), | ||||||
|  | 		TlfidMembers__: (func(x *RemoteClearBotCommandsFilterTLFID) *RemoteClearBotCommandsFilterTLFID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.TlfidMembers__), | ||||||
|  | 		TlfidConvs__: (func(x *RemoteClearBotCommandsFilterTLFID) *RemoteClearBotCommandsFilterTLFID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.TlfidConvs__), | ||||||
|  | 		Conv__: (func(x *RemoteClearBotCommandsFilterConv) *RemoteClearBotCommandsFilterConv { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Conv__), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type ClearBotCommandsRes struct { | type ClearBotCommandsRes struct { | ||||||
| 	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | 	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
| } | } | ||||||
| @@ -1248,3 +1457,155 @@ func (o BotInfoHash) DeepCopy() BotInfoHash { | |||||||
| 		return append([]byte{}, x...) | 		return append([]byte{}, x...) | ||||||
| 	})(o) | 	})(o) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type GetDefaultTeamChannelsRes struct { | ||||||
|  | 	Convs     []ConversationID `codec:"convs" json:"convs"` | ||||||
|  | 	RateLimit *RateLimit       `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o GetDefaultTeamChannelsRes) DeepCopy() GetDefaultTeamChannelsRes { | ||||||
|  | 	return GetDefaultTeamChannelsRes{ | ||||||
|  | 		Convs: (func(x []ConversationID) []ConversationID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ConversationID, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Convs), | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type SetDefaultTeamChannelsRes struct { | ||||||
|  | 	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o SetDefaultTeamChannelsRes) DeepCopy() SetDefaultTeamChannelsRes { | ||||||
|  | 	return SetDefaultTeamChannelsRes{ | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type GetRecentJoinsRes struct { | ||||||
|  | 	NumJoins  int        `codec:"numJoins" json:"numJoins"` | ||||||
|  | 	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o GetRecentJoinsRes) DeepCopy() GetRecentJoinsRes { | ||||||
|  | 	return GetRecentJoinsRes{ | ||||||
|  | 		NumJoins: o.NumJoins, | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RefreshParticipantsRemoteRes struct { | ||||||
|  | 	HashMatch bool          `codec:"hashMatch" json:"hashMatch"` | ||||||
|  | 	Uids      []gregor1.UID `codec:"uids" json:"uids"` | ||||||
|  | 	Hash      string        `codec:"hash" json:"hash"` | ||||||
|  | 	RateLimit *RateLimit    `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o RefreshParticipantsRemoteRes) DeepCopy() RefreshParticipantsRemoteRes { | ||||||
|  | 	return RefreshParticipantsRemoteRes{ | ||||||
|  | 		HashMatch: o.HashMatch, | ||||||
|  | 		Uids: (func(x []gregor1.UID) []gregor1.UID { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]gregor1.UID, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Uids), | ||||||
|  | 		Hash: o.Hash, | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type GetLastActiveAtRes struct { | ||||||
|  | 	LastActiveAt gregor1.Time `codec:"lastActiveAt" json:"lastActiveAt"` | ||||||
|  | 	RateLimit    *RateLimit   `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o GetLastActiveAtRes) DeepCopy() GetLastActiveAtRes { | ||||||
|  | 	return GetLastActiveAtRes{ | ||||||
|  | 		LastActiveAt: o.LastActiveAt.DeepCopy(), | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ResetConversationMember struct { | ||||||
|  | 	ConvID ConversationID `codec:"convID" json:"convID"` | ||||||
|  | 	Uid    gregor1.UID    `codec:"uid" json:"uid"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o ResetConversationMember) DeepCopy() ResetConversationMember { | ||||||
|  | 	return ResetConversationMember{ | ||||||
|  | 		ConvID: o.ConvID.DeepCopy(), | ||||||
|  | 		Uid:    o.Uid.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type GetResetConversationsRes struct { | ||||||
|  | 	ResetConvs []ResetConversationMember `codec:"resetConvs" json:"resetConvs"` | ||||||
|  | 	RateLimit  *RateLimit                `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o GetResetConversationsRes) DeepCopy() GetResetConversationsRes { | ||||||
|  | 	return GetResetConversationsRes{ | ||||||
|  | 		ResetConvs: (func(x []ResetConversationMember) []ResetConversationMember { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]ResetConversationMember, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.ResetConvs), | ||||||
|  | 		RateLimit: (func(x *RateLimit) *RateLimit { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.RateLimit), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/unfurl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/chat1/unfurl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/chat1/unfurl.avdl | //   Input file: ../client/protocol/avdl/chat1/unfurl.avdl | ||||||
|  |  | ||||||
| package chat1 | package chat1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/auth.avdl | //   Input file: ../client/protocol/avdl/gregor1/auth.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth_internal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth_internal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/auth_internal.avdl | //   Input file: ../client/protocol/avdl/gregor1/auth_internal.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth_update.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/auth_update.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/auth_update.avdl | //   Input file: ../client/protocol/avdl/gregor1/auth_update.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/common.avdl | //   Input file: ../client/protocol/avdl/gregor1/common.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/incoming.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/incoming.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/incoming.avdl | //   Input file: ../client/protocol/avdl/gregor1/incoming.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/outgoing.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/outgoing.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/outgoing.avdl | //   Input file: ../client/protocol/avdl/gregor1/outgoing.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/remind.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/gregor1/remind.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/gregor1/remind.avdl | //   Input file: ../client/protocol/avdl/gregor1/remind.avdl | ||||||
|  |  | ||||||
| package gregor1 | package gregor1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/account.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/account.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/account.avdl | //   Input file: ../client/protocol/avdl/keybase1/account.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/airdrop.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/airdrop.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/airdrop.avdl | //   Input file: ../client/protocol/avdl/keybase1/airdrop.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/apiserver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/apiserver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/apiserver.avdl | //   Input file: ../client/protocol/avdl/keybase1/apiserver.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/appstate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/appstate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/appstate.avdl | //   Input file: ../client/protocol/avdl/keybase1/appstate.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/audit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/audit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/audit.avdl | //   Input file: ../client/protocol/avdl/keybase1/audit.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/avatars.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/avatars.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/avatars.avdl | //   Input file: ../client/protocol/avdl/keybase1/avatars.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/backend_common.avdl | //   Input file: ../client/protocol/avdl/keybase1/backend_common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/badger.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/badger.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/badger.avdl | //   Input file: ../client/protocol/avdl/keybase1/badger.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										106
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/block.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										106
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/block.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/block.avdl | //   Input file: ../client/protocol/avdl/keybase1/block.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -57,6 +57,38 @@ func (o GetBlockRes) DeepCopy() GetBlockRes { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type GetBlockSizesRes struct { | ||||||
|  | 	Sizes    []int         `codec:"sizes" json:"sizes"` | ||||||
|  | 	Statuses []BlockStatus `codec:"statuses" json:"statuses"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o GetBlockSizesRes) DeepCopy() GetBlockSizesRes { | ||||||
|  | 	return GetBlockSizesRes{ | ||||||
|  | 		Sizes: (func(x []int) []int { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]int, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Sizes), | ||||||
|  | 		Statuses: (func(x []BlockStatus) []BlockStatus { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]BlockStatus, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Statuses), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type BlockRefNonce [8]byte | type BlockRefNonce [8]byte | ||||||
|  |  | ||||||
| func (o BlockRefNonce) DeepCopy() BlockRefNonce { | func (o BlockRefNonce) DeepCopy() BlockRefNonce { | ||||||
| @@ -151,3 +183,75 @@ type BlockPingResponse struct { | |||||||
| func (o BlockPingResponse) DeepCopy() BlockPingResponse { | func (o BlockPingResponse) DeepCopy() BlockPingResponse { | ||||||
| 	return BlockPingResponse{} | 	return BlockPingResponse{} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type UsageStatRecord struct { | ||||||
|  | 	Write      int64 `codec:"write" json:"write"` | ||||||
|  | 	Archive    int64 `codec:"archive" json:"archive"` | ||||||
|  | 	Read       int64 `codec:"read" json:"read"` | ||||||
|  | 	MdWrite    int64 `codec:"mdWrite" json:"mdWrite"` | ||||||
|  | 	GitWrite   int64 `codec:"gitWrite" json:"gitWrite"` | ||||||
|  | 	GitArchive int64 `codec:"gitArchive" json:"gitArchive"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UsageStatRecord) DeepCopy() UsageStatRecord { | ||||||
|  | 	return UsageStatRecord{ | ||||||
|  | 		Write:      o.Write, | ||||||
|  | 		Archive:    o.Archive, | ||||||
|  | 		Read:       o.Read, | ||||||
|  | 		MdWrite:    o.MdWrite, | ||||||
|  | 		GitWrite:   o.GitWrite, | ||||||
|  | 		GitArchive: o.GitArchive, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type UsageStat struct { | ||||||
|  | 	Bytes  UsageStatRecord `codec:"bytes" json:"bytes"` | ||||||
|  | 	Blocks UsageStatRecord `codec:"blocks" json:"blocks"` | ||||||
|  | 	Mtime  Time            `codec:"mtime" json:"mtime"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UsageStat) DeepCopy() UsageStat { | ||||||
|  | 	return UsageStat{ | ||||||
|  | 		Bytes:  o.Bytes.DeepCopy(), | ||||||
|  | 		Blocks: o.Blocks.DeepCopy(), | ||||||
|  | 		Mtime:  o.Mtime.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type FolderUsageStat struct { | ||||||
|  | 	FolderID string    `codec:"folderID" json:"folderID"` | ||||||
|  | 	Stats    UsageStat `codec:"stats" json:"stats"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o FolderUsageStat) DeepCopy() FolderUsageStat { | ||||||
|  | 	return FolderUsageStat{ | ||||||
|  | 		FolderID: o.FolderID, | ||||||
|  | 		Stats:    o.Stats.DeepCopy(), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type BlockQuotaInfo struct { | ||||||
|  | 	Folders  []FolderUsageStat `codec:"folders" json:"folders"` | ||||||
|  | 	Total    UsageStat         `codec:"total" json:"total"` | ||||||
|  | 	Limit    int64             `codec:"limit" json:"limit"` | ||||||
|  | 	GitLimit int64             `codec:"gitLimit" json:"gitLimit"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o BlockQuotaInfo) DeepCopy() BlockQuotaInfo { | ||||||
|  | 	return BlockQuotaInfo{ | ||||||
|  | 		Folders: (func(x []FolderUsageStat) []FolderUsageStat { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]FolderUsageStat, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.Folders), | ||||||
|  | 		Total:    o.Total.DeepCopy(), | ||||||
|  | 		Limit:    o.Limit, | ||||||
|  | 		GitLimit: o.GitLimit, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/bot.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/bot.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/bot.avdl | //   Input file: ../client/protocol/avdl/keybase1/bot.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/btc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/btc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/btc.avdl | //   Input file: ../client/protocol/avdl/keybase1/btc.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										145
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										145
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/common.avdl | //   Input file: ../client/protocol/avdl/keybase1/common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -26,6 +26,12 @@ func (o DurationSec) DeepCopy() DurationSec { | |||||||
| 	return o | 	return o | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type DurationMsec float64 | ||||||
|  |  | ||||||
|  | func (o DurationMsec) DeepCopy() DurationMsec { | ||||||
|  | 	return o | ||||||
|  | } | ||||||
|  |  | ||||||
| type StringKVPair struct { | type StringKVPair struct { | ||||||
| 	Key   string `codec:"key" json:"key"` | 	Key   string `codec:"key" json:"key"` | ||||||
| 	Value string `codec:"value" json:"value"` | 	Value string `codec:"value" json:"value"` | ||||||
| @@ -432,7 +438,7 @@ type PublicKey struct { | |||||||
| 	ParentID          string        `codec:"parentID" json:"parentID"` | 	ParentID          string        `codec:"parentID" json:"parentID"` | ||||||
| 	DeviceID          DeviceID      `codec:"deviceID" json:"deviceID"` | 	DeviceID          DeviceID      `codec:"deviceID" json:"deviceID"` | ||||||
| 	DeviceDescription string        `codec:"deviceDescription" json:"deviceDescription"` | 	DeviceDescription string        `codec:"deviceDescription" json:"deviceDescription"` | ||||||
| 	DeviceType        string        `codec:"deviceType" json:"deviceType"` | 	DeviceType        DeviceTypeV2  `codec:"deviceType" json:"deviceType"` | ||||||
| 	CTime             Time          `codec:"cTime" json:"cTime"` | 	CTime             Time          `codec:"cTime" json:"cTime"` | ||||||
| 	ETime             Time          `codec:"eTime" json:"eTime"` | 	ETime             Time          `codec:"eTime" json:"eTime"` | ||||||
| 	IsRevoked         bool          `codec:"isRevoked" json:"isRevoked"` | 	IsRevoked         bool          `codec:"isRevoked" json:"isRevoked"` | ||||||
| @@ -458,7 +464,7 @@ func (o PublicKey) DeepCopy() PublicKey { | |||||||
| 		ParentID:          o.ParentID, | 		ParentID:          o.ParentID, | ||||||
| 		DeviceID:          o.DeviceID.DeepCopy(), | 		DeviceID:          o.DeviceID.DeepCopy(), | ||||||
| 		DeviceDescription: o.DeviceDescription, | 		DeviceDescription: o.DeviceDescription, | ||||||
| 		DeviceType:        o.DeviceType, | 		DeviceType:        o.DeviceType.DeepCopy(), | ||||||
| 		CTime:             o.CTime.DeepCopy(), | 		CTime:             o.CTime.DeepCopy(), | ||||||
| 		ETime:             o.ETime.DeepCopy(), | 		ETime:             o.ETime.DeepCopy(), | ||||||
| 		IsRevoked:         o.IsRevoked, | 		IsRevoked:         o.IsRevoked, | ||||||
| @@ -504,21 +510,21 @@ func (o User) DeepCopy() User { | |||||||
| } | } | ||||||
|  |  | ||||||
| type Device struct { | type Device struct { | ||||||
| 	Type               string   `codec:"type" json:"type"` | 	Type               DeviceTypeV2 `codec:"type" json:"type"` | ||||||
| 	Name               string   `codec:"name" json:"name"` | 	Name               string       `codec:"name" json:"name"` | ||||||
| 	DeviceID           DeviceID `codec:"deviceID" json:"deviceID"` | 	DeviceID           DeviceID     `codec:"deviceID" json:"deviceID"` | ||||||
| 	DeviceNumberOfType int      `codec:"deviceNumberOfType" json:"deviceNumberOfType"` | 	DeviceNumberOfType int          `codec:"deviceNumberOfType" json:"deviceNumberOfType"` | ||||||
| 	CTime              Time     `codec:"cTime" json:"cTime"` | 	CTime              Time         `codec:"cTime" json:"cTime"` | ||||||
| 	MTime              Time     `codec:"mTime" json:"mTime"` | 	MTime              Time         `codec:"mTime" json:"mTime"` | ||||||
| 	LastUsedTime       Time     `codec:"lastUsedTime" json:"lastUsedTime"` | 	LastUsedTime       Time         `codec:"lastUsedTime" json:"lastUsedTime"` | ||||||
| 	EncryptKey         KID      `codec:"encryptKey" json:"encryptKey"` | 	EncryptKey         KID          `codec:"encryptKey" json:"encryptKey"` | ||||||
| 	VerifyKey          KID      `codec:"verifyKey" json:"verifyKey"` | 	VerifyKey          KID          `codec:"verifyKey" json:"verifyKey"` | ||||||
| 	Status             int      `codec:"status" json:"status"` | 	Status             int          `codec:"status" json:"status"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o Device) DeepCopy() Device { | func (o Device) DeepCopy() Device { | ||||||
| 	return Device{ | 	return Device{ | ||||||
| 		Type:               o.Type, | 		Type:               o.Type.DeepCopy(), | ||||||
| 		Name:               o.Name, | 		Name:               o.Name, | ||||||
| 		DeviceID:           o.DeviceID.DeepCopy(), | 		DeviceID:           o.DeviceID.DeepCopy(), | ||||||
| 		DeviceNumberOfType: o.DeviceNumberOfType, | 		DeviceNumberOfType: o.DeviceNumberOfType, | ||||||
| @@ -557,6 +563,12 @@ func (e DeviceType) String() string { | |||||||
| 	return fmt.Sprintf("%v", int(e)) | 	return fmt.Sprintf("%v", int(e)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type DeviceTypeV2 string | ||||||
|  |  | ||||||
|  | func (o DeviceTypeV2) DeepCopy() DeviceTypeV2 { | ||||||
|  | 	return o | ||||||
|  | } | ||||||
|  |  | ||||||
| type Stream struct { | type Stream struct { | ||||||
| 	Fd int `codec:"fd" json:"fd"` | 	Fd int `codec:"fd" json:"fd"` | ||||||
| } | } | ||||||
| @@ -1061,26 +1073,84 @@ func (e OfflineAvailability) String() string { | |||||||
| 	return fmt.Sprintf("%v", int(e)) | 	return fmt.Sprintf("%v", int(e)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type UserReacji struct { | ||||||
|  | 	Name             string  `codec:"name" json:"name"` | ||||||
|  | 	CustomAddr       *string `codec:"customAddr,omitempty" json:"customAddr,omitempty"` | ||||||
|  | 	CustomAddrNoAnim *string `codec:"customAddrNoAnim,omitempty" json:"customAddrNoAnim,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o UserReacji) DeepCopy() UserReacji { | ||||||
|  | 	return UserReacji{ | ||||||
|  | 		Name: o.Name, | ||||||
|  | 		CustomAddr: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.CustomAddr), | ||||||
|  | 		CustomAddrNoAnim: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.CustomAddrNoAnim), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| type ReacjiSkinTone int | type ReacjiSkinTone int | ||||||
|  |  | ||||||
| func (o ReacjiSkinTone) DeepCopy() ReacjiSkinTone { | const ( | ||||||
| 	return o | 	ReacjiSkinTone_NONE      ReacjiSkinTone = 0 | ||||||
|  | 	ReacjiSkinTone_SKINTONE1 ReacjiSkinTone = 1 | ||||||
|  | 	ReacjiSkinTone_SKINTONE2 ReacjiSkinTone = 2 | ||||||
|  | 	ReacjiSkinTone_SKINTONE3 ReacjiSkinTone = 3 | ||||||
|  | 	ReacjiSkinTone_SKINTONE4 ReacjiSkinTone = 4 | ||||||
|  | 	ReacjiSkinTone_SKINTONE5 ReacjiSkinTone = 5 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o ReacjiSkinTone) DeepCopy() ReacjiSkinTone { return o } | ||||||
|  |  | ||||||
|  | var ReacjiSkinToneMap = map[string]ReacjiSkinTone{ | ||||||
|  | 	"NONE":      0, | ||||||
|  | 	"SKINTONE1": 1, | ||||||
|  | 	"SKINTONE2": 2, | ||||||
|  | 	"SKINTONE3": 3, | ||||||
|  | 	"SKINTONE4": 4, | ||||||
|  | 	"SKINTONE5": 5, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var ReacjiSkinToneRevMap = map[ReacjiSkinTone]string{ | ||||||
|  | 	0: "NONE", | ||||||
|  | 	1: "SKINTONE1", | ||||||
|  | 	2: "SKINTONE2", | ||||||
|  | 	3: "SKINTONE3", | ||||||
|  | 	4: "SKINTONE4", | ||||||
|  | 	5: "SKINTONE5", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e ReacjiSkinTone) String() string { | ||||||
|  | 	if v, ok := ReacjiSkinToneRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
| } | } | ||||||
|  |  | ||||||
| type UserReacjis struct { | type UserReacjis struct { | ||||||
| 	TopReacjis []string       `codec:"topReacjis" json:"topReacjis"` | 	TopReacjis []UserReacji   `codec:"topReacjis" json:"topReacjis"` | ||||||
| 	SkinTone   ReacjiSkinTone `codec:"skinTone" json:"skinTone"` | 	SkinTone   ReacjiSkinTone `codec:"skinTone" json:"skinTone"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o UserReacjis) DeepCopy() UserReacjis { | func (o UserReacjis) DeepCopy() UserReacjis { | ||||||
| 	return UserReacjis{ | 	return UserReacjis{ | ||||||
| 		TopReacjis: (func(x []string) []string { | 		TopReacjis: (func(x []UserReacji) []UserReacji { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| 			} | 			} | ||||||
| 			ret := make([]string, len(x)) | 			ret := make([]UserReacji, len(x)) | ||||||
| 			for i, v := range x { | 			for i, v := range x { | ||||||
| 				vCopy := v | 				vCopy := v.DeepCopy() | ||||||
| 				ret[i] = vCopy | 				ret[i] = vCopy | ||||||
| 			} | 			} | ||||||
| 			return ret | 			return ret | ||||||
| @@ -1088,3 +1158,38 @@ func (o UserReacjis) DeepCopy() UserReacjis { | |||||||
| 		SkinTone: o.SkinTone.DeepCopy(), | 		SkinTone: o.SkinTone.DeepCopy(), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type WotStatusType int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	WotStatusType_NONE     WotStatusType = 0 | ||||||
|  | 	WotStatusType_PROPOSED WotStatusType = 1 | ||||||
|  | 	WotStatusType_ACCEPTED WotStatusType = 2 | ||||||
|  | 	WotStatusType_REJECTED WotStatusType = 3 | ||||||
|  | 	WotStatusType_REVOKED  WotStatusType = 4 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o WotStatusType) DeepCopy() WotStatusType { return o } | ||||||
|  |  | ||||||
|  | var WotStatusTypeMap = map[string]WotStatusType{ | ||||||
|  | 	"NONE":     0, | ||||||
|  | 	"PROPOSED": 1, | ||||||
|  | 	"ACCEPTED": 2, | ||||||
|  | 	"REJECTED": 3, | ||||||
|  | 	"REVOKED":  4, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var WotStatusTypeRevMap = map[WotStatusType]string{ | ||||||
|  | 	0: "NONE", | ||||||
|  | 	1: "PROPOSED", | ||||||
|  | 	2: "ACCEPTED", | ||||||
|  | 	3: "REJECTED", | ||||||
|  | 	4: "REVOKED", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e WotStatusType) String() string { | ||||||
|  | 	if v, ok := WotStatusTypeRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/config.avdl | //   Input file: ../client/protocol/avdl/keybase1/config.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -9,11 +9,12 @@ import ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| type CurrentStatus struct { | type CurrentStatus struct { | ||||||
| 	Configured     bool  `codec:"configured" json:"configured"` | 	Configured     bool   `codec:"configured" json:"configured"` | ||||||
| 	Registered     bool  `codec:"registered" json:"registered"` | 	Registered     bool   `codec:"registered" json:"registered"` | ||||||
| 	LoggedIn       bool  `codec:"loggedIn" json:"loggedIn"` | 	LoggedIn       bool   `codec:"loggedIn" json:"loggedIn"` | ||||||
| 	SessionIsValid bool  `codec:"sessionIsValid" json:"sessionIsValid"` | 	SessionIsValid bool   `codec:"sessionIsValid" json:"sessionIsValid"` | ||||||
| 	User           *User `codec:"user,omitempty" json:"user,omitempty"` | 	User           *User  `codec:"user,omitempty" json:"user,omitempty"` | ||||||
|  | 	DeviceName     string `codec:"deviceName" json:"deviceName"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o CurrentStatus) DeepCopy() CurrentStatus { | func (o CurrentStatus) DeepCopy() CurrentStatus { | ||||||
| @@ -29,6 +30,7 @@ func (o CurrentStatus) DeepCopy() CurrentStatus { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.User), | 		})(o.User), | ||||||
|  | 		DeviceName: o.DeviceName, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -331,6 +333,7 @@ type KbServiceStatus struct { | |||||||
| 	Pid     string `codec:"pid" json:"pid"` | 	Pid     string `codec:"pid" json:"pid"` | ||||||
| 	Log     string `codec:"log" json:"log"` | 	Log     string `codec:"log" json:"log"` | ||||||
| 	EkLog   string `codec:"ekLog" json:"ekLog"` | 	EkLog   string `codec:"ekLog" json:"ekLog"` | ||||||
|  | 	PerfLog string `codec:"perfLog" json:"perfLog"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o KbServiceStatus) DeepCopy() KbServiceStatus { | func (o KbServiceStatus) DeepCopy() KbServiceStatus { | ||||||
| @@ -340,6 +343,7 @@ func (o KbServiceStatus) DeepCopy() KbServiceStatus { | |||||||
| 		Pid:     o.Pid, | 		Pid:     o.Pid, | ||||||
| 		Log:     o.Log, | 		Log:     o.Log, | ||||||
| 		EkLog:   o.EkLog, | 		EkLog:   o.EkLog, | ||||||
|  | 		PerfLog: o.PerfLog, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -349,6 +353,7 @@ type KBFSStatus struct { | |||||||
| 	Running          bool   `codec:"running" json:"running"` | 	Running          bool   `codec:"running" json:"running"` | ||||||
| 	Pid              string `codec:"pid" json:"pid"` | 	Pid              string `codec:"pid" json:"pid"` | ||||||
| 	Log              string `codec:"log" json:"log"` | 	Log              string `codec:"log" json:"log"` | ||||||
|  | 	PerfLog          string `codec:"perfLog" json:"perfLog"` | ||||||
| 	Mount            string `codec:"mount" json:"mount"` | 	Mount            string `codec:"mount" json:"mount"` | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -359,6 +364,7 @@ func (o KBFSStatus) DeepCopy() KBFSStatus { | |||||||
| 		Running:          o.Running, | 		Running:          o.Running, | ||||||
| 		Pid:              o.Pid, | 		Pid:              o.Pid, | ||||||
| 		Log:              o.Log, | 		Log:              o.Log, | ||||||
|  | 		PerfLog:          o.PerfLog, | ||||||
| 		Mount:            o.Mount, | 		Mount:            o.Mount, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -398,12 +404,14 @@ func (o StartStatus) DeepCopy() StartStatus { | |||||||
| } | } | ||||||
|  |  | ||||||
| type GitStatus struct { | type GitStatus struct { | ||||||
| 	Log string `codec:"log" json:"log"` | 	Log     string `codec:"log" json:"log"` | ||||||
|  | 	PerfLog string `codec:"perfLog" json:"perfLog"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o GitStatus) DeepCopy() GitStatus { | func (o GitStatus) DeepCopy() GitStatus { | ||||||
| 	return GitStatus{ | 	return GitStatus{ | ||||||
| 		Log: o.Log, | 		Log:     o.Log, | ||||||
|  | 		PerfLog: o.PerfLog, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										306
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/constants.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										306
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/constants.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/constants.avdl | //   Input file: ../client/protocol/avdl/keybase1/constants.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -12,6 +12,7 @@ type StatusCode int | |||||||
| const ( | const ( | ||||||
| 	StatusCode_SCOk                                        StatusCode = 0 | 	StatusCode_SCOk                                        StatusCode = 0 | ||||||
| 	StatusCode_SCInputError                                StatusCode = 100 | 	StatusCode_SCInputError                                StatusCode = 100 | ||||||
|  | 	StatusCode_SCAssertionParseError                       StatusCode = 101 | ||||||
| 	StatusCode_SCLoginRequired                             StatusCode = 201 | 	StatusCode_SCLoginRequired                             StatusCode = 201 | ||||||
| 	StatusCode_SCBadSession                                StatusCode = 202 | 	StatusCode_SCBadSession                                StatusCode = 202 | ||||||
| 	StatusCode_SCBadLoginUserNotFound                      StatusCode = 203 | 	StatusCode_SCBadLoginUserNotFound                      StatusCode = 203 | ||||||
| @@ -34,11 +35,13 @@ const ( | |||||||
| 	StatusCode_SCWrongCryptoFormat                         StatusCode = 279 | 	StatusCode_SCWrongCryptoFormat                         StatusCode = 279 | ||||||
| 	StatusCode_SCDecryptionError                           StatusCode = 280 | 	StatusCode_SCDecryptionError                           StatusCode = 280 | ||||||
| 	StatusCode_SCInvalidAddress                            StatusCode = 281 | 	StatusCode_SCInvalidAddress                            StatusCode = 281 | ||||||
|  | 	StatusCode_SCWrongCryptoMsgType                        StatusCode = 282 | ||||||
| 	StatusCode_SCNoSession                                 StatusCode = 283 | 	StatusCode_SCNoSession                                 StatusCode = 283 | ||||||
| 	StatusCode_SCAccountReset                              StatusCode = 290 | 	StatusCode_SCAccountReset                              StatusCode = 290 | ||||||
| 	StatusCode_SCIdentifiesFailed                          StatusCode = 295 | 	StatusCode_SCIdentifiesFailed                          StatusCode = 295 | ||||||
| 	StatusCode_SCNoSpaceOnDevice                           StatusCode = 297 | 	StatusCode_SCNoSpaceOnDevice                           StatusCode = 297 | ||||||
| 	StatusCode_SCMerkleClientError                         StatusCode = 299 | 	StatusCode_SCMerkleClientError                         StatusCode = 299 | ||||||
|  | 	StatusCode_SCMerkleUpdateRoot                          StatusCode = 300 | ||||||
| 	StatusCode_SCBadEmail                                  StatusCode = 472 | 	StatusCode_SCBadEmail                                  StatusCode = 472 | ||||||
| 	StatusCode_SCRateLimit                                 StatusCode = 602 | 	StatusCode_SCRateLimit                                 StatusCode = 602 | ||||||
| 	StatusCode_SCBadSignupUsernameTaken                    StatusCode = 701 | 	StatusCode_SCBadSignupUsernameTaken                    StatusCode = 701 | ||||||
| @@ -69,6 +72,7 @@ const ( | |||||||
| 	StatusCode_SCKeyDuplicateUpdate                        StatusCode = 921 | 	StatusCode_SCKeyDuplicateUpdate                        StatusCode = 921 | ||||||
| 	StatusCode_SCSibkeyAlreadyExists                       StatusCode = 922 | 	StatusCode_SCSibkeyAlreadyExists                       StatusCode = 922 | ||||||
| 	StatusCode_SCDecryptionKeyNotFound                     StatusCode = 924 | 	StatusCode_SCDecryptionKeyNotFound                     StatusCode = 924 | ||||||
|  | 	StatusCode_SCVerificationKeyNotFound                   StatusCode = 925 | ||||||
| 	StatusCode_SCKeyNoPGPEncryption                        StatusCode = 927 | 	StatusCode_SCKeyNoPGPEncryption                        StatusCode = 927 | ||||||
| 	StatusCode_SCKeyNoNaClEncryption                       StatusCode = 928 | 	StatusCode_SCKeyNoNaClEncryption                       StatusCode = 928 | ||||||
| 	StatusCode_SCKeySyncedPGPNotFound                      StatusCode = 929 | 	StatusCode_SCKeySyncedPGPNotFound                      StatusCode = 929 | ||||||
| @@ -102,6 +106,7 @@ const ( | |||||||
| 	StatusCode_SCGenericAPIError                           StatusCode = 1600 | 	StatusCode_SCGenericAPIError                           StatusCode = 1600 | ||||||
| 	StatusCode_SCAPINetworkError                           StatusCode = 1601 | 	StatusCode_SCAPINetworkError                           StatusCode = 1601 | ||||||
| 	StatusCode_SCTimeout                                   StatusCode = 1602 | 	StatusCode_SCTimeout                                   StatusCode = 1602 | ||||||
|  | 	StatusCode_SCKBFSClientTimeout                         StatusCode = 1603 | ||||||
| 	StatusCode_SCProofError                                StatusCode = 1701 | 	StatusCode_SCProofError                                StatusCode = 1701 | ||||||
| 	StatusCode_SCIdentificationExpired                     StatusCode = 1702 | 	StatusCode_SCIdentificationExpired                     StatusCode = 1702 | ||||||
| 	StatusCode_SCSelfNotFound                              StatusCode = 1703 | 	StatusCode_SCSelfNotFound                              StatusCode = 1703 | ||||||
| @@ -142,6 +147,8 @@ const ( | |||||||
| 	StatusCode_SCChatNotInTeam                             StatusCode = 2517 | 	StatusCode_SCChatNotInTeam                             StatusCode = 2517 | ||||||
| 	StatusCode_SCChatStalePreviousState                    StatusCode = 2518 | 	StatusCode_SCChatStalePreviousState                    StatusCode = 2518 | ||||||
| 	StatusCode_SCChatEphemeralRetentionPolicyViolatedError StatusCode = 2519 | 	StatusCode_SCChatEphemeralRetentionPolicyViolatedError StatusCode = 2519 | ||||||
|  | 	StatusCode_SCChatUsersAlreadyInConversationError       StatusCode = 2520 | ||||||
|  | 	StatusCode_SCChatBadConversationError                  StatusCode = 2521 | ||||||
| 	StatusCode_SCTeamBadMembership                         StatusCode = 2604 | 	StatusCode_SCTeamBadMembership                         StatusCode = 2604 | ||||||
| 	StatusCode_SCTeamSelfNotOwner                          StatusCode = 2607 | 	StatusCode_SCTeamSelfNotOwner                          StatusCode = 2607 | ||||||
| 	StatusCode_SCTeamNotFound                              StatusCode = 2614 | 	StatusCode_SCTeamNotFound                              StatusCode = 2614 | ||||||
| @@ -152,6 +159,8 @@ const ( | |||||||
| 	StatusCode_SCNoOp                                      StatusCode = 2638 | 	StatusCode_SCNoOp                                      StatusCode = 2638 | ||||||
| 	StatusCode_SCTeamInviteBadCancel                       StatusCode = 2645 | 	StatusCode_SCTeamInviteBadCancel                       StatusCode = 2645 | ||||||
| 	StatusCode_SCTeamInviteBadToken                        StatusCode = 2646 | 	StatusCode_SCTeamInviteBadToken                        StatusCode = 2646 | ||||||
|  | 	StatusCode_SCTeamInviteCompletionMissing               StatusCode = 2648 | ||||||
|  | 	StatusCode_SCTeamBadNameReservedDB                     StatusCode = 2650 | ||||||
| 	StatusCode_SCTeamTarDuplicate                          StatusCode = 2663 | 	StatusCode_SCTeamTarDuplicate                          StatusCode = 2663 | ||||||
| 	StatusCode_SCTeamTarNotFound                           StatusCode = 2664 | 	StatusCode_SCTeamTarNotFound                           StatusCode = 2664 | ||||||
| 	StatusCode_SCTeamMemberExists                          StatusCode = 2665 | 	StatusCode_SCTeamMemberExists                          StatusCode = 2665 | ||||||
| @@ -188,6 +197,7 @@ const ( | |||||||
| 	StatusCode_SCTeamStorageBadGeneration                  StatusCode = 2761 | 	StatusCode_SCTeamStorageBadGeneration                  StatusCode = 2761 | ||||||
| 	StatusCode_SCTeamStorageNotFound                       StatusCode = 2762 | 	StatusCode_SCTeamStorageNotFound                       StatusCode = 2762 | ||||||
| 	StatusCode_SCTeamContactSettingsBlock                  StatusCode = 2763 | 	StatusCode_SCTeamContactSettingsBlock                  StatusCode = 2763 | ||||||
|  | 	StatusCode_SCTeamSeitanInviteNeedPUK                   StatusCode = 2770 | ||||||
| 	StatusCode_SCEphemeralKeyBadGeneration                 StatusCode = 2900 | 	StatusCode_SCEphemeralKeyBadGeneration                 StatusCode = 2900 | ||||||
| 	StatusCode_SCEphemeralKeyUnexpectedBox                 StatusCode = 2901 | 	StatusCode_SCEphemeralKeyUnexpectedBox                 StatusCode = 2901 | ||||||
| 	StatusCode_SCEphemeralKeyMissingBox                    StatusCode = 2902 | 	StatusCode_SCEphemeralKeyMissingBox                    StatusCode = 2902 | ||||||
| @@ -242,143 +252,154 @@ const ( | |||||||
| 	StatusCode_SCTeambotKeyOldBoxedGeneration              StatusCode = 3801 | 	StatusCode_SCTeambotKeyOldBoxedGeneration              StatusCode = 3801 | ||||||
| 	StatusCode_SCTeambotKeyBadGeneration                   StatusCode = 3802 | 	StatusCode_SCTeambotKeyBadGeneration                   StatusCode = 3802 | ||||||
| 	StatusCode_SCAirdropRegisterFailedMisc                 StatusCode = 4207 | 	StatusCode_SCAirdropRegisterFailedMisc                 StatusCode = 4207 | ||||||
|  | 	StatusCode_SCSimpleFSNameExists                        StatusCode = 5101 | ||||||
|  | 	StatusCode_SCSimpleFSDirNotEmpty                       StatusCode = 5102 | ||||||
|  | 	StatusCode_SCSimpleFSNotExist                          StatusCode = 5103 | ||||||
|  | 	StatusCode_SCSimpleFSNoAccess                          StatusCode = 5104 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func (o StatusCode) DeepCopy() StatusCode { return o } | func (o StatusCode) DeepCopy() StatusCode { return o } | ||||||
|  |  | ||||||
| var StatusCodeMap = map[string]StatusCode{ | var StatusCodeMap = map[string]StatusCode{ | ||||||
| 	"SCOk":                        0, | 	"SCOk":                                        0, | ||||||
| 	"SCInputError":                100, | 	"SCInputError":                                100, | ||||||
| 	"SCLoginRequired":             201, | 	"SCAssertionParseError":                       101, | ||||||
| 	"SCBadSession":                202, | 	"SCLoginRequired":                             201, | ||||||
| 	"SCBadLoginUserNotFound":      203, | 	"SCBadSession":                                202, | ||||||
| 	"SCBadLoginPassword":          204, | 	"SCBadLoginUserNotFound":                      203, | ||||||
| 	"SCNotFound":                  205, | 	"SCBadLoginPassword":                          204, | ||||||
| 	"SCThrottleControl":           210, | 	"SCNotFound":                                  205, | ||||||
| 	"SCDeleted":                   216, | 	"SCThrottleControl":                           210, | ||||||
| 	"SCGeneric":                   218, | 	"SCDeleted":                                   216, | ||||||
| 	"SCAlreadyLoggedIn":           235, | 	"SCGeneric":                                   218, | ||||||
| 	"SCExists":                    230, | 	"SCAlreadyLoggedIn":                           235, | ||||||
| 	"SCCanceled":                  237, | 	"SCExists":                                    230, | ||||||
| 	"SCInputCanceled":             239, | 	"SCCanceled":                                  237, | ||||||
| 	"SCBadUsername":               243, | 	"SCInputCanceled":                             239, | ||||||
| 	"SCOffline":                   267, | 	"SCBadUsername":                               243, | ||||||
| 	"SCReloginRequired":           274, | 	"SCOffline":                                   267, | ||||||
| 	"SCResolutionFailed":          275, | 	"SCReloginRequired":                           274, | ||||||
| 	"SCProfileNotPublic":          276, | 	"SCResolutionFailed":                          275, | ||||||
| 	"SCIdentifyFailed":            277, | 	"SCProfileNotPublic":                          276, | ||||||
| 	"SCTrackingBroke":             278, | 	"SCIdentifyFailed":                            277, | ||||||
| 	"SCWrongCryptoFormat":         279, | 	"SCTrackingBroke":                             278, | ||||||
| 	"SCDecryptionError":           280, | 	"SCWrongCryptoFormat":                         279, | ||||||
| 	"SCInvalidAddress":            281, | 	"SCDecryptionError":                           280, | ||||||
| 	"SCNoSession":                 283, | 	"SCInvalidAddress":                            281, | ||||||
| 	"SCAccountReset":              290, | 	"SCWrongCryptoMsgType":                        282, | ||||||
| 	"SCIdentifiesFailed":          295, | 	"SCNoSession":                                 283, | ||||||
| 	"SCNoSpaceOnDevice":           297, | 	"SCAccountReset":                              290, | ||||||
| 	"SCMerkleClientError":         299, | 	"SCIdentifiesFailed":                          295, | ||||||
| 	"SCBadEmail":                  472, | 	"SCNoSpaceOnDevice":                           297, | ||||||
| 	"SCRateLimit":                 602, | 	"SCMerkleClientError":                         299, | ||||||
| 	"SCBadSignupUsernameTaken":    701, | 	"SCMerkleUpdateRoot":                          300, | ||||||
| 	"SCDuplicate":                 706, | 	"SCBadEmail":                                  472, | ||||||
| 	"SCBadInvitationCode":         707, | 	"SCRateLimit":                                 602, | ||||||
| 	"SCBadSignupUsernameReserved": 710, | 	"SCBadSignupUsernameTaken":                    701, | ||||||
| 	"SCBadSignupTeamName":         711, | 	"SCDuplicate":                                 706, | ||||||
| 	"SCFeatureFlag":               712, | 	"SCBadInvitationCode":                         707, | ||||||
| 	"SCEmailTaken":                713, | 	"SCBadSignupUsernameReserved":                 710, | ||||||
| 	"SCEmailAlreadyAdded":         714, | 	"SCBadSignupTeamName":                         711, | ||||||
| 	"SCEmailLimitExceeded":        715, | 	"SCFeatureFlag":                               712, | ||||||
| 	"SCEmailCannotDeletePrimary":  716, | 	"SCEmailTaken":                                713, | ||||||
| 	"SCEmailUnknown":              717, | 	"SCEmailAlreadyAdded":                         714, | ||||||
| 	"SCBotSignupTokenNotFound":    719, | 	"SCEmailLimitExceeded":                        715, | ||||||
| 	"SCNoUpdate":                  723, | 	"SCEmailCannotDeletePrimary":                  716, | ||||||
| 	"SCMissingResult":             801, | 	"SCEmailUnknown":                              717, | ||||||
| 	"SCKeyNotFound":               901, | 	"SCBotSignupTokenNotFound":                    719, | ||||||
| 	"SCKeyCorrupted":              905, | 	"SCNoUpdate":                                  723, | ||||||
| 	"SCKeyInUse":                  907, | 	"SCMissingResult":                             801, | ||||||
| 	"SCKeyBadGen":                 913, | 	"SCKeyNotFound":                               901, | ||||||
| 	"SCKeyNoSecret":               914, | 	"SCKeyCorrupted":                              905, | ||||||
| 	"SCKeyBadUIDs":                915, | 	"SCKeyInUse":                                  907, | ||||||
| 	"SCKeyNoActive":               916, | 	"SCKeyBadGen":                                 913, | ||||||
| 	"SCKeyNoSig":                  917, | 	"SCKeyNoSecret":                               914, | ||||||
| 	"SCKeyBadSig":                 918, | 	"SCKeyBadUIDs":                                915, | ||||||
| 	"SCKeyBadEldest":              919, | 	"SCKeyNoActive":                               916, | ||||||
| 	"SCKeyNoEldest":               920, | 	"SCKeyNoSig":                                  917, | ||||||
| 	"SCKeyDuplicateUpdate":        921, | 	"SCKeyBadSig":                                 918, | ||||||
| 	"SCSibkeyAlreadyExists":       922, | 	"SCKeyBadEldest":                              919, | ||||||
| 	"SCDecryptionKeyNotFound":     924, | 	"SCKeyNoEldest":                               920, | ||||||
| 	"SCKeyNoPGPEncryption":        927, | 	"SCKeyDuplicateUpdate":                        921, | ||||||
| 	"SCKeyNoNaClEncryption":       928, | 	"SCSibkeyAlreadyExists":                       922, | ||||||
| 	"SCKeySyncedPGPNotFound":      929, | 	"SCDecryptionKeyNotFound":                     924, | ||||||
| 	"SCKeyNoMatchingGPG":          930, | 	"SCVerificationKeyNotFound":                   925, | ||||||
| 	"SCKeyRevoked":                931, | 	"SCKeyNoPGPEncryption":                        927, | ||||||
| 	"SCSigCannotVerify":           1002, | 	"SCKeyNoNaClEncryption":                       928, | ||||||
| 	"SCSigWrongKey":               1008, | 	"SCKeySyncedPGPNotFound":                      929, | ||||||
| 	"SCSigOldSeqno":               1010, | 	"SCKeyNoMatchingGPG":                          930, | ||||||
| 	"SCSigCreationDisallowed":     1016, | 	"SCKeyRevoked":                                931, | ||||||
| 	"SCSigMissingRatchet":         1021, | 	"SCSigCannotVerify":                           1002, | ||||||
| 	"SCSigBadTotalOrder":          1022, | 	"SCSigWrongKey":                               1008, | ||||||
| 	"SCBadTrackSession":           1301, | 	"SCSigOldSeqno":                               1010, | ||||||
| 	"SCDeviceBadName":             1404, | 	"SCSigCreationDisallowed":                     1016, | ||||||
| 	"SCDeviceBadStatus":           1405, | 	"SCSigMissingRatchet":                         1021, | ||||||
| 	"SCDeviceNameInUse":           1408, | 	"SCSigBadTotalOrder":                          1022, | ||||||
| 	"SCDeviceNotFound":            1409, | 	"SCBadTrackSession":                           1301, | ||||||
| 	"SCDeviceMismatch":            1410, | 	"SCDeviceBadName":                             1404, | ||||||
| 	"SCDeviceRequired":            1411, | 	"SCDeviceBadStatus":                           1405, | ||||||
| 	"SCDevicePrevProvisioned":     1413, | 	"SCDeviceNameInUse":                           1408, | ||||||
| 	"SCDeviceNoProvision":         1414, | 	"SCDeviceNotFound":                            1409, | ||||||
| 	"SCDeviceProvisionViaDevice":  1415, | 	"SCDeviceMismatch":                            1410, | ||||||
| 	"SCRevokeCurrentDevice":       1416, | 	"SCDeviceRequired":                            1411, | ||||||
| 	"SCRevokeLastDevice":          1417, | 	"SCDevicePrevProvisioned":                     1413, | ||||||
| 	"SCDeviceProvisionOffline":    1418, | 	"SCDeviceNoProvision":                         1414, | ||||||
| 	"SCRevokeLastDevicePGP":       1419, | 	"SCDeviceProvisionViaDevice":                  1415, | ||||||
| 	"SCStreamExists":              1501, | 	"SCRevokeCurrentDevice":                       1416, | ||||||
| 	"SCStreamNotFound":            1502, | 	"SCRevokeLastDevice":                          1417, | ||||||
| 	"SCStreamWrongKind":           1503, | 	"SCDeviceProvisionOffline":                    1418, | ||||||
| 	"SCStreamEOF":                 1504, | 	"SCRevokeLastDevicePGP":                       1419, | ||||||
| 	"SCStreamUnknown":             1505, | 	"SCStreamExists":                              1501, | ||||||
| 	"SCGenericAPIError":           1600, | 	"SCStreamNotFound":                            1502, | ||||||
| 	"SCAPINetworkError":           1601, | 	"SCStreamWrongKind":                           1503, | ||||||
| 	"SCTimeout":                   1602, | 	"SCStreamEOF":                                 1504, | ||||||
| 	"SCProofError":                1701, | 	"SCStreamUnknown":                             1505, | ||||||
| 	"SCIdentificationExpired":     1702, | 	"SCGenericAPIError":                           1600, | ||||||
| 	"SCSelfNotFound":              1703, | 	"SCAPINetworkError":                           1601, | ||||||
| 	"SCBadKexPhrase":              1704, | 	"SCTimeout":                                   1602, | ||||||
| 	"SCNoUIDelegation":            1705, | 	"SCKBFSClientTimeout":                         1603, | ||||||
| 	"SCNoUI":                      1706, | 	"SCProofError":                                1701, | ||||||
| 	"SCGPGUnavailable":            1707, | 	"SCIdentificationExpired":                     1702, | ||||||
| 	"SCInvalidVersionError":       1800, | 	"SCSelfNotFound":                              1703, | ||||||
| 	"SCOldVersionError":           1801, | 	"SCBadKexPhrase":                              1704, | ||||||
| 	"SCInvalidLocationError":      1802, | 	"SCNoUIDelegation":                            1705, | ||||||
| 	"SCServiceStatusError":        1803, | 	"SCNoUI":                                      1706, | ||||||
| 	"SCInstallError":              1804, | 	"SCGPGUnavailable":                            1707, | ||||||
| 	"SCLoadKextError":             1810, | 	"SCInvalidVersionError":                       1800, | ||||||
| 	"SCLoadKextPermError":         1811, | 	"SCOldVersionError":                           1801, | ||||||
| 	"SCGitInternal":               2300, | 	"SCInvalidLocationError":                      1802, | ||||||
| 	"SCGitRepoAlreadyExists":      2301, | 	"SCServiceStatusError":                        1803, | ||||||
| 	"SCGitInvalidRepoName":        2302, | 	"SCInstallError":                              1804, | ||||||
| 	"SCGitCannotDelete":           2303, | 	"SCLoadKextError":                             1810, | ||||||
| 	"SCGitRepoDoesntExist":        2304, | 	"SCLoadKextPermError":                         1811, | ||||||
| 	"SCLoginStateTimeout":         2400, | 	"SCGitInternal":                               2300, | ||||||
| 	"SCChatInternal":              2500, | 	"SCGitRepoAlreadyExists":                      2301, | ||||||
| 	"SCChatRateLimit":             2501, | 	"SCGitInvalidRepoName":                        2302, | ||||||
| 	"SCChatConvExists":            2502, | 	"SCGitCannotDelete":                           2303, | ||||||
| 	"SCChatUnknownTLFID":          2503, | 	"SCGitRepoDoesntExist":                        2304, | ||||||
| 	"SCChatNotInConv":             2504, | 	"SCLoginStateTimeout":                         2400, | ||||||
| 	"SCChatBadMsg":                2505, | 	"SCChatInternal":                              2500, | ||||||
| 	"SCChatBroadcast":             2506, | 	"SCChatRateLimit":                             2501, | ||||||
| 	"SCChatAlreadySuperseded":     2507, | 	"SCChatConvExists":                            2502, | ||||||
| 	"SCChatAlreadyDeleted":        2508, | 	"SCChatUnknownTLFID":                          2503, | ||||||
| 	"SCChatTLFFinalized":          2509, | 	"SCChatNotInConv":                             2504, | ||||||
| 	"SCChatCollision":             2510, | 	"SCChatBadMsg":                                2505, | ||||||
| 	"SCIdentifySummaryError":      2511, | 	"SCChatBroadcast":                             2506, | ||||||
| 	"SCNeedSelfRekey":             2512, | 	"SCChatAlreadySuperseded":                     2507, | ||||||
| 	"SCNeedOtherRekey":            2513, | 	"SCChatAlreadyDeleted":                        2508, | ||||||
| 	"SCChatMessageCollision":      2514, | 	"SCChatTLFFinalized":                          2509, | ||||||
| 	"SCChatDuplicateMessage":      2515, | 	"SCChatCollision":                             2510, | ||||||
| 	"SCChatClientError":           2516, | 	"SCIdentifySummaryError":                      2511, | ||||||
| 	"SCChatNotInTeam":             2517, | 	"SCNeedSelfRekey":                             2512, | ||||||
| 	"SCChatStalePreviousState":    2518, | 	"SCNeedOtherRekey":                            2513, | ||||||
|  | 	"SCChatMessageCollision":                      2514, | ||||||
|  | 	"SCChatDuplicateMessage":                      2515, | ||||||
|  | 	"SCChatClientError":                           2516, | ||||||
|  | 	"SCChatNotInTeam":                             2517, | ||||||
|  | 	"SCChatStalePreviousState":                    2518, | ||||||
| 	"SCChatEphemeralRetentionPolicyViolatedError": 2519, | 	"SCChatEphemeralRetentionPolicyViolatedError": 2519, | ||||||
|  | 	"SCChatUsersAlreadyInConversationError":       2520, | ||||||
|  | 	"SCChatBadConversationError":                  2521, | ||||||
| 	"SCTeamBadMembership":                         2604, | 	"SCTeamBadMembership":                         2604, | ||||||
| 	"SCTeamSelfNotOwner":                          2607, | 	"SCTeamSelfNotOwner":                          2607, | ||||||
| 	"SCTeamNotFound":                              2614, | 	"SCTeamNotFound":                              2614, | ||||||
| @@ -389,6 +410,8 @@ var StatusCodeMap = map[string]StatusCode{ | |||||||
| 	"SCNoOp":                                      2638, | 	"SCNoOp":                                      2638, | ||||||
| 	"SCTeamInviteBadCancel":                       2645, | 	"SCTeamInviteBadCancel":                       2645, | ||||||
| 	"SCTeamInviteBadToken":                        2646, | 	"SCTeamInviteBadToken":                        2646, | ||||||
|  | 	"SCTeamInviteCompletionMissing":               2648, | ||||||
|  | 	"SCTeamBadNameReservedDB":                     2650, | ||||||
| 	"SCTeamTarDuplicate":                          2663, | 	"SCTeamTarDuplicate":                          2663, | ||||||
| 	"SCTeamTarNotFound":                           2664, | 	"SCTeamTarNotFound":                           2664, | ||||||
| 	"SCTeamMemberExists":                          2665, | 	"SCTeamMemberExists":                          2665, | ||||||
| @@ -425,6 +448,7 @@ var StatusCodeMap = map[string]StatusCode{ | |||||||
| 	"SCTeamStorageBadGeneration":                  2761, | 	"SCTeamStorageBadGeneration":                  2761, | ||||||
| 	"SCTeamStorageNotFound":                       2762, | 	"SCTeamStorageNotFound":                       2762, | ||||||
| 	"SCTeamContactSettingsBlock":                  2763, | 	"SCTeamContactSettingsBlock":                  2763, | ||||||
|  | 	"SCTeamSeitanInviteNeedPUK":                   2770, | ||||||
| 	"SCEphemeralKeyBadGeneration":                 2900, | 	"SCEphemeralKeyBadGeneration":                 2900, | ||||||
| 	"SCEphemeralKeyUnexpectedBox":                 2901, | 	"SCEphemeralKeyUnexpectedBox":                 2901, | ||||||
| 	"SCEphemeralKeyMissingBox":                    2902, | 	"SCEphemeralKeyMissingBox":                    2902, | ||||||
| @@ -479,11 +503,16 @@ var StatusCodeMap = map[string]StatusCode{ | |||||||
| 	"SCTeambotKeyOldBoxedGeneration":              3801, | 	"SCTeambotKeyOldBoxedGeneration":              3801, | ||||||
| 	"SCTeambotKeyBadGeneration":                   3802, | 	"SCTeambotKeyBadGeneration":                   3802, | ||||||
| 	"SCAirdropRegisterFailedMisc":                 4207, | 	"SCAirdropRegisterFailedMisc":                 4207, | ||||||
|  | 	"SCSimpleFSNameExists":                        5101, | ||||||
|  | 	"SCSimpleFSDirNotEmpty":                       5102, | ||||||
|  | 	"SCSimpleFSNotExist":                          5103, | ||||||
|  | 	"SCSimpleFSNoAccess":                          5104, | ||||||
| } | } | ||||||
|  |  | ||||||
| var StatusCodeRevMap = map[StatusCode]string{ | var StatusCodeRevMap = map[StatusCode]string{ | ||||||
| 	0:    "SCOk", | 	0:    "SCOk", | ||||||
| 	100:  "SCInputError", | 	100:  "SCInputError", | ||||||
|  | 	101:  "SCAssertionParseError", | ||||||
| 	201:  "SCLoginRequired", | 	201:  "SCLoginRequired", | ||||||
| 	202:  "SCBadSession", | 	202:  "SCBadSession", | ||||||
| 	203:  "SCBadLoginUserNotFound", | 	203:  "SCBadLoginUserNotFound", | ||||||
| @@ -506,11 +535,13 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	279:  "SCWrongCryptoFormat", | 	279:  "SCWrongCryptoFormat", | ||||||
| 	280:  "SCDecryptionError", | 	280:  "SCDecryptionError", | ||||||
| 	281:  "SCInvalidAddress", | 	281:  "SCInvalidAddress", | ||||||
|  | 	282:  "SCWrongCryptoMsgType", | ||||||
| 	283:  "SCNoSession", | 	283:  "SCNoSession", | ||||||
| 	290:  "SCAccountReset", | 	290:  "SCAccountReset", | ||||||
| 	295:  "SCIdentifiesFailed", | 	295:  "SCIdentifiesFailed", | ||||||
| 	297:  "SCNoSpaceOnDevice", | 	297:  "SCNoSpaceOnDevice", | ||||||
| 	299:  "SCMerkleClientError", | 	299:  "SCMerkleClientError", | ||||||
|  | 	300:  "SCMerkleUpdateRoot", | ||||||
| 	472:  "SCBadEmail", | 	472:  "SCBadEmail", | ||||||
| 	602:  "SCRateLimit", | 	602:  "SCRateLimit", | ||||||
| 	701:  "SCBadSignupUsernameTaken", | 	701:  "SCBadSignupUsernameTaken", | ||||||
| @@ -541,6 +572,7 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	921:  "SCKeyDuplicateUpdate", | 	921:  "SCKeyDuplicateUpdate", | ||||||
| 	922:  "SCSibkeyAlreadyExists", | 	922:  "SCSibkeyAlreadyExists", | ||||||
| 	924:  "SCDecryptionKeyNotFound", | 	924:  "SCDecryptionKeyNotFound", | ||||||
|  | 	925:  "SCVerificationKeyNotFound", | ||||||
| 	927:  "SCKeyNoPGPEncryption", | 	927:  "SCKeyNoPGPEncryption", | ||||||
| 	928:  "SCKeyNoNaClEncryption", | 	928:  "SCKeyNoNaClEncryption", | ||||||
| 	929:  "SCKeySyncedPGPNotFound", | 	929:  "SCKeySyncedPGPNotFound", | ||||||
| @@ -574,6 +606,7 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	1600: "SCGenericAPIError", | 	1600: "SCGenericAPIError", | ||||||
| 	1601: "SCAPINetworkError", | 	1601: "SCAPINetworkError", | ||||||
| 	1602: "SCTimeout", | 	1602: "SCTimeout", | ||||||
|  | 	1603: "SCKBFSClientTimeout", | ||||||
| 	1701: "SCProofError", | 	1701: "SCProofError", | ||||||
| 	1702: "SCIdentificationExpired", | 	1702: "SCIdentificationExpired", | ||||||
| 	1703: "SCSelfNotFound", | 	1703: "SCSelfNotFound", | ||||||
| @@ -614,6 +647,8 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	2517: "SCChatNotInTeam", | 	2517: "SCChatNotInTeam", | ||||||
| 	2518: "SCChatStalePreviousState", | 	2518: "SCChatStalePreviousState", | ||||||
| 	2519: "SCChatEphemeralRetentionPolicyViolatedError", | 	2519: "SCChatEphemeralRetentionPolicyViolatedError", | ||||||
|  | 	2520: "SCChatUsersAlreadyInConversationError", | ||||||
|  | 	2521: "SCChatBadConversationError", | ||||||
| 	2604: "SCTeamBadMembership", | 	2604: "SCTeamBadMembership", | ||||||
| 	2607: "SCTeamSelfNotOwner", | 	2607: "SCTeamSelfNotOwner", | ||||||
| 	2614: "SCTeamNotFound", | 	2614: "SCTeamNotFound", | ||||||
| @@ -624,6 +659,8 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	2638: "SCNoOp", | 	2638: "SCNoOp", | ||||||
| 	2645: "SCTeamInviteBadCancel", | 	2645: "SCTeamInviteBadCancel", | ||||||
| 	2646: "SCTeamInviteBadToken", | 	2646: "SCTeamInviteBadToken", | ||||||
|  | 	2648: "SCTeamInviteCompletionMissing", | ||||||
|  | 	2650: "SCTeamBadNameReservedDB", | ||||||
| 	2663: "SCTeamTarDuplicate", | 	2663: "SCTeamTarDuplicate", | ||||||
| 	2664: "SCTeamTarNotFound", | 	2664: "SCTeamTarNotFound", | ||||||
| 	2665: "SCTeamMemberExists", | 	2665: "SCTeamMemberExists", | ||||||
| @@ -660,6 +697,7 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	2761: "SCTeamStorageBadGeneration", | 	2761: "SCTeamStorageBadGeneration", | ||||||
| 	2762: "SCTeamStorageNotFound", | 	2762: "SCTeamStorageNotFound", | ||||||
| 	2763: "SCTeamContactSettingsBlock", | 	2763: "SCTeamContactSettingsBlock", | ||||||
|  | 	2770: "SCTeamSeitanInviteNeedPUK", | ||||||
| 	2900: "SCEphemeralKeyBadGeneration", | 	2900: "SCEphemeralKeyBadGeneration", | ||||||
| 	2901: "SCEphemeralKeyUnexpectedBox", | 	2901: "SCEphemeralKeyUnexpectedBox", | ||||||
| 	2902: "SCEphemeralKeyMissingBox", | 	2902: "SCEphemeralKeyMissingBox", | ||||||
| @@ -714,6 +752,10 @@ var StatusCodeRevMap = map[StatusCode]string{ | |||||||
| 	3801: "SCTeambotKeyOldBoxedGeneration", | 	3801: "SCTeambotKeyOldBoxedGeneration", | ||||||
| 	3802: "SCTeambotKeyBadGeneration", | 	3802: "SCTeambotKeyBadGeneration", | ||||||
| 	4207: "SCAirdropRegisterFailedMisc", | 	4207: "SCAirdropRegisterFailedMisc", | ||||||
|  | 	5101: "SCSimpleFSNameExists", | ||||||
|  | 	5102: "SCSimpleFSDirNotEmpty", | ||||||
|  | 	5103: "SCSimpleFSNotExist", | ||||||
|  | 	5104: "SCSimpleFSNoAccess", | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e StatusCode) String() string { | func (e StatusCode) String() string { | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/contacts.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/contacts.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/contacts.avdl | //   Input file: ../client/protocol/avdl/keybase1/contacts.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/crypto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/crypto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/crypto.avdl | //   Input file: ../client/protocol/avdl/keybase1/crypto.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/cryptocurrency.avdl | //   Input file: ../client/protocol/avdl/keybase1/cryptocurrency.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/ctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/ctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/ctl.avdl | //   Input file: ../client/protocol/avdl/keybase1/ctl.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/debugging.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/debugging.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/debugging.avdl | //   Input file: ../client/protocol/avdl/keybase1/debugging.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/delegate_ui_ctl.avdl | //   Input file: ../client/protocol/avdl/keybase1/delegate_ui_ctl.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/device.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/device.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/device.avdl | //   Input file: ../client/protocol/avdl/keybase1/device.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/emails.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/emails.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/emails.avdl | //   Input file: ../client/protocol/avdl/keybase1/emails.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/ephemeral.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/ephemeral.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/ephemeral.avdl | //   Input file: ../client/protocol/avdl/keybase1/ephemeral.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/favorite.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/favorite.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/favorite.avdl | //   Input file: ../client/protocol/avdl/keybase1/favorite.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/featured_bot.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/featured_bot.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,25 +1,27 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/featured_bot.avdl | //   Input file: ../client/protocol/avdl/keybase1/featured_bot.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|  |  | ||||||
| type FeaturedBot struct { | type FeaturedBot struct { | ||||||
| 	BotAlias            string  `codec:"botAlias" json:"botAlias"` | 	BotAlias               string  `codec:"botAlias" json:"botAlias"` | ||||||
| 	Description         string  `codec:"description" json:"description"` | 	Description            string  `codec:"description" json:"description"` | ||||||
| 	ExtendedDescription string  `codec:"extendedDescription" json:"extendedDescription"` | 	ExtendedDescription    string  `codec:"extendedDescription" json:"extendedDescription"` | ||||||
| 	BotUsername         string  `codec:"botUsername" json:"botUsername"` | 	ExtendedDescriptionRaw string  `codec:"extendedDescriptionRaw" json:"extendedDescriptionRaw"` | ||||||
| 	OwnerTeam           *string `codec:"ownerTeam,omitempty" json:"ownerTeam,omitempty"` | 	BotUsername            string  `codec:"botUsername" json:"botUsername"` | ||||||
| 	OwnerUser           *string `codec:"ownerUser,omitempty" json:"ownerUser,omitempty"` | 	OwnerTeam              *string `codec:"ownerTeam,omitempty" json:"ownerTeam,omitempty"` | ||||||
| 	Rank                int     `codec:"rank" json:"rank"` | 	OwnerUser              *string `codec:"ownerUser,omitempty" json:"ownerUser,omitempty"` | ||||||
| 	IsPromoted          bool    `codec:"isPromoted" json:"isPromoted"` | 	Rank                   int     `codec:"rank" json:"rank"` | ||||||
|  | 	IsPromoted             bool    `codec:"isPromoted" json:"isPromoted"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o FeaturedBot) DeepCopy() FeaturedBot { | func (o FeaturedBot) DeepCopy() FeaturedBot { | ||||||
| 	return FeaturedBot{ | 	return FeaturedBot{ | ||||||
| 		BotAlias:            o.BotAlias, | 		BotAlias:               o.BotAlias, | ||||||
| 		Description:         o.Description, | 		Description:            o.Description, | ||||||
| 		ExtendedDescription: o.ExtendedDescription, | 		ExtendedDescription:    o.ExtendedDescription, | ||||||
| 		BotUsername:         o.BotUsername, | 		ExtendedDescriptionRaw: o.ExtendedDescriptionRaw, | ||||||
|  | 		BotUsername:            o.BotUsername, | ||||||
| 		OwnerTeam: (func(x *string) *string { | 		OwnerTeam: (func(x *string) *string { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/fs.avdl | //   Input file: ../client/protocol/avdl/keybase1/fs.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/git.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/git.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/git.avdl | //   Input file: ../client/protocol/avdl/keybase1/git.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -223,8 +223,8 @@ type GitServerMetadata struct { | |||||||
|  |  | ||||||
| func (o GitServerMetadata) DeepCopy() GitServerMetadata { | func (o GitServerMetadata) DeepCopy() GitServerMetadata { | ||||||
| 	return GitServerMetadata{ | 	return GitServerMetadata{ | ||||||
| 		Ctime:                   o.Ctime.DeepCopy(), | 		Ctime: o.Ctime.DeepCopy(), | ||||||
| 		Mtime:                   o.Mtime.DeepCopy(), | 		Mtime: o.Mtime.DeepCopy(), | ||||||
| 		LastModifyingUsername:   o.LastModifyingUsername, | 		LastModifyingUsername:   o.LastModifyingUsername, | ||||||
| 		LastModifyingDeviceID:   o.LastModifyingDeviceID.DeepCopy(), | 		LastModifyingDeviceID:   o.LastModifyingDeviceID.DeepCopy(), | ||||||
| 		LastModifyingDeviceName: o.LastModifyingDeviceName, | 		LastModifyingDeviceName: o.LastModifyingDeviceName, | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gpg_common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gpg_common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/gpg_common.avdl | //   Input file: ../client/protocol/avdl/keybase1/gpg_common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gpg_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gpg_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/gpg_ui.avdl | //   Input file: ../client/protocol/avdl/keybase1/gpg_ui.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gregor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gregor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/gregor.avdl | //   Input file: ../client/protocol/avdl/keybase1/gregor.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gregor_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/gregor_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/gregor_ui.avdl | //   Input file: ../client/protocol/avdl/keybase1/gregor_ui.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/home.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/home.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/home.avdl | //   Input file: ../client/protocol/avdl/keybase1/home.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -298,19 +298,19 @@ const ( | |||||||
| 	HomeScreenTodoType_PROOF                   HomeScreenTodoType = 2 | 	HomeScreenTodoType_PROOF                   HomeScreenTodoType = 2 | ||||||
| 	HomeScreenTodoType_DEVICE                  HomeScreenTodoType = 3 | 	HomeScreenTodoType_DEVICE                  HomeScreenTodoType = 3 | ||||||
| 	HomeScreenTodoType_FOLLOW                  HomeScreenTodoType = 4 | 	HomeScreenTodoType_FOLLOW                  HomeScreenTodoType = 4 | ||||||
| 	HomeScreenTodoType_CHAT                    HomeScreenTodoType = 5 |  | ||||||
| 	HomeScreenTodoType_PAPERKEY                HomeScreenTodoType = 6 | 	HomeScreenTodoType_PAPERKEY                HomeScreenTodoType = 6 | ||||||
| 	HomeScreenTodoType_TEAM                    HomeScreenTodoType = 7 | 	HomeScreenTodoType_TEAM                    HomeScreenTodoType = 7 | ||||||
| 	HomeScreenTodoType_FOLDER                  HomeScreenTodoType = 8 | 	HomeScreenTodoType_FOLDER                  HomeScreenTodoType = 8 | ||||||
| 	HomeScreenTodoType_GIT_REPO                HomeScreenTodoType = 9 | 	HomeScreenTodoType_GIT_REPO                HomeScreenTodoType = 9 | ||||||
| 	HomeScreenTodoType_TEAM_SHOWCASE           HomeScreenTodoType = 10 | 	HomeScreenTodoType_TEAM_SHOWCASE           HomeScreenTodoType = 10 | ||||||
| 	HomeScreenTodoType_AVATAR_USER             HomeScreenTodoType = 11 |  | ||||||
| 	HomeScreenTodoType_AVATAR_TEAM             HomeScreenTodoType = 12 | 	HomeScreenTodoType_AVATAR_TEAM             HomeScreenTodoType = 12 | ||||||
| 	HomeScreenTodoType_ADD_PHONE_NUMBER        HomeScreenTodoType = 18 | 	HomeScreenTodoType_ADD_PHONE_NUMBER        HomeScreenTodoType = 18 | ||||||
| 	HomeScreenTodoType_VERIFY_ALL_PHONE_NUMBER HomeScreenTodoType = 19 | 	HomeScreenTodoType_VERIFY_ALL_PHONE_NUMBER HomeScreenTodoType = 19 | ||||||
| 	HomeScreenTodoType_VERIFY_ALL_EMAIL        HomeScreenTodoType = 20 | 	HomeScreenTodoType_VERIFY_ALL_EMAIL        HomeScreenTodoType = 20 | ||||||
| 	HomeScreenTodoType_LEGACY_EMAIL_VISIBILITY HomeScreenTodoType = 21 | 	HomeScreenTodoType_LEGACY_EMAIL_VISIBILITY HomeScreenTodoType = 21 | ||||||
| 	HomeScreenTodoType_ADD_EMAIL               HomeScreenTodoType = 22 | 	HomeScreenTodoType_ADD_EMAIL               HomeScreenTodoType = 22 | ||||||
|  | 	HomeScreenTodoType_AVATAR_USER             HomeScreenTodoType = 23 | ||||||
|  | 	HomeScreenTodoType_CHAT                    HomeScreenTodoType = 24 | ||||||
| 	HomeScreenTodoType_ANNONCEMENT_PLACEHOLDER HomeScreenTodoType = 10000 | 	HomeScreenTodoType_ANNONCEMENT_PLACEHOLDER HomeScreenTodoType = 10000 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -322,19 +322,19 @@ var HomeScreenTodoTypeMap = map[string]HomeScreenTodoType{ | |||||||
| 	"PROOF":                   2, | 	"PROOF":                   2, | ||||||
| 	"DEVICE":                  3, | 	"DEVICE":                  3, | ||||||
| 	"FOLLOW":                  4, | 	"FOLLOW":                  4, | ||||||
| 	"CHAT":                    5, |  | ||||||
| 	"PAPERKEY":                6, | 	"PAPERKEY":                6, | ||||||
| 	"TEAM":                    7, | 	"TEAM":                    7, | ||||||
| 	"FOLDER":                  8, | 	"FOLDER":                  8, | ||||||
| 	"GIT_REPO":                9, | 	"GIT_REPO":                9, | ||||||
| 	"TEAM_SHOWCASE":           10, | 	"TEAM_SHOWCASE":           10, | ||||||
| 	"AVATAR_USER":             11, |  | ||||||
| 	"AVATAR_TEAM":             12, | 	"AVATAR_TEAM":             12, | ||||||
| 	"ADD_PHONE_NUMBER":        18, | 	"ADD_PHONE_NUMBER":        18, | ||||||
| 	"VERIFY_ALL_PHONE_NUMBER": 19, | 	"VERIFY_ALL_PHONE_NUMBER": 19, | ||||||
| 	"VERIFY_ALL_EMAIL":        20, | 	"VERIFY_ALL_EMAIL":        20, | ||||||
| 	"LEGACY_EMAIL_VISIBILITY": 21, | 	"LEGACY_EMAIL_VISIBILITY": 21, | ||||||
| 	"ADD_EMAIL":               22, | 	"ADD_EMAIL":               22, | ||||||
|  | 	"AVATAR_USER":             23, | ||||||
|  | 	"CHAT":                    24, | ||||||
| 	"ANNONCEMENT_PLACEHOLDER": 10000, | 	"ANNONCEMENT_PLACEHOLDER": 10000, | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -344,19 +344,19 @@ var HomeScreenTodoTypeRevMap = map[HomeScreenTodoType]string{ | |||||||
| 	2:     "PROOF", | 	2:     "PROOF", | ||||||
| 	3:     "DEVICE", | 	3:     "DEVICE", | ||||||
| 	4:     "FOLLOW", | 	4:     "FOLLOW", | ||||||
| 	5:     "CHAT", |  | ||||||
| 	6:     "PAPERKEY", | 	6:     "PAPERKEY", | ||||||
| 	7:     "TEAM", | 	7:     "TEAM", | ||||||
| 	8:     "FOLDER", | 	8:     "FOLDER", | ||||||
| 	9:     "GIT_REPO", | 	9:     "GIT_REPO", | ||||||
| 	10:    "TEAM_SHOWCASE", | 	10:    "TEAM_SHOWCASE", | ||||||
| 	11:    "AVATAR_USER", |  | ||||||
| 	12:    "AVATAR_TEAM", | 	12:    "AVATAR_TEAM", | ||||||
| 	18:    "ADD_PHONE_NUMBER", | 	18:    "ADD_PHONE_NUMBER", | ||||||
| 	19:    "VERIFY_ALL_PHONE_NUMBER", | 	19:    "VERIFY_ALL_PHONE_NUMBER", | ||||||
| 	20:    "VERIFY_ALL_EMAIL", | 	20:    "VERIFY_ALL_EMAIL", | ||||||
| 	21:    "LEGACY_EMAIL_VISIBILITY", | 	21:    "LEGACY_EMAIL_VISIBILITY", | ||||||
| 	22:    "ADD_EMAIL", | 	22:    "ADD_EMAIL", | ||||||
|  | 	23:    "AVATAR_USER", | ||||||
|  | 	24:    "CHAT", | ||||||
| 	10000: "ANNONCEMENT_PLACEHOLDER", | 	10000: "ANNONCEMENT_PLACEHOLDER", | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -435,7 +435,7 @@ func (o HomeScreenTodo) LegacyEmailVisibility() (res EmailAddress) { | |||||||
|  |  | ||||||
| func NewHomeScreenTodoWithVerifyAllPhoneNumber(v PhoneNumber) HomeScreenTodo { | func NewHomeScreenTodoWithVerifyAllPhoneNumber(v PhoneNumber) HomeScreenTodo { | ||||||
| 	return HomeScreenTodo{ | 	return HomeScreenTodo{ | ||||||
| 		T__:                    HomeScreenTodoType_VERIFY_ALL_PHONE_NUMBER, | 		T__: HomeScreenTodoType_VERIFY_ALL_PHONE_NUMBER, | ||||||
| 		VerifyAllPhoneNumber__: &v, | 		VerifyAllPhoneNumber__: &v, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -449,7 +449,7 @@ func NewHomeScreenTodoWithVerifyAllEmail(v EmailAddress) HomeScreenTodo { | |||||||
|  |  | ||||||
| func NewHomeScreenTodoWithLegacyEmailVisibility(v EmailAddress) HomeScreenTodo { | func NewHomeScreenTodoWithLegacyEmailVisibility(v EmailAddress) HomeScreenTodo { | ||||||
| 	return HomeScreenTodo{ | 	return HomeScreenTodo{ | ||||||
| 		T__:                     HomeScreenTodoType_LEGACY_EMAIL_VISIBILITY, | 		T__: HomeScreenTodoType_LEGACY_EMAIL_VISIBILITY, | ||||||
| 		LegacyEmailVisibility__: &v, | 		LegacyEmailVisibility__: &v, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/home_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/home_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/home_ui.avdl | //   Input file: ../client/protocol/avdl/keybase1/home_ui.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify3.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify3.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify3.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify3.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify3_common.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify3_common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										68
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify3_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify3_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify3_ui.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify3_ui.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -128,21 +128,23 @@ func (o Identify3RowMeta) DeepCopy() Identify3RowMeta { | |||||||
| } | } | ||||||
|  |  | ||||||
| type Identify3Row struct { | type Identify3Row struct { | ||||||
| 	GuiID         Identify3GUIID     `codec:"guiID" json:"guiID"` | 	GuiID                Identify3GUIID     `codec:"guiID" json:"guiID"` | ||||||
| 	Key           string             `codec:"key" json:"key"` | 	Key                  string             `codec:"key" json:"key"` | ||||||
| 	Value         string             `codec:"value" json:"value"` | 	Value                string             `codec:"value" json:"value"` | ||||||
| 	Priority      int                `codec:"priority" json:"priority"` | 	Priority             int                `codec:"priority" json:"priority"` | ||||||
| 	SiteURL       string             `codec:"siteURL" json:"siteURL"` | 	SiteURL              string             `codec:"siteURL" json:"siteURL"` | ||||||
| 	SiteIcon      []SizedImage       `codec:"siteIcon" json:"siteIcon"` | 	SiteIcon             []SizedImage       `codec:"siteIcon" json:"siteIcon"` | ||||||
| 	SiteIconFull  []SizedImage       `codec:"siteIconFull" json:"siteIconFull"` | 	SiteIconDarkmode     []SizedImage       `codec:"siteIconDarkmode" json:"siteIconDarkmode"` | ||||||
| 	SiteIconWhite []SizedImage       `codec:"siteIconWhite" json:"siteIconWhite"` | 	SiteIconFull         []SizedImage       `codec:"siteIconFull" json:"siteIconFull"` | ||||||
| 	ProofURL      string             `codec:"proofURL" json:"proofURL"` | 	SiteIconFullDarkmode []SizedImage       `codec:"siteIconFullDarkmode" json:"siteIconFullDarkmode"` | ||||||
| 	SigID         SigID              `codec:"sigID" json:"sigID"` | 	ProofURL             string             `codec:"proofURL" json:"proofURL"` | ||||||
| 	Ctime         Time               `codec:"ctime" json:"ctime"` | 	SigID                SigID              `codec:"sigID" json:"sigID"` | ||||||
| 	State         Identify3RowState  `codec:"state" json:"state"` | 	Ctime                Time               `codec:"ctime" json:"ctime"` | ||||||
| 	Metas         []Identify3RowMeta `codec:"metas" json:"metas"` | 	State                Identify3RowState  `codec:"state" json:"state"` | ||||||
| 	Color         Identify3RowColor  `codec:"color" json:"color"` | 	Metas                []Identify3RowMeta `codec:"metas" json:"metas"` | ||||||
| 	Kid           *KID               `codec:"kid,omitempty" json:"kid,omitempty"` | 	Color                Identify3RowColor  `codec:"color" json:"color"` | ||||||
|  | 	Kid                  *KID               `codec:"kid,omitempty" json:"kid,omitempty"` | ||||||
|  | 	WotProof             *WotProof          `codec:"wotProof,omitempty" json:"wotProof,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o Identify3Row) DeepCopy() Identify3Row { | func (o Identify3Row) DeepCopy() Identify3Row { | ||||||
| @@ -163,6 +165,17 @@ func (o Identify3Row) DeepCopy() Identify3Row { | |||||||
| 			} | 			} | ||||||
| 			return ret | 			return ret | ||||||
| 		})(o.SiteIcon), | 		})(o.SiteIcon), | ||||||
|  | 		SiteIconDarkmode: (func(x []SizedImage) []SizedImage { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			ret := make([]SizedImage, len(x)) | ||||||
|  | 			for i, v := range x { | ||||||
|  | 				vCopy := v.DeepCopy() | ||||||
|  | 				ret[i] = vCopy | ||||||
|  | 			} | ||||||
|  | 			return ret | ||||||
|  | 		})(o.SiteIconDarkmode), | ||||||
| 		SiteIconFull: (func(x []SizedImage) []SizedImage { | 		SiteIconFull: (func(x []SizedImage) []SizedImage { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| @@ -174,7 +187,7 @@ func (o Identify3Row) DeepCopy() Identify3Row { | |||||||
| 			} | 			} | ||||||
| 			return ret | 			return ret | ||||||
| 		})(o.SiteIconFull), | 		})(o.SiteIconFull), | ||||||
| 		SiteIconWhite: (func(x []SizedImage) []SizedImage { | 		SiteIconFullDarkmode: (func(x []SizedImage) []SizedImage { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
| 			} | 			} | ||||||
| @@ -184,7 +197,7 @@ func (o Identify3Row) DeepCopy() Identify3Row { | |||||||
| 				ret[i] = vCopy | 				ret[i] = vCopy | ||||||
| 			} | 			} | ||||||
| 			return ret | 			return ret | ||||||
| 		})(o.SiteIconWhite), | 		})(o.SiteIconFullDarkmode), | ||||||
| 		ProofURL: o.ProofURL, | 		ProofURL: o.ProofURL, | ||||||
| 		SigID:    o.SigID.DeepCopy(), | 		SigID:    o.SigID.DeepCopy(), | ||||||
| 		Ctime:    o.Ctime.DeepCopy(), | 		Ctime:    o.Ctime.DeepCopy(), | ||||||
| @@ -208,5 +221,24 @@ func (o Identify3Row) DeepCopy() Identify3Row { | |||||||
| 			tmp := (*x).DeepCopy() | 			tmp := (*x).DeepCopy() | ||||||
| 			return &tmp | 			return &tmp | ||||||
| 		})(o.Kid), | 		})(o.Kid), | ||||||
|  | 		WotProof: (func(x *WotProof) *WotProof { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x).DeepCopy() | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.WotProof), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Identify3Summary struct { | ||||||
|  | 	GuiID            Identify3GUIID `codec:"guiID" json:"guiID"` | ||||||
|  | 	NumProofsToCheck int            `codec:"numProofsToCheck" json:"numProofsToCheck"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o Identify3Summary) DeepCopy() Identify3Summary { | ||||||
|  | 	return Identify3Summary{ | ||||||
|  | 		GuiID:            o.GuiID.DeepCopy(), | ||||||
|  | 		NumProofsToCheck: o.NumProofsToCheck, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify_common.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify_common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										52
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/identify_ui.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/identify_ui.avdl | //   Input file: ../client/protocol/avdl/keybase1/identify_ui.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
| @@ -337,37 +337,33 @@ func (o UserTeamShowcase) DeepCopy() UserTeamShowcase { | |||||||
| } | } | ||||||
|  |  | ||||||
| type UserCard struct { | type UserCard struct { | ||||||
| 	Following            int                `codec:"following" json:"following"` | 	UnverifiedNumFollowing int                `codec:"unverifiedNumFollowing" json:"unverifiedNumFollowing"` | ||||||
| 	Followers            int                `codec:"followers" json:"followers"` | 	UnverifiedNumFollowers int                `codec:"unverifiedNumFollowers" json:"unverifiedNumFollowers"` | ||||||
| 	Uid                  UID                `codec:"uid" json:"uid"` | 	Uid                    UID                `codec:"uid" json:"uid"` | ||||||
| 	FullName             string             `codec:"fullName" json:"fullName"` | 	FullName               string             `codec:"fullName" json:"fullName"` | ||||||
| 	Location             string             `codec:"location" json:"location"` | 	Location               string             `codec:"location" json:"location"` | ||||||
| 	Bio                  string             `codec:"bio" json:"bio"` | 	Bio                    string             `codec:"bio" json:"bio"` | ||||||
| 	BioDecorated         string             `codec:"bioDecorated" json:"bioDecorated"` | 	BioDecorated           string             `codec:"bioDecorated" json:"bioDecorated"` | ||||||
| 	Website              string             `codec:"website" json:"website"` | 	Website                string             `codec:"website" json:"website"` | ||||||
| 	Twitter              string             `codec:"twitter" json:"twitter"` | 	Twitter                string             `codec:"twitter" json:"twitter"` | ||||||
| 	YouFollowThem        bool               `codec:"youFollowThem" json:"youFollowThem"` | 	TeamShowcase           []UserTeamShowcase `codec:"teamShowcase" json:"teamShowcase"` | ||||||
| 	TheyFollowYou        bool               `codec:"theyFollowYou" json:"theyFollowYou"` | 	RegisteredForAirdrop   bool               `codec:"registeredForAirdrop" json:"registeredForAirdrop"` | ||||||
| 	TeamShowcase         []UserTeamShowcase `codec:"teamShowcase" json:"teamShowcase"` | 	StellarHidden          bool               `codec:"stellarHidden" json:"stellarHidden"` | ||||||
| 	RegisteredForAirdrop bool               `codec:"registeredForAirdrop" json:"registeredForAirdrop"` | 	Blocked                bool               `codec:"blocked" json:"blocked"` | ||||||
| 	StellarHidden        bool               `codec:"stellarHidden" json:"stellarHidden"` | 	HidFromFollowers       bool               `codec:"hidFromFollowers" json:"hidFromFollowers"` | ||||||
| 	Blocked              bool               `codec:"blocked" json:"blocked"` |  | ||||||
| 	HidFromFollowers     bool               `codec:"hidFromFollowers" json:"hidFromFollowers"` |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o UserCard) DeepCopy() UserCard { | func (o UserCard) DeepCopy() UserCard { | ||||||
| 	return UserCard{ | 	return UserCard{ | ||||||
| 		Following:     o.Following, | 		UnverifiedNumFollowing: o.UnverifiedNumFollowing, | ||||||
| 		Followers:     o.Followers, | 		UnverifiedNumFollowers: o.UnverifiedNumFollowers, | ||||||
| 		Uid:           o.Uid.DeepCopy(), | 		Uid:          o.Uid.DeepCopy(), | ||||||
| 		FullName:      o.FullName, | 		FullName:     o.FullName, | ||||||
| 		Location:      o.Location, | 		Location:     o.Location, | ||||||
| 		Bio:           o.Bio, | 		Bio:          o.Bio, | ||||||
| 		BioDecorated:  o.BioDecorated, | 		BioDecorated: o.BioDecorated, | ||||||
| 		Website:       o.Website, | 		Website:      o.Website, | ||||||
| 		Twitter:       o.Twitter, | 		Twitter:      o.Twitter, | ||||||
| 		YouFollowThem: o.YouFollowThem, |  | ||||||
| 		TheyFollowYou: o.TheyFollowYou, |  | ||||||
| 		TeamShowcase: (func(x []UserTeamShowcase) []UserTeamShowcase { | 		TeamShowcase: (func(x []UserTeamShowcase) []UserTeamShowcase { | ||||||
| 			if x == nil { | 			if x == nil { | ||||||
| 				return nil | 				return nil | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/implicit_team_migration.avdl | //   Input file: ../client/protocol/avdl/keybase1/implicit_team_migration.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										98
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/incoming-share.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/incoming-share.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | |||||||
|  | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
|  | //   Input file: ../client/protocol/avdl/keybase1/incoming-share.avdl | ||||||
|  |  | ||||||
|  | package keybase1 | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"fmt" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type IncomingShareType int | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	IncomingShareType_FILE  IncomingShareType = 0 | ||||||
|  | 	IncomingShareType_TEXT  IncomingShareType = 1 | ||||||
|  | 	IncomingShareType_IMAGE IncomingShareType = 2 | ||||||
|  | 	IncomingShareType_VIDEO IncomingShareType = 3 | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func (o IncomingShareType) DeepCopy() IncomingShareType { return o } | ||||||
|  |  | ||||||
|  | var IncomingShareTypeMap = map[string]IncomingShareType{ | ||||||
|  | 	"FILE":  0, | ||||||
|  | 	"TEXT":  1, | ||||||
|  | 	"IMAGE": 2, | ||||||
|  | 	"VIDEO": 3, | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var IncomingShareTypeRevMap = map[IncomingShareType]string{ | ||||||
|  | 	0: "FILE", | ||||||
|  | 	1: "TEXT", | ||||||
|  | 	2: "IMAGE", | ||||||
|  | 	3: "VIDEO", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (e IncomingShareType) String() string { | ||||||
|  | 	if v, ok := IncomingShareTypeRevMap[e]; ok { | ||||||
|  | 		return v | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%v", int(e)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type IncomingShareItem struct { | ||||||
|  | 	Type          IncomingShareType `codec:"type" json:"type"` | ||||||
|  | 	OriginalPath  *string           `codec:"originalPath,omitempty" json:"originalPath,omitempty"` | ||||||
|  | 	OriginalSize  *int              `codec:"originalSize,omitempty" json:"originalSize,omitempty"` | ||||||
|  | 	ScaledPath    *string           `codec:"scaledPath,omitempty" json:"scaledPath,omitempty"` | ||||||
|  | 	ScaledSize    *int              `codec:"scaledSize,omitempty" json:"scaledSize,omitempty"` | ||||||
|  | 	ThumbnailPath *string           `codec:"thumbnailPath,omitempty" json:"thumbnailPath,omitempty"` | ||||||
|  | 	Content       *string           `codec:"content,omitempty" json:"content,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o IncomingShareItem) DeepCopy() IncomingShareItem { | ||||||
|  | 	return IncomingShareItem{ | ||||||
|  | 		Type: o.Type.DeepCopy(), | ||||||
|  | 		OriginalPath: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.OriginalPath), | ||||||
|  | 		OriginalSize: (func(x *int) *int { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.OriginalSize), | ||||||
|  | 		ScaledPath: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ScaledPath), | ||||||
|  | 		ScaledSize: (func(x *int) *int { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ScaledSize), | ||||||
|  | 		ThumbnailPath: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.ThumbnailPath), | ||||||
|  | 		Content: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.Content), | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/install.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/install.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/install.avdl | //   Input file: ../client/protocol/avdl/keybase1/install.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										56
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/invite_friends.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/invite_friends.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | |||||||
|  | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
|  | //   Input file: ../client/protocol/avdl/keybase1/invite_friends.avdl | ||||||
|  |  | ||||||
|  | package keybase1 | ||||||
|  |  | ||||||
|  | type InviteCounts struct { | ||||||
|  | 	InviteCount      int     `codec:"inviteCount" json:"inviteCount"` | ||||||
|  | 	PercentageChange float64 `codec:"percentageChange" json:"percentageChange"` | ||||||
|  | 	ShowNumInvites   bool    `codec:"showNumInvites" json:"showNumInvites"` | ||||||
|  | 	ShowFire         bool    `codec:"showFire" json:"showFire"` | ||||||
|  | 	TooltipMarkdown  string  `codec:"tooltipMarkdown" json:"tooltipMarkdown"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o InviteCounts) DeepCopy() InviteCounts { | ||||||
|  | 	return InviteCounts{ | ||||||
|  | 		InviteCount:      o.InviteCount, | ||||||
|  | 		PercentageChange: o.PercentageChange, | ||||||
|  | 		ShowNumInvites:   o.ShowNumInvites, | ||||||
|  | 		ShowFire:         o.ShowFire, | ||||||
|  | 		TooltipMarkdown:  o.TooltipMarkdown, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type EmailInvites struct { | ||||||
|  | 	CommaSeparatedEmailsFromUser *string         `codec:"commaSeparatedEmailsFromUser,omitempty" json:"commaSeparatedEmailsFromUser,omitempty"` | ||||||
|  | 	EmailsFromContacts           *[]EmailAddress `codec:"emailsFromContacts,omitempty" json:"emailsFromContacts,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (o EmailInvites) DeepCopy() EmailInvites { | ||||||
|  | 	return EmailInvites{ | ||||||
|  | 		CommaSeparatedEmailsFromUser: (func(x *string) *string { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.CommaSeparatedEmailsFromUser), | ||||||
|  | 		EmailsFromContacts: (func(x *[]EmailAddress) *[]EmailAddress { | ||||||
|  | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (func(x []EmailAddress) []EmailAddress { | ||||||
|  | 				if x == nil { | ||||||
|  | 					return nil | ||||||
|  | 				} | ||||||
|  | 				ret := make([]EmailAddress, len(x)) | ||||||
|  | 				for i, v := range x { | ||||||
|  | 					vCopy := v.DeepCopy() | ||||||
|  | 					ret[i] = vCopy | ||||||
|  | 				} | ||||||
|  | 				return ret | ||||||
|  | 			})((*x)) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.EmailsFromContacts), | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kbfs.avdl | //   Input file: ../client/protocol/avdl/keybase1/kbfs.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs_common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs_common.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kbfs_common.avdl | //   Input file: ../client/protocol/avdl/keybase1/kbfs_common.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs_git.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfs_git.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kbfs_git.avdl | //   Input file: ../client/protocol/avdl/keybase1/kbfs_git.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfsmount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kbfsmount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kbfsmount.avdl | //   Input file: ../client/protocol/avdl/keybase1/kbfsmount.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kex2provisionee.avdl | //   Input file: ../client/protocol/avdl/keybase1/kex2provisionee.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kex2provisionee2.avdl | //   Input file: ../client/protocol/avdl/keybase1/kex2provisionee2.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kex2provisioner.avdl | //   Input file: ../client/protocol/avdl/keybase1/kex2provisioner.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kvstore.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/keybase/go-keybase-chat-bot/kbchat/types/keybase1/kvstore.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,23 +1,29 @@ | |||||||
| // Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) | // Auto-generated to Go types using avdl-compiler v1.4.8 (https://github.com/keybase/node-avdl-compiler) | ||||||
| //   Input file: ../client/protocol/avdl/keybase1/kvstore.avdl | //   Input file: ../client/protocol/avdl/keybase1/kvstore.avdl | ||||||
|  |  | ||||||
| package keybase1 | package keybase1 | ||||||
|  |  | ||||||
| type KVGetResult struct { | type KVGetResult struct { | ||||||
| 	TeamName   string `codec:"teamName" json:"teamName"` | 	TeamName   string  `codec:"teamName" json:"teamName"` | ||||||
| 	Namespace  string `codec:"namespace" json:"namespace"` | 	Namespace  string  `codec:"namespace" json:"namespace"` | ||||||
| 	EntryKey   string `codec:"entryKey" json:"entryKey"` | 	EntryKey   string  `codec:"entryKey" json:"entryKey"` | ||||||
| 	EntryValue string `codec:"entryValue" json:"entryValue"` | 	EntryValue *string `codec:"entryValue" json:"entryValue"` | ||||||
| 	Revision   int    `codec:"revision" json:"revision"` | 	Revision   int     `codec:"revision" json:"revision"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o KVGetResult) DeepCopy() KVGetResult { | func (o KVGetResult) DeepCopy() KVGetResult { | ||||||
| 	return KVGetResult{ | 	return KVGetResult{ | ||||||
| 		TeamName:   o.TeamName, | 		TeamName:  o.TeamName, | ||||||
| 		Namespace:  o.Namespace, | 		Namespace: o.Namespace, | ||||||
| 		EntryKey:   o.EntryKey, | 		EntryKey:  o.EntryKey, | ||||||
| 		EntryValue: o.EntryValue, | 		EntryValue: (func(x *string) *string { | ||||||
| 		Revision:   o.Revision, | 			if x == nil { | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 			tmp := (*x) | ||||||
|  | 			return &tmp | ||||||
|  | 		})(o.EntryValue), | ||||||
|  | 		Revision: o.Revision, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Wim
					Wim