session.pb.go RawHistoryFolder

1// Session lifecycle and control messages (protocol.Hello and friends).
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// 	protoc-gen-go v1.36.12
6// 	protoc        (unknown)
7// source: session.proto
8
9package wire
10
11import (
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	reflect "reflect"
15	sync "sync"
16	unsafe "unsafe"
17)
18
19const (
20	// Verify that this generated code is sufficiently up-to-date.
21	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
22	// Verify that runtime/protoimpl is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
24)
25
26// Hello opens a session attachment. version must stay field 1.
27type Hello struct {
28	state   protoimpl.MessageState `protogen:"open.v1"`
29	Version uint32                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
30	// Closed intent taxonomy: 0 = ephemeral, 1 = new, 2 = attach, 3 = resume.
31	Intent                 uint32               `protobuf:"varint,2,opt,name=intent,proto3" json:"intent,omitempty"`
32	ClientId               []byte               `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // exactly 16 bytes
33	ResumeToken            uint64               `protobuf:"varint,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
34	Name                   string               `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
35	Cols                   uint32               `protobuf:"varint,6,opt,name=cols,proto3" json:"cols,omitempty"`
36	Rows                   uint32               `protobuf:"varint,7,opt,name=rows,proto3" json:"rows,omitempty"`
37	PixelWidth             uint32               `protobuf:"varint,8,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
38	PixelHeight            uint32               `protobuf:"varint,9,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
39	TermEnv                string               `protobuf:"bytes,10,opt,name=term_env,json=termEnv,proto3" json:"term_env,omitempty"`
40	Cwd                    string               `protobuf:"bytes,11,opt,name=cwd,proto3" json:"cwd,omitempty"`
41	MaxOutputInFlight      uint32               `protobuf:"varint,13,opt,name=max_output_in_flight,json=maxOutputInFlight,proto3" json:"max_output_in_flight,omitempty"`
42	Env                    []string             `protobuf:"bytes,14,rep,name=env,proto3" json:"env,omitempty"`
43	EnvironmentPolicy      uint32               `protobuf:"varint,16,opt,name=environment_policy,json=environmentPolicy,proto3" json:"environment_policy,omitempty"` // 0 = client-owned, 1 = daemon-owned
44	ExactTarget            *ExactTarget         `protobuf:"bytes,17,opt,name=exact_target,json=exactTarget,proto3" json:"exact_target,omitempty"`                    // optional pointer
45	PreferredTabId         string               `protobuf:"bytes,18,opt,name=preferred_tab_id,json=preferredTabId,proto3" json:"preferred_tab_id,omitempty"`
46	NavigationCapabilities uint32               `protobuf:"varint,19,opt,name=navigation_capabilities,json=navigationCapabilities,proto3" json:"navigation_capabilities,omitempty"`
47	Remote                 bool                 `protobuf:"varint,20,opt,name=remote,proto3" json:"remote,omitempty"`
48	KittyDirectGraphics    bool                 `protobuf:"varint,21,opt,name=kitty_direct_graphics,json=kittyDirectGraphics,proto3" json:"kitty_direct_graphics,omitempty"`
49	SessionTarget          *SessionAttachTarget `protobuf:"bytes,22,opt,name=session_target,json=sessionTarget,proto3" json:"session_target,omitempty"` // optional pointer
50	KittyKeyboard          bool                 `protobuf:"varint,23,opt,name=kitty_keyboard,json=kittyKeyboard,proto3" json:"kitty_keyboard,omitempty"`
51	// Terminal window focus when the attachment opens: 0 = unknown,
52	// 1 = focused, 2 = unfocused. Later changes travel as TerminalFocus.
53	TerminalFocus uint32 `protobuf:"varint,24,opt,name=terminal_focus,json=terminalFocus,proto3" json:"terminal_focus,omitempty"`
54	// PID of a local client process, for bar scripts. 0 when unknown or remote.
55	ClientPid uint32 `protobuf:"varint,25,opt,name=client_pid,json=clientPid,proto3" json:"client_pid,omitempty"`
56	// Color output capability the client claims. Required: a missing message
57	// or an UNSPECIFIED mode is a decode error.
58	Color         *ColorCapabilities `protobuf:"bytes,26,opt,name=color,proto3" json:"color,omitempty"`
59	unknownFields protoimpl.UnknownFields
60	sizeCache     protoimpl.SizeCache
61}
62
63func (x *Hello) Reset() {
64	*x = Hello{}
65	mi := &file_session_proto_msgTypes[0]
66	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
67	ms.StoreMessageInfo(mi)
68}
69
70func (x *Hello) String() string {
71	return protoimpl.X.MessageStringOf(x)
72}
73
74func (*Hello) ProtoMessage() {}
75
76func (x *Hello) ProtoReflect() protoreflect.Message {
77	mi := &file_session_proto_msgTypes[0]
78	if x != nil {
79		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
80		if ms.LoadMessageInfo() == nil {
81			ms.StoreMessageInfo(mi)
82		}
83		return ms
84	}
85	return mi.MessageOf(x)
86}
87
88// Deprecated: Use Hello.ProtoReflect.Descriptor instead.
89func (*Hello) Descriptor() ([]byte, []int) {
90	return file_session_proto_rawDescGZIP(), []int{0}
91}
92
93func (x *Hello) GetVersion() uint32 {
94	if x != nil {
95		return x.Version
96	}
97	return 0
98}
99
100func (x *Hello) GetIntent() uint32 {
101	if x != nil {
102		return x.Intent
103	}
104	return 0
105}
106
107func (x *Hello) GetClientId() []byte {
108	if x != nil {
109		return x.ClientId
110	}
111	return nil
112}
113
114func (x *Hello) GetResumeToken() uint64 {
115	if x != nil {
116		return x.ResumeToken
117	}
118	return 0
119}
120
121func (x *Hello) GetName() string {
122	if x != nil {
123		return x.Name
124	}
125	return ""
126}
127
128func (x *Hello) GetCols() uint32 {
129	if x != nil {
130		return x.Cols
131	}
132	return 0
133}
134
135func (x *Hello) GetRows() uint32 {
136	if x != nil {
137		return x.Rows
138	}
139	return 0
140}
141
142func (x *Hello) GetPixelWidth() uint32 {
143	if x != nil {
144		return x.PixelWidth
145	}
146	return 0
147}
148
149func (x *Hello) GetPixelHeight() uint32 {
150	if x != nil {
151		return x.PixelHeight
152	}
153	return 0
154}
155
156func (x *Hello) GetTermEnv() string {
157	if x != nil {
158		return x.TermEnv
159	}
160	return ""
161}
162
163func (x *Hello) GetCwd() string {
164	if x != nil {
165		return x.Cwd
166	}
167	return ""
168}
169
170func (x *Hello) GetMaxOutputInFlight() uint32 {
171	if x != nil {
172		return x.MaxOutputInFlight
173	}
174	return 0
175}
176
177func (x *Hello) GetEnv() []string {
178	if x != nil {
179		return x.Env
180	}
181	return nil
182}
183
184func (x *Hello) GetEnvironmentPolicy() uint32 {
185	if x != nil {
186		return x.EnvironmentPolicy
187	}
188	return 0
189}
190
191func (x *Hello) GetExactTarget() *ExactTarget {
192	if x != nil {
193		return x.ExactTarget
194	}
195	return nil
196}
197
198func (x *Hello) GetPreferredTabId() string {
199	if x != nil {
200		return x.PreferredTabId
201	}
202	return ""
203}
204
205func (x *Hello) GetNavigationCapabilities() uint32 {
206	if x != nil {
207		return x.NavigationCapabilities
208	}
209	return 0
210}
211
212func (x *Hello) GetRemote() bool {
213	if x != nil {
214		return x.Remote
215	}
216	return false
217}
218
219func (x *Hello) GetKittyDirectGraphics() bool {
220	if x != nil {
221		return x.KittyDirectGraphics
222	}
223	return false
224}
225
226func (x *Hello) GetSessionTarget() *SessionAttachTarget {
227	if x != nil {
228		return x.SessionTarget
229	}
230	return nil
231}
232
233func (x *Hello) GetKittyKeyboard() bool {
234	if x != nil {
235		return x.KittyKeyboard
236	}
237	return false
238}
239
240func (x *Hello) GetTerminalFocus() uint32 {
241	if x != nil {
242		return x.TerminalFocus
243	}
244	return 0
245}
246
247func (x *Hello) GetClientPid() uint32 {
248	if x != nil {
249		return x.ClientPid
250	}
251	return 0
252}
253
254func (x *Hello) GetColor() *ColorCapabilities {
255	if x != nil {
256		return x.Color
257	}
258	return nil
259}
260
261// Welcome answers an accepted attach.
262type Welcome struct {
263	state             protoimpl.MessageState  `protogen:"open.v1"`
264	SessionId         string                  `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
265	SessionName       string                  `protobuf:"bytes,2,opt,name=session_name,json=sessionName,proto3" json:"session_name,omitempty"`
266	Ephemeral         bool                    `protobuf:"varint,3,opt,name=ephemeral,proto3" json:"ephemeral,omitempty"`
267	ResumeToken       uint64                  `protobuf:"varint,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
268	Capabilities      uint32                  `protobuf:"varint,5,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
269	CommittedIdentity *CommittedRouteIdentity `protobuf:"bytes,6,opt,name=committed_identity,json=committedIdentity,proto3" json:"committed_identity,omitempty"` // optional pointer
270	unknownFields     protoimpl.UnknownFields
271	sizeCache         protoimpl.SizeCache
272}
273
274func (x *Welcome) Reset() {
275	*x = Welcome{}
276	mi := &file_session_proto_msgTypes[1]
277	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
278	ms.StoreMessageInfo(mi)
279}
280
281func (x *Welcome) String() string {
282	return protoimpl.X.MessageStringOf(x)
283}
284
285func (*Welcome) ProtoMessage() {}
286
287func (x *Welcome) ProtoReflect() protoreflect.Message {
288	mi := &file_session_proto_msgTypes[1]
289	if x != nil {
290		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
291		if ms.LoadMessageInfo() == nil {
292			ms.StoreMessageInfo(mi)
293		}
294		return ms
295	}
296	return mi.MessageOf(x)
297}
298
299// Deprecated: Use Welcome.ProtoReflect.Descriptor instead.
300func (*Welcome) Descriptor() ([]byte, []int) {
301	return file_session_proto_rawDescGZIP(), []int{1}
302}
303
304func (x *Welcome) GetSessionId() string {
305	if x != nil {
306		return x.SessionId
307	}
308	return ""
309}
310
311func (x *Welcome) GetSessionName() string {
312	if x != nil {
313		return x.SessionName
314	}
315	return ""
316}
317
318func (x *Welcome) GetEphemeral() bool {
319	if x != nil {
320		return x.Ephemeral
321	}
322	return false
323}
324
325func (x *Welcome) GetResumeToken() uint64 {
326	if x != nil {
327		return x.ResumeToken
328	}
329	return 0
330}
331
332func (x *Welcome) GetCapabilities() uint32 {
333	if x != nil {
334		return x.Capabilities
335	}
336	return 0
337}
338
339func (x *Welcome) GetCommittedIdentity() *CommittedRouteIdentity {
340	if x != nil {
341		return x.CommittedIdentity
342	}
343	return nil
344}
345
346// ErrorMsg is a bounded daemon error.
347type ErrorMsg struct {
348	state         protoimpl.MessageState `protogen:"open.v1"`
349	Code          uint32                 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
350	Text          string                 `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
351	unknownFields protoimpl.UnknownFields
352	sizeCache     protoimpl.SizeCache
353}
354
355func (x *ErrorMsg) Reset() {
356	*x = ErrorMsg{}
357	mi := &file_session_proto_msgTypes[2]
358	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
359	ms.StoreMessageInfo(mi)
360}
361
362func (x *ErrorMsg) String() string {
363	return protoimpl.X.MessageStringOf(x)
364}
365
366func (*ErrorMsg) ProtoMessage() {}
367
368func (x *ErrorMsg) ProtoReflect() protoreflect.Message {
369	mi := &file_session_proto_msgTypes[2]
370	if x != nil {
371		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
372		if ms.LoadMessageInfo() == nil {
373			ms.StoreMessageInfo(mi)
374		}
375		return ms
376	}
377	return mi.MessageOf(x)
378}
379
380// Deprecated: Use ErrorMsg.ProtoReflect.Descriptor instead.
381func (*ErrorMsg) Descriptor() ([]byte, []int) {
382	return file_session_proto_rawDescGZIP(), []int{2}
383}
384
385func (x *ErrorMsg) GetCode() uint32 {
386	if x != nil {
387		return x.Code
388	}
389	return 0
390}
391
392func (x *ErrorMsg) GetText() string {
393	if x != nil {
394		return x.Text
395	}
396	return ""
397}
398
399// CommittedRouteIdentity is the identity committed after an accepted attach.
400type CommittedRouteIdentity struct {
401	state         protoimpl.MessageState `protogen:"open.v1"`
402	Target        *ExactTarget           `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
403	Ephemeral     bool                   `protobuf:"varint,2,opt,name=ephemeral,proto3" json:"ephemeral,omitempty"`
404	unknownFields protoimpl.UnknownFields
405	sizeCache     protoimpl.SizeCache
406}
407
408func (x *CommittedRouteIdentity) Reset() {
409	*x = CommittedRouteIdentity{}
410	mi := &file_session_proto_msgTypes[3]
411	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
412	ms.StoreMessageInfo(mi)
413}
414
415func (x *CommittedRouteIdentity) String() string {
416	return protoimpl.X.MessageStringOf(x)
417}
418
419func (*CommittedRouteIdentity) ProtoMessage() {}
420
421func (x *CommittedRouteIdentity) ProtoReflect() protoreflect.Message {
422	mi := &file_session_proto_msgTypes[3]
423	if x != nil {
424		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
425		if ms.LoadMessageInfo() == nil {
426			ms.StoreMessageInfo(mi)
427		}
428		return ms
429	}
430	return mi.MessageOf(x)
431}
432
433// Deprecated: Use CommittedRouteIdentity.ProtoReflect.Descriptor instead.
434func (*CommittedRouteIdentity) Descriptor() ([]byte, []int) {
435	return file_session_proto_rawDescGZIP(), []int{3}
436}
437
438func (x *CommittedRouteIdentity) GetTarget() *ExactTarget {
439	if x != nil {
440		return x.Target
441	}
442	return nil
443}
444
445func (x *CommittedRouteIdentity) GetEphemeral() bool {
446	if x != nil {
447		return x.Ephemeral
448	}
449	return false
450}
451
452// AttachTarget hands a client to another session, possibly remote.
453type AttachTarget struct {
454	state             protoimpl.MessageState `protogen:"open.v1"`
455	RequestId         uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
456	Endpoint          string                 `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
457	Session           string                 `protobuf:"bytes,3,opt,name=session,proto3" json:"session,omitempty"`
458	Intent            uint32                 `protobuf:"varint,4,opt,name=intent,proto3" json:"intent,omitempty"`
459	EnvironmentPolicy uint32                 `protobuf:"varint,6,opt,name=environment_policy,json=environmentPolicy,proto3" json:"environment_policy,omitempty"`
460	ExactTarget       *ExactTarget           `protobuf:"bytes,7,opt,name=exact_target,json=exactTarget,proto3" json:"exact_target,omitempty"` // optional pointer
461	SamePeer          bool                   `protobuf:"varint,8,opt,name=same_peer,json=samePeer,proto3" json:"same_peer,omitempty"`
462	PreferredTabId    string                 `protobuf:"bytes,9,opt,name=preferred_tab_id,json=preferredTabId,proto3" json:"preferred_tab_id,omitempty"`
463	CauseActionId     uint64                 `protobuf:"varint,10,opt,name=cause_action_id,json=causeActionId,proto3" json:"cause_action_id,omitempty"`
464	SessionTarget     *SessionAttachTarget   `protobuf:"bytes,11,opt,name=session_target,json=sessionTarget,proto3" json:"session_target,omitempty"` // optional pointer
465	unknownFields     protoimpl.UnknownFields
466	sizeCache         protoimpl.SizeCache
467}
468
469func (x *AttachTarget) Reset() {
470	*x = AttachTarget{}
471	mi := &file_session_proto_msgTypes[4]
472	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
473	ms.StoreMessageInfo(mi)
474}
475
476func (x *AttachTarget) String() string {
477	return protoimpl.X.MessageStringOf(x)
478}
479
480func (*AttachTarget) ProtoMessage() {}
481
482func (x *AttachTarget) ProtoReflect() protoreflect.Message {
483	mi := &file_session_proto_msgTypes[4]
484	if x != nil {
485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
486		if ms.LoadMessageInfo() == nil {
487			ms.StoreMessageInfo(mi)
488		}
489		return ms
490	}
491	return mi.MessageOf(x)
492}
493
494// Deprecated: Use AttachTarget.ProtoReflect.Descriptor instead.
495func (*AttachTarget) Descriptor() ([]byte, []int) {
496	return file_session_proto_rawDescGZIP(), []int{4}
497}
498
499func (x *AttachTarget) GetRequestId() uint64 {
500	if x != nil {
501		return x.RequestId
502	}
503	return 0
504}
505
506func (x *AttachTarget) GetEndpoint() string {
507	if x != nil {
508		return x.Endpoint
509	}
510	return ""
511}
512
513func (x *AttachTarget) GetSession() string {
514	if x != nil {
515		return x.Session
516	}
517	return ""
518}
519
520func (x *AttachTarget) GetIntent() uint32 {
521	if x != nil {
522		return x.Intent
523	}
524	return 0
525}
526
527func (x *AttachTarget) GetEnvironmentPolicy() uint32 {
528	if x != nil {
529		return x.EnvironmentPolicy
530	}
531	return 0
532}
533
534func (x *AttachTarget) GetExactTarget() *ExactTarget {
535	if x != nil {
536		return x.ExactTarget
537	}
538	return nil
539}
540
541func (x *AttachTarget) GetSamePeer() bool {
542	if x != nil {
543		return x.SamePeer
544	}
545	return false
546}
547
548func (x *AttachTarget) GetPreferredTabId() string {
549	if x != nil {
550		return x.PreferredTabId
551	}
552	return ""
553}
554
555func (x *AttachTarget) GetCauseActionId() uint64 {
556	if x != nil {
557		return x.CauseActionId
558	}
559	return 0
560}
561
562func (x *AttachTarget) GetSessionTarget() *SessionAttachTarget {
563	if x != nil {
564		return x.SessionTarget
565	}
566	return nil
567}
568
569// SessionInfo is one row of a session listing.
570type SessionInfo struct {
571	state     protoimpl.MessageState `protogen:"open.v1"`
572	SessionId string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
573	Name      string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
574	// Closed state taxonomy: 0 = up, 1 = down, 2 = broken.
575	State         uint32 `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
576	Ephemeral     bool   `protobuf:"varint,4,opt,name=ephemeral,proto3" json:"ephemeral,omitempty"`
577	Tabs          uint32 `protobuf:"varint,5,opt,name=tabs,proto3" json:"tabs,omitempty"`
578	Attached      bool   `protobuf:"varint,6,opt,name=attached,proto3" json:"attached,omitempty"`
579	unknownFields protoimpl.UnknownFields
580	sizeCache     protoimpl.SizeCache
581}
582
583func (x *SessionInfo) Reset() {
584	*x = SessionInfo{}
585	mi := &file_session_proto_msgTypes[5]
586	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
587	ms.StoreMessageInfo(mi)
588}
589
590func (x *SessionInfo) String() string {
591	return protoimpl.X.MessageStringOf(x)
592}
593
594func (*SessionInfo) ProtoMessage() {}
595
596func (x *SessionInfo) ProtoReflect() protoreflect.Message {
597	mi := &file_session_proto_msgTypes[5]
598	if x != nil {
599		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
600		if ms.LoadMessageInfo() == nil {
601			ms.StoreMessageInfo(mi)
602		}
603		return ms
604	}
605	return mi.MessageOf(x)
606}
607
608// Deprecated: Use SessionInfo.ProtoReflect.Descriptor instead.
609func (*SessionInfo) Descriptor() ([]byte, []int) {
610	return file_session_proto_rawDescGZIP(), []int{5}
611}
612
613func (x *SessionInfo) GetSessionId() string {
614	if x != nil {
615		return x.SessionId
616	}
617	return ""
618}
619
620func (x *SessionInfo) GetName() string {
621	if x != nil {
622		return x.Name
623	}
624	return ""
625}
626
627func (x *SessionInfo) GetState() uint32 {
628	if x != nil {
629		return x.State
630	}
631	return 0
632}
633
634func (x *SessionInfo) GetEphemeral() bool {
635	if x != nil {
636		return x.Ephemeral
637	}
638	return false
639}
640
641func (x *SessionInfo) GetTabs() uint32 {
642	if x != nil {
643		return x.Tabs
644	}
645	return 0
646}
647
648func (x *SessionInfo) GetAttached() bool {
649	if x != nil {
650		return x.Attached
651	}
652	return false
653}
654
655// Sessions is the one-shot listing answer.
656type Sessions struct {
657	state         protoimpl.MessageState `protogen:"open.v1"`
658	Sessions      []*SessionInfo         `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"`
659	unknownFields protoimpl.UnknownFields
660	sizeCache     protoimpl.SizeCache
661}
662
663func (x *Sessions) Reset() {
664	*x = Sessions{}
665	mi := &file_session_proto_msgTypes[6]
666	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
667	ms.StoreMessageInfo(mi)
668}
669
670func (x *Sessions) String() string {
671	return protoimpl.X.MessageStringOf(x)
672}
673
674func (*Sessions) ProtoMessage() {}
675
676func (x *Sessions) ProtoReflect() protoreflect.Message {
677	mi := &file_session_proto_msgTypes[6]
678	if x != nil {
679		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
680		if ms.LoadMessageInfo() == nil {
681			ms.StoreMessageInfo(mi)
682		}
683		return ms
684	}
685	return mi.MessageOf(x)
686}
687
688// Deprecated: Use Sessions.ProtoReflect.Descriptor instead.
689func (*Sessions) Descriptor() ([]byte, []int) {
690	return file_session_proto_rawDescGZIP(), []int{6}
691}
692
693func (x *Sessions) GetSessions() []*SessionInfo {
694	if x != nil {
695		return x.Sessions
696	}
697	return nil
698}
699
700// Kill asks the daemon to destroy a session or shut down.
701type Kill struct {
702	state protoimpl.MessageState `protogen:"open.v1"`
703	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
704	// Closed scope taxonomy: 0 = session, 1 = daemon, 2 = all.
705	Scope         uint32 `protobuf:"varint,2,opt,name=scope,proto3" json:"scope,omitempty"`
706	RequestId     uint64 `protobuf:"varint,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
707	unknownFields protoimpl.UnknownFields
708	sizeCache     protoimpl.SizeCache
709}
710
711func (x *Kill) Reset() {
712	*x = Kill{}
713	mi := &file_session_proto_msgTypes[7]
714	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
715	ms.StoreMessageInfo(mi)
716}
717
718func (x *Kill) String() string {
719	return protoimpl.X.MessageStringOf(x)
720}
721
722func (*Kill) ProtoMessage() {}
723
724func (x *Kill) ProtoReflect() protoreflect.Message {
725	mi := &file_session_proto_msgTypes[7]
726	if x != nil {
727		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
728		if ms.LoadMessageInfo() == nil {
729			ms.StoreMessageInfo(mi)
730		}
731		return ms
732	}
733	return mi.MessageOf(x)
734}
735
736// Deprecated: Use Kill.ProtoReflect.Descriptor instead.
737func (*Kill) Descriptor() ([]byte, []int) {
738	return file_session_proto_rawDescGZIP(), []int{7}
739}
740
741func (x *Kill) GetName() string {
742	if x != nil {
743		return x.Name
744	}
745	return ""
746}
747
748func (x *Kill) GetScope() uint32 {
749	if x != nil {
750		return x.Scope
751	}
752	return 0
753}
754
755func (x *Kill) GetRequestId() uint64 {
756	if x != nil {
757		return x.RequestId
758	}
759	return 0
760}
761
762type KillFailure struct {
763	state         protoimpl.MessageState `protogen:"open.v1"`
764	Class         string                 `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"`
765	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
766	Text          string                 `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
767	unknownFields protoimpl.UnknownFields
768	sizeCache     protoimpl.SizeCache
769}
770
771func (x *KillFailure) Reset() {
772	*x = KillFailure{}
773	mi := &file_session_proto_msgTypes[8]
774	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
775	ms.StoreMessageInfo(mi)
776}
777
778func (x *KillFailure) String() string {
779	return protoimpl.X.MessageStringOf(x)
780}
781
782func (*KillFailure) ProtoMessage() {}
783
784func (x *KillFailure) ProtoReflect() protoreflect.Message {
785	mi := &file_session_proto_msgTypes[8]
786	if x != nil {
787		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
788		if ms.LoadMessageInfo() == nil {
789			ms.StoreMessageInfo(mi)
790		}
791		return ms
792	}
793	return mi.MessageOf(x)
794}
795
796// Deprecated: Use KillFailure.ProtoReflect.Descriptor instead.
797func (*KillFailure) Descriptor() ([]byte, []int) {
798	return file_session_proto_rawDescGZIP(), []int{8}
799}
800
801func (x *KillFailure) GetClass() string {
802	if x != nil {
803		return x.Class
804	}
805	return ""
806}
807
808func (x *KillFailure) GetName() string {
809	if x != nil {
810		return x.Name
811	}
812	return ""
813}
814
815func (x *KillFailure) GetText() string {
816	if x != nil {
817		return x.Text
818	}
819	return ""
820}
821
822type KillResult struct {
823	state     protoimpl.MessageState `protogen:"open.v1"`
824	RequestId uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
825	// Closed outcome taxonomy: 1 = succeeded, 2 = failed, 3 = outcome unknown.
826	Outcome       uint32         `protobuf:"varint,2,opt,name=outcome,proto3" json:"outcome,omitempty"`
827	Code          uint32         `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"`
828	Text          string         `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"`
829	Failures      []*KillFailure `protobuf:"bytes,5,rep,name=failures,proto3" json:"failures,omitempty"`
830	unknownFields protoimpl.UnknownFields
831	sizeCache     protoimpl.SizeCache
832}
833
834func (x *KillResult) Reset() {
835	*x = KillResult{}
836	mi := &file_session_proto_msgTypes[9]
837	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
838	ms.StoreMessageInfo(mi)
839}
840
841func (x *KillResult) String() string {
842	return protoimpl.X.MessageStringOf(x)
843}
844
845func (*KillResult) ProtoMessage() {}
846
847func (x *KillResult) ProtoReflect() protoreflect.Message {
848	mi := &file_session_proto_msgTypes[9]
849	if x != nil {
850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
851		if ms.LoadMessageInfo() == nil {
852			ms.StoreMessageInfo(mi)
853		}
854		return ms
855	}
856	return mi.MessageOf(x)
857}
858
859// Deprecated: Use KillResult.ProtoReflect.Descriptor instead.
860func (*KillResult) Descriptor() ([]byte, []int) {
861	return file_session_proto_rawDescGZIP(), []int{9}
862}
863
864func (x *KillResult) GetRequestId() uint64 {
865	if x != nil {
866		return x.RequestId
867	}
868	return 0
869}
870
871func (x *KillResult) GetOutcome() uint32 {
872	if x != nil {
873		return x.Outcome
874	}
875	return 0
876}
877
878func (x *KillResult) GetCode() uint32 {
879	if x != nil {
880		return x.Code
881	}
882	return 0
883}
884
885func (x *KillResult) GetText() string {
886	if x != nil {
887		return x.Text
888	}
889	return ""
890}
891
892func (x *KillResult) GetFailures() []*KillFailure {
893	if x != nil {
894		return x.Failures
895	}
896	return nil
897}
898
899// Detached reports why an attachment ended.
900type Detached struct {
901	state protoimpl.MessageState `protogen:"open.v1"`
902	// Closed reason taxonomy: 0 = detach, 1 = killed, 2 = shutdown, 3 = replaced.
903	Reason        uint32 `protobuf:"varint,1,opt,name=reason,proto3" json:"reason,omitempty"`
904	unknownFields protoimpl.UnknownFields
905	sizeCache     protoimpl.SizeCache
906}
907
908func (x *Detached) Reset() {
909	*x = Detached{}
910	mi := &file_session_proto_msgTypes[10]
911	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
912	ms.StoreMessageInfo(mi)
913}
914
915func (x *Detached) String() string {
916	return protoimpl.X.MessageStringOf(x)
917}
918
919func (*Detached) ProtoMessage() {}
920
921func (x *Detached) ProtoReflect() protoreflect.Message {
922	mi := &file_session_proto_msgTypes[10]
923	if x != nil {
924		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
925		if ms.LoadMessageInfo() == nil {
926			ms.StoreMessageInfo(mi)
927		}
928		return ms
929	}
930	return mi.MessageOf(x)
931}
932
933// Deprecated: Use Detached.ProtoReflect.Descriptor instead.
934func (*Detached) Descriptor() ([]byte, []int) {
935	return file_session_proto_rawDescGZIP(), []int{10}
936}
937
938func (x *Detached) GetReason() uint32 {
939	if x != nil {
940		return x.Reason
941	}
942	return 0
943}
944
945// Detach asks the daemon to release the attachment. closed reports that the
946// client process is ending (terminal closed or terminated), not a user detach.
947type Detach struct {
948	state         protoimpl.MessageState `protogen:"open.v1"`
949	Closed        bool                   `protobuf:"varint,1,opt,name=closed,proto3" json:"closed,omitempty"`
950	unknownFields protoimpl.UnknownFields
951	sizeCache     protoimpl.SizeCache
952}
953
954func (x *Detach) Reset() {
955	*x = Detach{}
956	mi := &file_session_proto_msgTypes[11]
957	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
958	ms.StoreMessageInfo(mi)
959}
960
961func (x *Detach) String() string {
962	return protoimpl.X.MessageStringOf(x)
963}
964
965func (*Detach) ProtoMessage() {}
966
967func (x *Detach) ProtoReflect() protoreflect.Message {
968	mi := &file_session_proto_msgTypes[11]
969	if x != nil {
970		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
971		if ms.LoadMessageInfo() == nil {
972			ms.StoreMessageInfo(mi)
973		}
974		return ms
975	}
976	return mi.MessageOf(x)
977}
978
979// Deprecated: Use Detach.ProtoReflect.Descriptor instead.
980func (*Detach) Descriptor() ([]byte, []int) {
981	return file_session_proto_rawDescGZIP(), []int{11}
982}
983
984func (x *Detach) GetClosed() bool {
985	if x != nil {
986		return x.Closed
987	}
988	return false
989}
990
991// Ping / Pong are empty keepalive markers.
992type Ping struct {
993	state         protoimpl.MessageState `protogen:"open.v1"`
994	unknownFields protoimpl.UnknownFields
995	sizeCache     protoimpl.SizeCache
996}
997
998func (x *Ping) Reset() {
999	*x = Ping{}
1000	mi := &file_session_proto_msgTypes[12]
1001	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1002	ms.StoreMessageInfo(mi)
1003}
1004
1005func (x *Ping) String() string {
1006	return protoimpl.X.MessageStringOf(x)
1007}
1008
1009func (*Ping) ProtoMessage() {}
1010
1011func (x *Ping) ProtoReflect() protoreflect.Message {
1012	mi := &file_session_proto_msgTypes[12]
1013	if x != nil {
1014		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1015		if ms.LoadMessageInfo() == nil {
1016			ms.StoreMessageInfo(mi)
1017		}
1018		return ms
1019	}
1020	return mi.MessageOf(x)
1021}
1022
1023// Deprecated: Use Ping.ProtoReflect.Descriptor instead.
1024func (*Ping) Descriptor() ([]byte, []int) {
1025	return file_session_proto_rawDescGZIP(), []int{12}
1026}
1027
1028type Pong struct {
1029	state         protoimpl.MessageState `protogen:"open.v1"`
1030	unknownFields protoimpl.UnknownFields
1031	sizeCache     protoimpl.SizeCache
1032}
1033
1034func (x *Pong) Reset() {
1035	*x = Pong{}
1036	mi := &file_session_proto_msgTypes[13]
1037	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1038	ms.StoreMessageInfo(mi)
1039}
1040
1041func (x *Pong) String() string {
1042	return protoimpl.X.MessageStringOf(x)
1043}
1044
1045func (*Pong) ProtoMessage() {}
1046
1047func (x *Pong) ProtoReflect() protoreflect.Message {
1048	mi := &file_session_proto_msgTypes[13]
1049	if x != nil {
1050		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1051		if ms.LoadMessageInfo() == nil {
1052			ms.StoreMessageInfo(mi)
1053		}
1054		return ms
1055	}
1056	return mi.MessageOf(x)
1057}
1058
1059// Deprecated: Use Pong.ProtoReflect.Descriptor instead.
1060func (*Pong) Descriptor() ([]byte, []int) {
1061	return file_session_proto_rawDescGZIP(), []int{13}
1062}
1063
1064// List asks for the one-shot session listing. Empty marker.
1065type List struct {
1066	state         protoimpl.MessageState `protogen:"open.v1"`
1067	unknownFields protoimpl.UnknownFields
1068	sizeCache     protoimpl.SizeCache
1069}
1070
1071func (x *List) Reset() {
1072	*x = List{}
1073	mi := &file_session_proto_msgTypes[14]
1074	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1075	ms.StoreMessageInfo(mi)
1076}
1077
1078func (x *List) String() string {
1079	return protoimpl.X.MessageStringOf(x)
1080}
1081
1082func (*List) ProtoMessage() {}
1083
1084func (x *List) ProtoReflect() protoreflect.Message {
1085	mi := &file_session_proto_msgTypes[14]
1086	if x != nil {
1087		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1088		if ms.LoadMessageInfo() == nil {
1089			ms.StoreMessageInfo(mi)
1090		}
1091		return ms
1092	}
1093	return mi.MessageOf(x)
1094}
1095
1096// Deprecated: Use List.ProtoReflect.Descriptor instead.
1097func (*List) Descriptor() ([]byte, []int) {
1098	return file_session_proto_rawDescGZIP(), []int{14}
1099}
1100
1101// RouteRef is an opaque client-ledger reference.
1102type RouteRef struct {
1103	state         protoimpl.MessageState `protogen:"open.v1"`
1104	Key           uint64                 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
1105	Generation    uint64                 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
1106	unknownFields protoimpl.UnknownFields
1107	sizeCache     protoimpl.SizeCache
1108}
1109
1110func (x *RouteRef) Reset() {
1111	*x = RouteRef{}
1112	mi := &file_session_proto_msgTypes[15]
1113	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1114	ms.StoreMessageInfo(mi)
1115}
1116
1117func (x *RouteRef) String() string {
1118	return protoimpl.X.MessageStringOf(x)
1119}
1120
1121func (*RouteRef) ProtoMessage() {}
1122
1123func (x *RouteRef) ProtoReflect() protoreflect.Message {
1124	mi := &file_session_proto_msgTypes[15]
1125	if x != nil {
1126		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1127		if ms.LoadMessageInfo() == nil {
1128			ms.StoreMessageInfo(mi)
1129		}
1130		return ms
1131	}
1132	return mi.MessageOf(x)
1133}
1134
1135// Deprecated: Use RouteRef.ProtoReflect.Descriptor instead.
1136func (*RouteRef) Descriptor() ([]byte, []int) {
1137	return file_session_proto_rawDescGZIP(), []int{15}
1138}
1139
1140func (x *RouteRef) GetKey() uint64 {
1141	if x != nil {
1142		return x.Key
1143	}
1144	return 0
1145}
1146
1147func (x *RouteRef) GetGeneration() uint64 {
1148	if x != nil {
1149		return x.Generation
1150	}
1151	return 0
1152}
1153
1154// RouteAttentionTarget binds one displayed reference to an exact lifecycle.
1155type RouteAttentionTarget struct {
1156	state         protoimpl.MessageState `protogen:"open.v1"`
1157	Ref           *RouteRef              `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
1158	Target        *ExactTarget           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
1159	SourceKey     string                 `protobuf:"bytes,3,opt,name=source_key,json=sourceKey,proto3" json:"source_key,omitempty"`
1160	unknownFields protoimpl.UnknownFields
1161	sizeCache     protoimpl.SizeCache
1162}
1163
1164func (x *RouteAttentionTarget) Reset() {
1165	*x = RouteAttentionTarget{}
1166	mi := &file_session_proto_msgTypes[16]
1167	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1168	ms.StoreMessageInfo(mi)
1169}
1170
1171func (x *RouteAttentionTarget) String() string {
1172	return protoimpl.X.MessageStringOf(x)
1173}
1174
1175func (*RouteAttentionTarget) ProtoMessage() {}
1176
1177func (x *RouteAttentionTarget) ProtoReflect() protoreflect.Message {
1178	mi := &file_session_proto_msgTypes[16]
1179	if x != nil {
1180		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1181		if ms.LoadMessageInfo() == nil {
1182			ms.StoreMessageInfo(mi)
1183		}
1184		return ms
1185	}
1186	return mi.MessageOf(x)
1187}
1188
1189// Deprecated: Use RouteAttentionTarget.ProtoReflect.Descriptor instead.
1190func (*RouteAttentionTarget) Descriptor() ([]byte, []int) {
1191	return file_session_proto_rawDescGZIP(), []int{16}
1192}
1193
1194func (x *RouteAttentionTarget) GetRef() *RouteRef {
1195	if x != nil {
1196		return x.Ref
1197	}
1198	return nil
1199}
1200
1201func (x *RouteAttentionTarget) GetTarget() *ExactTarget {
1202	if x != nil {
1203		return x.Target
1204	}
1205	return nil
1206}
1207
1208func (x *RouteAttentionTarget) GetSourceKey() string {
1209	if x != nil {
1210		return x.SourceKey
1211	}
1212	return ""
1213}
1214
1215// RouteAttentionSubscription is the bounded client-owned attention mapping.
1216type RouteAttentionSubscription struct {
1217	state         protoimpl.MessageState  `protogen:"open.v1"`
1218	Targets       []*RouteAttentionTarget `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty"`
1219	unknownFields protoimpl.UnknownFields
1220	sizeCache     protoimpl.SizeCache
1221}
1222
1223func (x *RouteAttentionSubscription) Reset() {
1224	*x = RouteAttentionSubscription{}
1225	mi := &file_session_proto_msgTypes[17]
1226	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1227	ms.StoreMessageInfo(mi)
1228}
1229
1230func (x *RouteAttentionSubscription) String() string {
1231	return protoimpl.X.MessageStringOf(x)
1232}
1233
1234func (*RouteAttentionSubscription) ProtoMessage() {}
1235
1236func (x *RouteAttentionSubscription) ProtoReflect() protoreflect.Message {
1237	mi := &file_session_proto_msgTypes[17]
1238	if x != nil {
1239		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1240		if ms.LoadMessageInfo() == nil {
1241			ms.StoreMessageInfo(mi)
1242		}
1243		return ms
1244	}
1245	return mi.MessageOf(x)
1246}
1247
1248// Deprecated: Use RouteAttentionSubscription.ProtoReflect.Descriptor instead.
1249func (*RouteAttentionSubscription) Descriptor() ([]byte, []int) {
1250	return file_session_proto_rawDescGZIP(), []int{17}
1251}
1252
1253func (x *RouteAttentionSubscription) GetTargets() []*RouteAttentionTarget {
1254	if x != nil {
1255		return x.Targets
1256	}
1257	return nil
1258}
1259
1260// RecentRouteEntry is one route's identity plus display view.
1261type RecentRouteEntry struct {
1262	state      protoimpl.MessageState `protogen:"open.v1"`
1263	Key        uint64                 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
1264	Generation uint64                 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
1265	Target     *ExactTarget           `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
1266	Name       string                 `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
1267	HostLabel  string                 `protobuf:"bytes,5,opt,name=host_label,json=hostLabel,proto3" json:"host_label,omitempty"`
1268	// Closed kind taxonomy: 1 = local, 2 = remote.
1269	Kind      uint32 `protobuf:"varint,6,opt,name=kind,proto3" json:"kind,omitempty"`
1270	Ephemeral bool   `protobuf:"varint,7,opt,name=ephemeral,proto3" json:"ephemeral,omitempty"`
1271	Attention bool   `protobuf:"varint,8,opt,name=attention,proto3" json:"attention,omitempty"`
1272	// Closed reachability taxonomy: 0 = unknown, 1 = reachable, 2 = unavailable.
1273	Reachability uint32 `protobuf:"varint,9,opt,name=reachability,proto3" json:"reachability,omitempty"`
1274	// Client-assigned attention onset order; zero without attention.
1275	AttentionSeq uint64 `protobuf:"varint,10,opt,name=attention_seq,json=attentionSeq,proto3" json:"attention_seq,omitempty"`
1276	// True once this client attached to the route; the status-bar history
1277	// shows visited routes plus ringing ones.
1278	Visited       bool `protobuf:"varint,11,opt,name=visited,proto3" json:"visited,omitempty"`
1279	unknownFields protoimpl.UnknownFields
1280	sizeCache     protoimpl.SizeCache
1281}
1282
1283func (x *RecentRouteEntry) Reset() {
1284	*x = RecentRouteEntry{}
1285	mi := &file_session_proto_msgTypes[18]
1286	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1287	ms.StoreMessageInfo(mi)
1288}
1289
1290func (x *RecentRouteEntry) String() string {
1291	return protoimpl.X.MessageStringOf(x)
1292}
1293
1294func (*RecentRouteEntry) ProtoMessage() {}
1295
1296func (x *RecentRouteEntry) ProtoReflect() protoreflect.Message {
1297	mi := &file_session_proto_msgTypes[18]
1298	if x != nil {
1299		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1300		if ms.LoadMessageInfo() == nil {
1301			ms.StoreMessageInfo(mi)
1302		}
1303		return ms
1304	}
1305	return mi.MessageOf(x)
1306}
1307
1308// Deprecated: Use RecentRouteEntry.ProtoReflect.Descriptor instead.
1309func (*RecentRouteEntry) Descriptor() ([]byte, []int) {
1310	return file_session_proto_rawDescGZIP(), []int{18}
1311}
1312
1313func (x *RecentRouteEntry) GetKey() uint64 {
1314	if x != nil {
1315		return x.Key
1316	}
1317	return 0
1318}
1319
1320func (x *RecentRouteEntry) GetGeneration() uint64 {
1321	if x != nil {
1322		return x.Generation
1323	}
1324	return 0
1325}
1326
1327func (x *RecentRouteEntry) GetTarget() *ExactTarget {
1328	if x != nil {
1329		return x.Target
1330	}
1331	return nil
1332}
1333
1334func (x *RecentRouteEntry) GetName() string {
1335	if x != nil {
1336		return x.Name
1337	}
1338	return ""
1339}
1340
1341func (x *RecentRouteEntry) GetHostLabel() string {
1342	if x != nil {
1343		return x.HostLabel
1344	}
1345	return ""
1346}
1347
1348func (x *RecentRouteEntry) GetKind() uint32 {
1349	if x != nil {
1350		return x.Kind
1351	}
1352	return 0
1353}
1354
1355func (x *RecentRouteEntry) GetEphemeral() bool {
1356	if x != nil {
1357		return x.Ephemeral
1358	}
1359	return false
1360}
1361
1362func (x *RecentRouteEntry) GetAttention() bool {
1363	if x != nil {
1364		return x.Attention
1365	}
1366	return false
1367}
1368
1369func (x *RecentRouteEntry) GetReachability() uint32 {
1370	if x != nil {
1371		return x.Reachability
1372	}
1373	return 0
1374}
1375
1376func (x *RecentRouteEntry) GetAttentionSeq() uint64 {
1377	if x != nil {
1378		return x.AttentionSeq
1379	}
1380	return 0
1381}
1382
1383func (x *RecentRouteEntry) GetVisited() bool {
1384	if x != nil {
1385		return x.Visited
1386	}
1387	return false
1388}
1389
1390// RouteHost is one creation destination other than the serving daemon.
1391type RouteHost struct {
1392	state      protoimpl.MessageState `protogen:"open.v1"`
1393	Key        uint64                 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
1394	Generation uint64                 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
1395	Label      string                 `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
1396	// Closed kind taxonomy: 1 = local, 2 = remote.
1397	Kind          uint32 `protobuf:"varint,4,opt,name=kind,proto3" json:"kind,omitempty"`
1398	unknownFields protoimpl.UnknownFields
1399	sizeCache     protoimpl.SizeCache
1400}
1401
1402func (x *RouteHost) Reset() {
1403	*x = RouteHost{}
1404	mi := &file_session_proto_msgTypes[19]
1405	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1406	ms.StoreMessageInfo(mi)
1407}
1408
1409func (x *RouteHost) String() string {
1410	return protoimpl.X.MessageStringOf(x)
1411}
1412
1413func (*RouteHost) ProtoMessage() {}
1414
1415func (x *RouteHost) ProtoReflect() protoreflect.Message {
1416	mi := &file_session_proto_msgTypes[19]
1417	if x != nil {
1418		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1419		if ms.LoadMessageInfo() == nil {
1420			ms.StoreMessageInfo(mi)
1421		}
1422		return ms
1423	}
1424	return mi.MessageOf(x)
1425}
1426
1427// Deprecated: Use RouteHost.ProtoReflect.Descriptor instead.
1428func (*RouteHost) Descriptor() ([]byte, []int) {
1429	return file_session_proto_rawDescGZIP(), []int{19}
1430}
1431
1432func (x *RouteHost) GetKey() uint64 {
1433	if x != nil {
1434		return x.Key
1435	}
1436	return 0
1437}
1438
1439func (x *RouteHost) GetGeneration() uint64 {
1440	if x != nil {
1441		return x.Generation
1442	}
1443	return 0
1444}
1445
1446func (x *RouteHost) GetLabel() string {
1447	if x != nil {
1448		return x.Label
1449	}
1450	return ""
1451}
1452
1453func (x *RouteHost) GetKind() uint32 {
1454	if x != nil {
1455		return x.Kind
1456	}
1457	return 0
1458}
1459
1460// RecentRouteSnapshot is an immutable bounded route publication.
1461type RecentRouteSnapshot struct {
1462	state         protoimpl.MessageState `protogen:"open.v1"`
1463	Generation    uint64                 `protobuf:"varint,1,opt,name=generation,proto3" json:"generation,omitempty"`
1464	Active        *RouteRef              `protobuf:"bytes,2,opt,name=active,proto3" json:"active,omitempty"`
1465	ActiveEntry   *RecentRouteEntry      `protobuf:"bytes,3,opt,name=active_entry,json=activeEntry,proto3" json:"active_entry,omitempty"`
1466	Previous      *RouteRef              `protobuf:"bytes,4,opt,name=previous,proto3" json:"previous,omitempty"`
1467	Home          *RouteRef              `protobuf:"bytes,5,opt,name=home,proto3" json:"home,omitempty"`
1468	Entries       []*RecentRouteEntry    `protobuf:"bytes,6,rep,name=entries,proto3" json:"entries,omitempty"`
1469	Hosts         []*RouteHost           `protobuf:"bytes,7,rep,name=hosts,proto3" json:"hosts,omitempty"`
1470	unknownFields protoimpl.UnknownFields
1471	sizeCache     protoimpl.SizeCache
1472}
1473
1474func (x *RecentRouteSnapshot) Reset() {
1475	*x = RecentRouteSnapshot{}
1476	mi := &file_session_proto_msgTypes[20]
1477	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1478	ms.StoreMessageInfo(mi)
1479}
1480
1481func (x *RecentRouteSnapshot) String() string {
1482	return protoimpl.X.MessageStringOf(x)
1483}
1484
1485func (*RecentRouteSnapshot) ProtoMessage() {}
1486
1487func (x *RecentRouteSnapshot) ProtoReflect() protoreflect.Message {
1488	mi := &file_session_proto_msgTypes[20]
1489	if x != nil {
1490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1491		if ms.LoadMessageInfo() == nil {
1492			ms.StoreMessageInfo(mi)
1493		}
1494		return ms
1495	}
1496	return mi.MessageOf(x)
1497}
1498
1499// Deprecated: Use RecentRouteSnapshot.ProtoReflect.Descriptor instead.
1500func (*RecentRouteSnapshot) Descriptor() ([]byte, []int) {
1501	return file_session_proto_rawDescGZIP(), []int{20}
1502}
1503
1504func (x *RecentRouteSnapshot) GetGeneration() uint64 {
1505	if x != nil {
1506		return x.Generation
1507	}
1508	return 0
1509}
1510
1511func (x *RecentRouteSnapshot) GetActive() *RouteRef {
1512	if x != nil {
1513		return x.Active
1514	}
1515	return nil
1516}
1517
1518func (x *RecentRouteSnapshot) GetActiveEntry() *RecentRouteEntry {
1519	if x != nil {
1520		return x.ActiveEntry
1521	}
1522	return nil
1523}
1524
1525func (x *RecentRouteSnapshot) GetPrevious() *RouteRef {
1526	if x != nil {
1527		return x.Previous
1528	}
1529	return nil
1530}
1531
1532func (x *RecentRouteSnapshot) GetHome() *RouteRef {
1533	if x != nil {
1534		return x.Home
1535	}
1536	return nil
1537}
1538
1539func (x *RecentRouteSnapshot) GetEntries() []*RecentRouteEntry {
1540	if x != nil {
1541		return x.Entries
1542	}
1543	return nil
1544}
1545
1546func (x *RecentRouteSnapshot) GetHosts() []*RouteHost {
1547	if x != nil {
1548		return x.Hosts
1549	}
1550	return nil
1551}
1552
1553// RouteNavigationAction asks the client to resolve one ledger entry.
1554type RouteNavigationAction struct {
1555	state              protoimpl.MessageState `protogen:"open.v1"`
1556	CauseActionId      uint64                 `protobuf:"varint,1,opt,name=cause_action_id,json=causeActionId,proto3" json:"cause_action_id,omitempty"`
1557	SnapshotGeneration uint64                 `protobuf:"varint,2,opt,name=snapshot_generation,json=snapshotGeneration,proto3" json:"snapshot_generation,omitempty"`
1558	Key                uint64                 `protobuf:"varint,3,opt,name=key,proto3" json:"key,omitempty"`
1559	Generation         uint64                 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"`
1560	unknownFields      protoimpl.UnknownFields
1561	sizeCache          protoimpl.SizeCache
1562}
1563
1564func (x *RouteNavigationAction) Reset() {
1565	*x = RouteNavigationAction{}
1566	mi := &file_session_proto_msgTypes[21]
1567	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1568	ms.StoreMessageInfo(mi)
1569}
1570
1571func (x *RouteNavigationAction) String() string {
1572	return protoimpl.X.MessageStringOf(x)
1573}
1574
1575func (*RouteNavigationAction) ProtoMessage() {}
1576
1577func (x *RouteNavigationAction) ProtoReflect() protoreflect.Message {
1578	mi := &file_session_proto_msgTypes[21]
1579	if x != nil {
1580		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1581		if ms.LoadMessageInfo() == nil {
1582			ms.StoreMessageInfo(mi)
1583		}
1584		return ms
1585	}
1586	return mi.MessageOf(x)
1587}
1588
1589// Deprecated: Use RouteNavigationAction.ProtoReflect.Descriptor instead.
1590func (*RouteNavigationAction) Descriptor() ([]byte, []int) {
1591	return file_session_proto_rawDescGZIP(), []int{21}
1592}
1593
1594func (x *RouteNavigationAction) GetCauseActionId() uint64 {
1595	if x != nil {
1596		return x.CauseActionId
1597	}
1598	return 0
1599}
1600
1601func (x *RouteNavigationAction) GetSnapshotGeneration() uint64 {
1602	if x != nil {
1603		return x.SnapshotGeneration
1604	}
1605	return 0
1606}
1607
1608func (x *RouteNavigationAction) GetKey() uint64 {
1609	if x != nil {
1610		return x.Key
1611	}
1612	return 0
1613}
1614
1615func (x *RouteNavigationAction) GetGeneration() uint64 {
1616	if x != nil {
1617		return x.Generation
1618	}
1619	return 0
1620}
1621
1622// RouteCreateSessionAction asks the client to create a named session.
1623type RouteCreateSessionAction struct {
1624	state              protoimpl.MessageState `protogen:"open.v1"`
1625	CauseActionId      uint64                 `protobuf:"varint,1,opt,name=cause_action_id,json=causeActionId,proto3" json:"cause_action_id,omitempty"`
1626	RequestId          uint64                 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1627	SnapshotGeneration uint64                 `protobuf:"varint,3,opt,name=snapshot_generation,json=snapshotGeneration,proto3" json:"snapshot_generation,omitempty"`
1628	Key                uint64                 `protobuf:"varint,4,opt,name=key,proto3" json:"key,omitempty"`
1629	Generation         uint64                 `protobuf:"varint,5,opt,name=generation,proto3" json:"generation,omitempty"`
1630	SessionName        string                 `protobuf:"bytes,6,opt,name=session_name,json=sessionName,proto3" json:"session_name,omitempty"`
1631	unknownFields      protoimpl.UnknownFields
1632	sizeCache          protoimpl.SizeCache
1633}
1634
1635func (x *RouteCreateSessionAction) Reset() {
1636	*x = RouteCreateSessionAction{}
1637	mi := &file_session_proto_msgTypes[22]
1638	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1639	ms.StoreMessageInfo(mi)
1640}
1641
1642func (x *RouteCreateSessionAction) String() string {
1643	return protoimpl.X.MessageStringOf(x)
1644}
1645
1646func (*RouteCreateSessionAction) ProtoMessage() {}
1647
1648func (x *RouteCreateSessionAction) ProtoReflect() protoreflect.Message {
1649	mi := &file_session_proto_msgTypes[22]
1650	if x != nil {
1651		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1652		if ms.LoadMessageInfo() == nil {
1653			ms.StoreMessageInfo(mi)
1654		}
1655		return ms
1656	}
1657	return mi.MessageOf(x)
1658}
1659
1660// Deprecated: Use RouteCreateSessionAction.ProtoReflect.Descriptor instead.
1661func (*RouteCreateSessionAction) Descriptor() ([]byte, []int) {
1662	return file_session_proto_rawDescGZIP(), []int{22}
1663}
1664
1665func (x *RouteCreateSessionAction) GetCauseActionId() uint64 {
1666	if x != nil {
1667		return x.CauseActionId
1668	}
1669	return 0
1670}
1671
1672func (x *RouteCreateSessionAction) GetRequestId() uint64 {
1673	if x != nil {
1674		return x.RequestId
1675	}
1676	return 0
1677}
1678
1679func (x *RouteCreateSessionAction) GetSnapshotGeneration() uint64 {
1680	if x != nil {
1681		return x.SnapshotGeneration
1682	}
1683	return 0
1684}
1685
1686func (x *RouteCreateSessionAction) GetKey() uint64 {
1687	if x != nil {
1688		return x.Key
1689	}
1690	return 0
1691}
1692
1693func (x *RouteCreateSessionAction) GetGeneration() uint64 {
1694	if x != nil {
1695		return x.Generation
1696	}
1697	return 0
1698}
1699
1700func (x *RouteCreateSessionAction) GetSessionName() string {
1701	if x != nil {
1702		return x.SessionName
1703	}
1704	return ""
1705}
1706
1707// RouteNavigationFailure is the bounded rejection taxonomy shared by both
1708// directions: the same semantic payload appears in both envelopes.
1709type RouteNavigationFailure struct {
1710	state      protoimpl.MessageState `protogen:"open.v1"`
1711	Key        uint64                 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
1712	Generation uint64                 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
1713	// Closed code taxonomy: 1 = stale, 2 = no such route, 3 = unavailable,
1714	// 4 = target changed, 5 = origin unavailable.
1715	Code          uint32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"`
1716	unknownFields protoimpl.UnknownFields
1717	sizeCache     protoimpl.SizeCache
1718}
1719
1720func (x *RouteNavigationFailure) Reset() {
1721	*x = RouteNavigationFailure{}
1722	mi := &file_session_proto_msgTypes[23]
1723	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1724	ms.StoreMessageInfo(mi)
1725}
1726
1727func (x *RouteNavigationFailure) String() string {
1728	return protoimpl.X.MessageStringOf(x)
1729}
1730
1731func (*RouteNavigationFailure) ProtoMessage() {}
1732
1733func (x *RouteNavigationFailure) ProtoReflect() protoreflect.Message {
1734	mi := &file_session_proto_msgTypes[23]
1735	if x != nil {
1736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1737		if ms.LoadMessageInfo() == nil {
1738			ms.StoreMessageInfo(mi)
1739		}
1740		return ms
1741	}
1742	return mi.MessageOf(x)
1743}
1744
1745// Deprecated: Use RouteNavigationFailure.ProtoReflect.Descriptor instead.
1746func (*RouteNavigationFailure) Descriptor() ([]byte, []int) {
1747	return file_session_proto_rawDescGZIP(), []int{23}
1748}
1749
1750func (x *RouteNavigationFailure) GetKey() uint64 {
1751	if x != nil {
1752		return x.Key
1753	}
1754	return 0
1755}
1756
1757func (x *RouteNavigationFailure) GetGeneration() uint64 {
1758	if x != nil {
1759		return x.Generation
1760	}
1761	return 0
1762}
1763
1764func (x *RouteNavigationFailure) GetCode() uint32 {
1765	if x != nil {
1766		return x.Code
1767	}
1768	return 0
1769}
1770
1771// SessionCreationFailure reports a correlated pre-commit create failure.
1772type SessionCreationFailure struct {
1773	state         protoimpl.MessageState `protogen:"open.v1"`
1774	RequestId     uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1775	Code          uint32                 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // same taxonomy as RouteNavigationFailure.code
1776	unknownFields protoimpl.UnknownFields
1777	sizeCache     protoimpl.SizeCache
1778}
1779
1780func (x *SessionCreationFailure) Reset() {
1781	*x = SessionCreationFailure{}
1782	mi := &file_session_proto_msgTypes[24]
1783	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1784	ms.StoreMessageInfo(mi)
1785}
1786
1787func (x *SessionCreationFailure) String() string {
1788	return protoimpl.X.MessageStringOf(x)
1789}
1790
1791func (*SessionCreationFailure) ProtoMessage() {}
1792
1793func (x *SessionCreationFailure) ProtoReflect() protoreflect.Message {
1794	mi := &file_session_proto_msgTypes[24]
1795	if x != nil {
1796		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1797		if ms.LoadMessageInfo() == nil {
1798			ms.StoreMessageInfo(mi)
1799		}
1800		return ms
1801	}
1802	return mi.MessageOf(x)
1803}
1804
1805// Deprecated: Use SessionCreationFailure.ProtoReflect.Descriptor instead.
1806func (*SessionCreationFailure) Descriptor() ([]byte, []int) {
1807	return file_session_proto_rawDescGZIP(), []int{24}
1808}
1809
1810func (x *SessionCreationFailure) GetRequestId() uint64 {
1811	if x != nil {
1812		return x.RequestId
1813	}
1814	return 0
1815}
1816
1817func (x *SessionCreationFailure) GetCode() uint32 {
1818	if x != nil {
1819		return x.Code
1820	}
1821	return 0
1822}
1823
1824// RoutePosition is mutable per-client route state.
1825type RoutePosition struct {
1826	state         protoimpl.MessageState `protogen:"open.v1"`
1827	Target        *ExactTarget           `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
1828	ActiveTabId   string                 `protobuf:"bytes,2,opt,name=active_tab_id,json=activeTabId,proto3" json:"active_tab_id,omitempty"`
1829	unknownFields protoimpl.UnknownFields
1830	sizeCache     protoimpl.SizeCache
1831}
1832
1833func (x *RoutePosition) Reset() {
1834	*x = RoutePosition{}
1835	mi := &file_session_proto_msgTypes[25]
1836	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837	ms.StoreMessageInfo(mi)
1838}
1839
1840func (x *RoutePosition) String() string {
1841	return protoimpl.X.MessageStringOf(x)
1842}
1843
1844func (*RoutePosition) ProtoMessage() {}
1845
1846func (x *RoutePosition) ProtoReflect() protoreflect.Message {
1847	mi := &file_session_proto_msgTypes[25]
1848	if x != nil {
1849		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1850		if ms.LoadMessageInfo() == nil {
1851			ms.StoreMessageInfo(mi)
1852		}
1853		return ms
1854	}
1855	return mi.MessageOf(x)
1856}
1857
1858// Deprecated: Use RoutePosition.ProtoReflect.Descriptor instead.
1859func (*RoutePosition) Descriptor() ([]byte, []int) {
1860	return file_session_proto_rawDescGZIP(), []int{25}
1861}
1862
1863func (x *RoutePosition) GetTarget() *ExactTarget {
1864	if x != nil {
1865		return x.Target
1866	}
1867	return nil
1868}
1869
1870func (x *RoutePosition) GetActiveTabId() string {
1871	if x != nil {
1872		return x.ActiveTabId
1873	}
1874	return ""
1875}
1876
1877// RouteRetired invalidates one subscribed exact lifecycle.
1878type RouteRetired struct {
1879	state         protoimpl.MessageState `protogen:"open.v1"`
1880	Ref           *RouteRef              `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
1881	Target        *ExactTarget           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
1882	unknownFields protoimpl.UnknownFields
1883	sizeCache     protoimpl.SizeCache
1884}
1885
1886func (x *RouteRetired) Reset() {
1887	*x = RouteRetired{}
1888	mi := &file_session_proto_msgTypes[26]
1889	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1890	ms.StoreMessageInfo(mi)
1891}
1892
1893func (x *RouteRetired) String() string {
1894	return protoimpl.X.MessageStringOf(x)
1895}
1896
1897func (*RouteRetired) ProtoMessage() {}
1898
1899func (x *RouteRetired) ProtoReflect() protoreflect.Message {
1900	mi := &file_session_proto_msgTypes[26]
1901	if x != nil {
1902		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1903		if ms.LoadMessageInfo() == nil {
1904			ms.StoreMessageInfo(mi)
1905		}
1906		return ms
1907	}
1908	return mi.MessageOf(x)
1909}
1910
1911// Deprecated: Use RouteRetired.ProtoReflect.Descriptor instead.
1912func (*RouteRetired) Descriptor() ([]byte, []int) {
1913	return file_session_proto_rawDescGZIP(), []int{26}
1914}
1915
1916func (x *RouteRetired) GetRef() *RouteRef {
1917	if x != nil {
1918		return x.Ref
1919	}
1920	return nil
1921}
1922
1923func (x *RouteRetired) GetTarget() *ExactTarget {
1924	if x != nil {
1925		return x.Target
1926	}
1927	return nil
1928}
1929
1930// SamePeerSwitchRequest confirms a daemon-offered endpoint-empty target.
1931type SamePeerSwitchRequest struct {
1932	state          protoimpl.MessageState `protogen:"open.v1"`
1933	RequestId      uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1934	Target         *ExactTarget           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
1935	PreferredTabId string                 `protobuf:"bytes,3,opt,name=preferred_tab_id,json=preferredTabId,proto3" json:"preferred_tab_id,omitempty"`
1936	unknownFields  protoimpl.UnknownFields
1937	sizeCache      protoimpl.SizeCache
1938}
1939
1940func (x *SamePeerSwitchRequest) Reset() {
1941	*x = SamePeerSwitchRequest{}
1942	mi := &file_session_proto_msgTypes[27]
1943	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1944	ms.StoreMessageInfo(mi)
1945}
1946
1947func (x *SamePeerSwitchRequest) String() string {
1948	return protoimpl.X.MessageStringOf(x)
1949}
1950
1951func (*SamePeerSwitchRequest) ProtoMessage() {}
1952
1953func (x *SamePeerSwitchRequest) ProtoReflect() protoreflect.Message {
1954	mi := &file_session_proto_msgTypes[27]
1955	if x != nil {
1956		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1957		if ms.LoadMessageInfo() == nil {
1958			ms.StoreMessageInfo(mi)
1959		}
1960		return ms
1961	}
1962	return mi.MessageOf(x)
1963}
1964
1965// Deprecated: Use SamePeerSwitchRequest.ProtoReflect.Descriptor instead.
1966func (*SamePeerSwitchRequest) Descriptor() ([]byte, []int) {
1967	return file_session_proto_rawDescGZIP(), []int{27}
1968}
1969
1970func (x *SamePeerSwitchRequest) GetRequestId() uint64 {
1971	if x != nil {
1972		return x.RequestId
1973	}
1974	return 0
1975}
1976
1977func (x *SamePeerSwitchRequest) GetTarget() *ExactTarget {
1978	if x != nil {
1979		return x.Target
1980	}
1981	return nil
1982}
1983
1984func (x *SamePeerSwitchRequest) GetPreferredTabId() string {
1985	if x != nil {
1986		return x.PreferredTabId
1987	}
1988	return ""
1989}
1990
1991// SamePeerSwitchFailure leaves the source attachment unchanged.
1992type SamePeerSwitchFailure struct {
1993	state     protoimpl.MessageState `protogen:"open.v1"`
1994	RequestId uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
1995	// Closed code taxonomy: 1 = stale target, 2 = unavailable.
1996	Code          uint32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
1997	unknownFields protoimpl.UnknownFields
1998	sizeCache     protoimpl.SizeCache
1999}
2000
2001func (x *SamePeerSwitchFailure) Reset() {
2002	*x = SamePeerSwitchFailure{}
2003	mi := &file_session_proto_msgTypes[28]
2004	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2005	ms.StoreMessageInfo(mi)
2006}
2007
2008func (x *SamePeerSwitchFailure) String() string {
2009	return protoimpl.X.MessageStringOf(x)
2010}
2011
2012func (*SamePeerSwitchFailure) ProtoMessage() {}
2013
2014func (x *SamePeerSwitchFailure) ProtoReflect() protoreflect.Message {
2015	mi := &file_session_proto_msgTypes[28]
2016	if x != nil {
2017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2018		if ms.LoadMessageInfo() == nil {
2019			ms.StoreMessageInfo(mi)
2020		}
2021		return ms
2022	}
2023	return mi.MessageOf(x)
2024}
2025
2026// Deprecated: Use SamePeerSwitchFailure.ProtoReflect.Descriptor instead.
2027func (*SamePeerSwitchFailure) Descriptor() ([]byte, []int) {
2028	return file_session_proto_rawDescGZIP(), []int{28}
2029}
2030
2031func (x *SamePeerSwitchFailure) GetRequestId() uint64 {
2032	if x != nil {
2033		return x.RequestId
2034	}
2035	return 0
2036}
2037
2038func (x *SamePeerSwitchFailure) GetCode() uint32 {
2039	if x != nil {
2040		return x.Code
2041	}
2042	return 0
2043}
2044
2045// SuspendAttachment requests an acknowledged passive publication barrier.
2046type SuspendAttachment struct {
2047	state         protoimpl.MessageState `protogen:"open.v1"`
2048	RequestId     uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
2049	unknownFields protoimpl.UnknownFields
2050	sizeCache     protoimpl.SizeCache
2051}
2052
2053func (x *SuspendAttachment) Reset() {
2054	*x = SuspendAttachment{}
2055	mi := &file_session_proto_msgTypes[29]
2056	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2057	ms.StoreMessageInfo(mi)
2058}
2059
2060func (x *SuspendAttachment) String() string {
2061	return protoimpl.X.MessageStringOf(x)
2062}
2063
2064func (*SuspendAttachment) ProtoMessage() {}
2065
2066func (x *SuspendAttachment) ProtoReflect() protoreflect.Message {
2067	mi := &file_session_proto_msgTypes[29]
2068	if x != nil {
2069		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2070		if ms.LoadMessageInfo() == nil {
2071			ms.StoreMessageInfo(mi)
2072		}
2073		return ms
2074	}
2075	return mi.MessageOf(x)
2076}
2077
2078// Deprecated: Use SuspendAttachment.ProtoReflect.Descriptor instead.
2079func (*SuspendAttachment) Descriptor() ([]byte, []int) {
2080	return file_session_proto_rawDescGZIP(), []int{29}
2081}
2082
2083func (x *SuspendAttachment) GetRequestId() uint64 {
2084	if x != nil {
2085		return x.RequestId
2086	}
2087	return 0
2088}
2089
2090// AttachmentSuspended is sent only after authority revocation and output drain.
2091type AttachmentSuspended struct {
2092	state         protoimpl.MessageState `protogen:"open.v1"`
2093	RequestId     uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
2094	Target        *ExactTarget           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
2095	unknownFields protoimpl.UnknownFields
2096	sizeCache     protoimpl.SizeCache
2097}
2098
2099func (x *AttachmentSuspended) Reset() {
2100	*x = AttachmentSuspended{}
2101	mi := &file_session_proto_msgTypes[30]
2102	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2103	ms.StoreMessageInfo(mi)
2104}
2105
2106func (x *AttachmentSuspended) String() string {
2107	return protoimpl.X.MessageStringOf(x)
2108}
2109
2110func (*AttachmentSuspended) ProtoMessage() {}
2111
2112func (x *AttachmentSuspended) ProtoReflect() protoreflect.Message {
2113	mi := &file_session_proto_msgTypes[30]
2114	if x != nil {
2115		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2116		if ms.LoadMessageInfo() == nil {
2117			ms.StoreMessageInfo(mi)
2118		}
2119		return ms
2120	}
2121	return mi.MessageOf(x)
2122}
2123
2124// Deprecated: Use AttachmentSuspended.ProtoReflect.Descriptor instead.
2125func (*AttachmentSuspended) Descriptor() ([]byte, []int) {
2126	return file_session_proto_rawDescGZIP(), []int{30}
2127}
2128
2129func (x *AttachmentSuspended) GetRequestId() uint64 {
2130	if x != nil {
2131		return x.RequestId
2132	}
2133	return 0
2134}
2135
2136func (x *AttachmentSuspended) GetTarget() *ExactTarget {
2137	if x != nil {
2138		return x.Target
2139	}
2140	return nil
2141}
2142
2143// ActivateAttachment targets only the suspended attachment's retained lifecycle.
2144type ActivateAttachment struct {
2145	state         protoimpl.MessageState `protogen:"open.v1"`
2146	RequestId     uint64                 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
2147	Target        *ExactTarget           `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
2148	Cols          uint32                 `protobuf:"varint,3,opt,name=cols,proto3" json:"cols,omitempty"`
2149	Rows          uint32                 `protobuf:"varint,4,opt,name=rows,proto3" json:"rows,omitempty"`
2150	PixelWidth    uint32                 `protobuf:"varint,5,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
2151	PixelHeight   uint32                 `protobuf:"varint,6,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
2152	unknownFields protoimpl.UnknownFields
2153	sizeCache     protoimpl.SizeCache
2154}
2155
2156func (x *ActivateAttachment) Reset() {
2157	*x = ActivateAttachment{}
2158	mi := &file_session_proto_msgTypes[31]
2159	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2160	ms.StoreMessageInfo(mi)
2161}
2162
2163func (x *ActivateAttachment) String() string {
2164	return protoimpl.X.MessageStringOf(x)
2165}
2166
2167func (*ActivateAttachment) ProtoMessage() {}
2168
2169func (x *ActivateAttachment) ProtoReflect() protoreflect.Message {
2170	mi := &file_session_proto_msgTypes[31]
2171	if x != nil {
2172		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2173		if ms.LoadMessageInfo() == nil {
2174			ms.StoreMessageInfo(mi)
2175		}
2176		return ms
2177	}
2178	return mi.MessageOf(x)
2179}
2180
2181// Deprecated: Use ActivateAttachment.ProtoReflect.Descriptor instead.
2182func (*ActivateAttachment) Descriptor() ([]byte, []int) {
2183	return file_session_proto_rawDescGZIP(), []int{31}
2184}
2185
2186func (x *ActivateAttachment) GetRequestId() uint64 {
2187	if x != nil {
2188		return x.RequestId
2189	}
2190	return 0
2191}
2192
2193func (x *ActivateAttachment) GetTarget() *ExactTarget {
2194	if x != nil {
2195		return x.Target
2196	}
2197	return nil
2198}
2199
2200func (x *ActivateAttachment) GetCols() uint32 {
2201	if x != nil {
2202		return x.Cols
2203	}
2204	return 0
2205}
2206
2207func (x *ActivateAttachment) GetRows() uint32 {
2208	if x != nil {
2209		return x.Rows
2210	}
2211	return 0
2212}
2213
2214func (x *ActivateAttachment) GetPixelWidth() uint32 {
2215	if x != nil {
2216		return x.PixelWidth
2217	}
2218	return 0
2219}
2220
2221func (x *ActivateAttachment) GetPixelHeight() uint32 {
2222	if x != nil {
2223		return x.PixelHeight
2224	}
2225	return 0
2226}
2227
2228// AttachmentActivated follows a full Output and changed RoutePosition on a
2229// fresh epoch. The identity and epoch/state/publication fence must match that
2230// Output before input resumes.
2231type AttachmentActivated struct {
2232	state           protoimpl.MessageState  `protogen:"open.v1"`
2233	RequestId       uint64                  `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
2234	Identity        *CommittedRouteIdentity `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
2235	Epoch           uint64                  `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty"`
2236	State           uint64                  `protobuf:"varint,4,opt,name=state,proto3" json:"state,omitempty"`
2237	ViewPublication uint64                  `protobuf:"varint,5,opt,name=view_publication,json=viewPublication,proto3" json:"view_publication,omitempty"`
2238	unknownFields   protoimpl.UnknownFields
2239	sizeCache       protoimpl.SizeCache
2240}
2241
2242func (x *AttachmentActivated) Reset() {
2243	*x = AttachmentActivated{}
2244	mi := &file_session_proto_msgTypes[32]
2245	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2246	ms.StoreMessageInfo(mi)
2247}
2248
2249func (x *AttachmentActivated) String() string {
2250	return protoimpl.X.MessageStringOf(x)
2251}
2252
2253func (*AttachmentActivated) ProtoMessage() {}
2254
2255func (x *AttachmentActivated) ProtoReflect() protoreflect.Message {
2256	mi := &file_session_proto_msgTypes[32]
2257	if x != nil {
2258		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2259		if ms.LoadMessageInfo() == nil {
2260			ms.StoreMessageInfo(mi)
2261		}
2262		return ms
2263	}
2264	return mi.MessageOf(x)
2265}
2266
2267// Deprecated: Use AttachmentActivated.ProtoReflect.Descriptor instead.
2268func (*AttachmentActivated) Descriptor() ([]byte, []int) {
2269	return file_session_proto_rawDescGZIP(), []int{32}
2270}
2271
2272func (x *AttachmentActivated) GetRequestId() uint64 {
2273	if x != nil {
2274		return x.RequestId
2275	}
2276	return 0
2277}
2278
2279func (x *AttachmentActivated) GetIdentity() *CommittedRouteIdentity {
2280	if x != nil {
2281		return x.Identity
2282	}
2283	return nil
2284}
2285
2286func (x *AttachmentActivated) GetEpoch() uint64 {
2287	if x != nil {
2288		return x.Epoch
2289	}
2290	return 0
2291}
2292
2293func (x *AttachmentActivated) GetState() uint64 {
2294	if x != nil {
2295		return x.State
2296	}
2297	return 0
2298}
2299
2300func (x *AttachmentActivated) GetViewPublication() uint64 {
2301	if x != nil {
2302		return x.ViewPublication
2303	}
2304	return 0
2305}
2306
2307var File_session_proto protoreflect.FileDescriptor
2308
2309const file_session_proto_rawDesc = "" +
2310	"\n" +
2311	"\rsession.proto\x12\vvev.wire.v1\x1a\fcommon.proto\"\x97\a\n" +
2312	"\x05Hello\x12\x18\n" +
2313	"\aversion\x18\x01 \x01(\rR\aversion\x12\x16\n" +
2314	"\x06intent\x18\x02 \x01(\rR\x06intent\x12\x1b\n" +
2315	"\tclient_id\x18\x03 \x01(\fR\bclientId\x12!\n" +
2316	"\fresume_token\x18\x04 \x01(\x04R\vresumeToken\x12\x12\n" +
2317	"\x04name\x18\x05 \x01(\tR\x04name\x12\x12\n" +
2318	"\x04cols\x18\x06 \x01(\rR\x04cols\x12\x12\n" +
2319	"\x04rows\x18\a \x01(\rR\x04rows\x12\x1f\n" +
2320	"\vpixel_width\x18\b \x01(\rR\n" +
2321	"pixelWidth\x12!\n" +
2322	"\fpixel_height\x18\t \x01(\rR\vpixelHeight\x12\x19\n" +
2323	"\bterm_env\x18\n" +
2324	" \x01(\tR\atermEnv\x12\x10\n" +
2325	"\x03cwd\x18\v \x01(\tR\x03cwd\x12/\n" +
2326	"\x14max_output_in_flight\x18\r \x01(\rR\x11maxOutputInFlight\x12\x10\n" +
2327	"\x03env\x18\x0e \x03(\tR\x03env\x12-\n" +
2328	"\x12environment_policy\x18\x10 \x01(\rR\x11environmentPolicy\x12;\n" +
2329	"\fexact_target\x18\x11 \x01(\v2\x18.vev.wire.v1.ExactTargetR\vexactTarget\x12(\n" +
2330	"\x10preferred_tab_id\x18\x12 \x01(\tR\x0epreferredTabId\x127\n" +
2331	"\x17navigation_capabilities\x18\x13 \x01(\rR\x16navigationCapabilities\x12\x16\n" +
2332	"\x06remote\x18\x14 \x01(\bR\x06remote\x122\n" +
2333	"\x15kitty_direct_graphics\x18\x15 \x01(\bR\x13kittyDirectGraphics\x12G\n" +
2334	"\x0esession_target\x18\x16 \x01(\v2 .vev.wire.v1.SessionAttachTargetR\rsessionTarget\x12%\n" +
2335	"\x0ekitty_keyboard\x18\x17 \x01(\bR\rkittyKeyboard\x12%\n" +
2336	"\x0eterminal_focus\x18\x18 \x01(\rR\rterminalFocus\x12\x1d\n" +
2337	"\n" +
2338	"client_pid\x18\x19 \x01(\rR\tclientPid\x124\n" +
2339	"\x05color\x18\x1a \x01(\v2\x1e.vev.wire.v1.ColorCapabilitiesR\x05colorJ\x04\b\f\x10\rJ\x04\b\x0f\x10\x10R\n" +
2340	"true_colorR\rremote_target\"\x84\x02\n" +
2341	"\aWelcome\x12\x1d\n" +
2342	"\n" +
2343	"session_id\x18\x01 \x01(\tR\tsessionId\x12!\n" +
2344	"\fsession_name\x18\x02 \x01(\tR\vsessionName\x12\x1c\n" +
2345	"\tephemeral\x18\x03 \x01(\bR\tephemeral\x12!\n" +
2346	"\fresume_token\x18\x04 \x01(\x04R\vresumeToken\x12\"\n" +
2347	"\fcapabilities\x18\x05 \x01(\rR\fcapabilities\x12R\n" +
2348	"\x12committed_identity\x18\x06 \x01(\v2#.vev.wire.v1.CommittedRouteIdentityR\x11committedIdentity\"2\n" +
2349	"\bErrorMsg\x12\x12\n" +
2350	"\x04code\x18\x01 \x01(\rR\x04code\x12\x12\n" +
2351	"\x04text\x18\x02 \x01(\tR\x04text\"h\n" +
2352	"\x16CommittedRouteIdentity\x120\n" +
2353	"\x06target\x18\x01 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12\x1c\n" +
2354	"\tephemeral\x18\x02 \x01(\bR\tephemeral\"\xb4\x03\n" +
2355	"\fAttachTarget\x12\x1d\n" +
2356	"\n" +
2357	"request_id\x18\x01 \x01(\x04R\trequestId\x12\x1a\n" +
2358	"\bendpoint\x18\x02 \x01(\tR\bendpoint\x12\x18\n" +
2359	"\asession\x18\x03 \x01(\tR\asession\x12\x16\n" +
2360	"\x06intent\x18\x04 \x01(\rR\x06intent\x12-\n" +
2361	"\x12environment_policy\x18\x06 \x01(\rR\x11environmentPolicy\x12;\n" +
2362	"\fexact_target\x18\a \x01(\v2\x18.vev.wire.v1.ExactTargetR\vexactTarget\x12\x1b\n" +
2363	"\tsame_peer\x18\b \x01(\bR\bsamePeer\x12(\n" +
2364	"\x10preferred_tab_id\x18\t \x01(\tR\x0epreferredTabId\x12&\n" +
2365	"\x0fcause_action_id\x18\n" +
2366	" \x01(\x04R\rcauseActionId\x12G\n" +
2367	"\x0esession_target\x18\v \x01(\v2 .vev.wire.v1.SessionAttachTargetR\rsessionTargetJ\x04\b\x05\x10\x06R\rremote_target\"\xa4\x01\n" +
2368	"\vSessionInfo\x12\x1d\n" +
2369	"\n" +
2370	"session_id\x18\x01 \x01(\tR\tsessionId\x12\x12\n" +
2371	"\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" +
2372	"\x05state\x18\x03 \x01(\rR\x05state\x12\x1c\n" +
2373	"\tephemeral\x18\x04 \x01(\bR\tephemeral\x12\x12\n" +
2374	"\x04tabs\x18\x05 \x01(\rR\x04tabs\x12\x1a\n" +
2375	"\battached\x18\x06 \x01(\bR\battached\"@\n" +
2376	"\bSessions\x124\n" +
2377	"\bsessions\x18\x01 \x03(\v2\x18.vev.wire.v1.SessionInfoR\bsessions\"O\n" +
2378	"\x04Kill\x12\x12\n" +
2379	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
2380	"\x05scope\x18\x02 \x01(\rR\x05scope\x12\x1d\n" +
2381	"\n" +
2382	"request_id\x18\x03 \x01(\x04R\trequestId\"K\n" +
2383	"\vKillFailure\x12\x14\n" +
2384	"\x05class\x18\x01 \x01(\tR\x05class\x12\x12\n" +
2385	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
2386	"\x04text\x18\x03 \x01(\tR\x04text\"\xa3\x01\n" +
2387	"\n" +
2388	"KillResult\x12\x1d\n" +
2389	"\n" +
2390	"request_id\x18\x01 \x01(\x04R\trequestId\x12\x18\n" +
2391	"\aoutcome\x18\x02 \x01(\rR\aoutcome\x12\x12\n" +
2392	"\x04code\x18\x03 \x01(\rR\x04code\x12\x12\n" +
2393	"\x04text\x18\x04 \x01(\tR\x04text\x124\n" +
2394	"\bfailures\x18\x05 \x03(\v2\x18.vev.wire.v1.KillFailureR\bfailures\"\"\n" +
2395	"\bDetached\x12\x16\n" +
2396	"\x06reason\x18\x01 \x01(\rR\x06reason\" \n" +
2397	"\x06Detach\x12\x16\n" +
2398	"\x06closed\x18\x01 \x01(\bR\x06closed\"\x06\n" +
2399	"\x04Ping\"\x06\n" +
2400	"\x04Pong\"\x06\n" +
2401	"\x04List\"<\n" +
2402	"\bRouteRef\x12\x10\n" +
2403	"\x03key\x18\x01 \x01(\x04R\x03key\x12\x1e\n" +
2404	"\n" +
2405	"generation\x18\x02 \x01(\x04R\n" +
2406	"generation\"\x90\x01\n" +
2407	"\x14RouteAttentionTarget\x12'\n" +
2408	"\x03ref\x18\x01 \x01(\v2\x15.vev.wire.v1.RouteRefR\x03ref\x120\n" +
2409	"\x06target\x18\x02 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12\x1d\n" +
2410	"\n" +
2411	"source_key\x18\x03 \x01(\tR\tsourceKey\"Y\n" +
2412	"\x1aRouteAttentionSubscription\x12;\n" +
2413	"\atargets\x18\x01 \x03(\v2!.vev.wire.v1.RouteAttentionTargetR\atargets\"\xdc\x02\n" +
2414	"\x10RecentRouteEntry\x12\x10\n" +
2415	"\x03key\x18\x01 \x01(\x04R\x03key\x12\x1e\n" +
2416	"\n" +
2417	"generation\x18\x02 \x01(\x04R\n" +
2418	"generation\x120\n" +
2419	"\x06target\x18\x03 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12\x12\n" +
2420	"\x04name\x18\x04 \x01(\tR\x04name\x12\x1d\n" +
2421	"\n" +
2422	"host_label\x18\x05 \x01(\tR\thostLabel\x12\x12\n" +
2423	"\x04kind\x18\x06 \x01(\rR\x04kind\x12\x1c\n" +
2424	"\tephemeral\x18\a \x01(\bR\tephemeral\x12\x1c\n" +
2425	"\tattention\x18\b \x01(\bR\tattention\x12\"\n" +
2426	"\freachability\x18\t \x01(\rR\freachability\x12#\n" +
2427	"\rattention_seq\x18\n" +
2428	" \x01(\x04R\fattentionSeq\x12\x18\n" +
2429	"\avisited\x18\v \x01(\bR\avisited\"g\n" +
2430	"\tRouteHost\x12\x10\n" +
2431	"\x03key\x18\x01 \x01(\x04R\x03key\x12\x1e\n" +
2432	"\n" +
2433	"generation\x18\x02 \x01(\x04R\n" +
2434	"generation\x12\x14\n" +
2435	"\x05label\x18\x03 \x01(\tR\x05label\x12\x12\n" +
2436	"\x04kind\x18\x04 \x01(\rR\x04kind\"\xeb\x02\n" +
2437	"\x13RecentRouteSnapshot\x12\x1e\n" +
2438	"\n" +
2439	"generation\x18\x01 \x01(\x04R\n" +
2440	"generation\x12-\n" +
2441	"\x06active\x18\x02 \x01(\v2\x15.vev.wire.v1.RouteRefR\x06active\x12@\n" +
2442	"\factive_entry\x18\x03 \x01(\v2\x1d.vev.wire.v1.RecentRouteEntryR\vactiveEntry\x121\n" +
2443	"\bprevious\x18\x04 \x01(\v2\x15.vev.wire.v1.RouteRefR\bprevious\x12)\n" +
2444	"\x04home\x18\x05 \x01(\v2\x15.vev.wire.v1.RouteRefR\x04home\x127\n" +
2445	"\aentries\x18\x06 \x03(\v2\x1d.vev.wire.v1.RecentRouteEntryR\aentries\x12,\n" +
2446	"\x05hosts\x18\a \x03(\v2\x16.vev.wire.v1.RouteHostR\x05hosts\"\xa2\x01\n" +
2447	"\x15RouteNavigationAction\x12&\n" +
2448	"\x0fcause_action_id\x18\x01 \x01(\x04R\rcauseActionId\x12/\n" +
2449	"\x13snapshot_generation\x18\x02 \x01(\x04R\x12snapshotGeneration\x12\x10\n" +
2450	"\x03key\x18\x03 \x01(\x04R\x03key\x12\x1e\n" +
2451	"\n" +
2452	"generation\x18\x04 \x01(\x04R\n" +
2453	"generation\"\xe7\x01\n" +
2454	"\x18RouteCreateSessionAction\x12&\n" +
2455	"\x0fcause_action_id\x18\x01 \x01(\x04R\rcauseActionId\x12\x1d\n" +
2456	"\n" +
2457	"request_id\x18\x02 \x01(\x04R\trequestId\x12/\n" +
2458	"\x13snapshot_generation\x18\x03 \x01(\x04R\x12snapshotGeneration\x12\x10\n" +
2459	"\x03key\x18\x04 \x01(\x04R\x03key\x12\x1e\n" +
2460	"\n" +
2461	"generation\x18\x05 \x01(\x04R\n" +
2462	"generation\x12!\n" +
2463	"\fsession_name\x18\x06 \x01(\tR\vsessionName\"^\n" +
2464	"\x16RouteNavigationFailure\x12\x10\n" +
2465	"\x03key\x18\x01 \x01(\x04R\x03key\x12\x1e\n" +
2466	"\n" +
2467	"generation\x18\x02 \x01(\x04R\n" +
2468	"generation\x12\x12\n" +
2469	"\x04code\x18\x03 \x01(\rR\x04code\"K\n" +
2470	"\x16SessionCreationFailure\x12\x1d\n" +
2471	"\n" +
2472	"request_id\x18\x01 \x01(\x04R\trequestId\x12\x12\n" +
2473	"\x04code\x18\x02 \x01(\rR\x04code\"e\n" +
2474	"\rRoutePosition\x120\n" +
2475	"\x06target\x18\x01 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12\"\n" +
2476	"\ractive_tab_id\x18\x02 \x01(\tR\vactiveTabId\"i\n" +
2477	"\fRouteRetired\x12'\n" +
2478	"\x03ref\x18\x01 \x01(\v2\x15.vev.wire.v1.RouteRefR\x03ref\x120\n" +
2479	"\x06target\x18\x02 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\"\x92\x01\n" +
2480	"\x15SamePeerSwitchRequest\x12\x1d\n" +
2481	"\n" +
2482	"request_id\x18\x01 \x01(\x04R\trequestId\x120\n" +
2483	"\x06target\x18\x02 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12(\n" +
2484	"\x10preferred_tab_id\x18\x03 \x01(\tR\x0epreferredTabId\"J\n" +
2485	"\x15SamePeerSwitchFailure\x12\x1d\n" +
2486	"\n" +
2487	"request_id\x18\x01 \x01(\x04R\trequestId\x12\x12\n" +
2488	"\x04code\x18\x02 \x01(\rR\x04code\"2\n" +
2489	"\x11SuspendAttachment\x12\x1d\n" +
2490	"\n" +
2491	"request_id\x18\x01 \x01(\x04R\trequestId\"f\n" +
2492	"\x13AttachmentSuspended\x12\x1d\n" +
2493	"\n" +
2494	"request_id\x18\x01 \x01(\x04R\trequestId\x120\n" +
2495	"\x06target\x18\x02 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\"\xd1\x01\n" +
2496	"\x12ActivateAttachment\x12\x1d\n" +
2497	"\n" +
2498	"request_id\x18\x01 \x01(\x04R\trequestId\x120\n" +
2499	"\x06target\x18\x02 \x01(\v2\x18.vev.wire.v1.ExactTargetR\x06target\x12\x12\n" +
2500	"\x04cols\x18\x03 \x01(\rR\x04cols\x12\x12\n" +
2501	"\x04rows\x18\x04 \x01(\rR\x04rows\x12\x1f\n" +
2502	"\vpixel_width\x18\x05 \x01(\rR\n" +
2503	"pixelWidth\x12!\n" +
2504	"\fpixel_height\x18\x06 \x01(\rR\vpixelHeight\"\xcc\x01\n" +
2505	"\x13AttachmentActivated\x12\x1d\n" +
2506	"\n" +
2507	"request_id\x18\x01 \x01(\x04R\trequestId\x12?\n" +
2508	"\bidentity\x18\x02 \x01(\v2#.vev.wire.v1.CommittedRouteIdentityR\bidentity\x12\x14\n" +
2509	"\x05epoch\x18\x03 \x01(\x04R\x05epoch\x12\x14\n" +
2510	"\x05state\x18\x04 \x01(\x04R\x05state\x12)\n" +
2511	"\x10view_publication\x18\x05 \x01(\x04R\x0fviewPublicationB-Z+github.com/bnema/vev/internal/protocol/wireb\x06proto3"
2512
2513var (
2514	file_session_proto_rawDescOnce sync.Once
2515	file_session_proto_rawDescData []byte
2516)
2517
2518func file_session_proto_rawDescGZIP() []byte {
2519	file_session_proto_rawDescOnce.Do(func() {
2520		file_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_session_proto_rawDesc), len(file_session_proto_rawDesc)))
2521	})
2522	return file_session_proto_rawDescData
2523}
2524
2525var file_session_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
2526var file_session_proto_goTypes = []any{
2527	(*Hello)(nil),                      // 0: vev.wire.v1.Hello
2528	(*Welcome)(nil),                    // 1: vev.wire.v1.Welcome
2529	(*ErrorMsg)(nil),                   // 2: vev.wire.v1.ErrorMsg
2530	(*CommittedRouteIdentity)(nil),     // 3: vev.wire.v1.CommittedRouteIdentity
2531	(*AttachTarget)(nil),               // 4: vev.wire.v1.AttachTarget
2532	(*SessionInfo)(nil),                // 5: vev.wire.v1.SessionInfo
2533	(*Sessions)(nil),                   // 6: vev.wire.v1.Sessions
2534	(*Kill)(nil),                       // 7: vev.wire.v1.Kill
2535	(*KillFailure)(nil),                // 8: vev.wire.v1.KillFailure
2536	(*KillResult)(nil),                 // 9: vev.wire.v1.KillResult
2537	(*Detached)(nil),                   // 10: vev.wire.v1.Detached
2538	(*Detach)(nil),                     // 11: vev.wire.v1.Detach
2539	(*Ping)(nil),                       // 12: vev.wire.v1.Ping
2540	(*Pong)(nil),                       // 13: vev.wire.v1.Pong
2541	(*List)(nil),                       // 14: vev.wire.v1.List
2542	(*RouteRef)(nil),                   // 15: vev.wire.v1.RouteRef
2543	(*RouteAttentionTarget)(nil),       // 16: vev.wire.v1.RouteAttentionTarget
2544	(*RouteAttentionSubscription)(nil), // 17: vev.wire.v1.RouteAttentionSubscription
2545	(*RecentRouteEntry)(nil),           // 18: vev.wire.v1.RecentRouteEntry
2546	(*RouteHost)(nil),                  // 19: vev.wire.v1.RouteHost
2547	(*RecentRouteSnapshot)(nil),        // 20: vev.wire.v1.RecentRouteSnapshot
2548	(*RouteNavigationAction)(nil),      // 21: vev.wire.v1.RouteNavigationAction
2549	(*RouteCreateSessionAction)(nil),   // 22: vev.wire.v1.RouteCreateSessionAction
2550	(*RouteNavigationFailure)(nil),     // 23: vev.wire.v1.RouteNavigationFailure
2551	(*SessionCreationFailure)(nil),     // 24: vev.wire.v1.SessionCreationFailure
2552	(*RoutePosition)(nil),              // 25: vev.wire.v1.RoutePosition
2553	(*RouteRetired)(nil),               // 26: vev.wire.v1.RouteRetired
2554	(*SamePeerSwitchRequest)(nil),      // 27: vev.wire.v1.SamePeerSwitchRequest
2555	(*SamePeerSwitchFailure)(nil),      // 28: vev.wire.v1.SamePeerSwitchFailure
2556	(*SuspendAttachment)(nil),          // 29: vev.wire.v1.SuspendAttachment
2557	(*AttachmentSuspended)(nil),        // 30: vev.wire.v1.AttachmentSuspended
2558	(*ActivateAttachment)(nil),         // 31: vev.wire.v1.ActivateAttachment
2559	(*AttachmentActivated)(nil),        // 32: vev.wire.v1.AttachmentActivated
2560	(*ExactTarget)(nil),                // 33: vev.wire.v1.ExactTarget
2561	(*SessionAttachTarget)(nil),        // 34: vev.wire.v1.SessionAttachTarget
2562	(*ColorCapabilities)(nil),          // 35: vev.wire.v1.ColorCapabilities
2563}
2564var file_session_proto_depIdxs = []int32{
2565	33, // 0: vev.wire.v1.Hello.exact_target:type_name -> vev.wire.v1.ExactTarget
2566	34, // 1: vev.wire.v1.Hello.session_target:type_name -> vev.wire.v1.SessionAttachTarget
2567	35, // 2: vev.wire.v1.Hello.color:type_name -> vev.wire.v1.ColorCapabilities
2568	3,  // 3: vev.wire.v1.Welcome.committed_identity:type_name -> vev.wire.v1.CommittedRouteIdentity
2569	33, // 4: vev.wire.v1.CommittedRouteIdentity.target:type_name -> vev.wire.v1.ExactTarget
2570	33, // 5: vev.wire.v1.AttachTarget.exact_target:type_name -> vev.wire.v1.ExactTarget
2571	34, // 6: vev.wire.v1.AttachTarget.session_target:type_name -> vev.wire.v1.SessionAttachTarget
2572	5,  // 7: vev.wire.v1.Sessions.sessions:type_name -> vev.wire.v1.SessionInfo
2573	8,  // 8: vev.wire.v1.KillResult.failures:type_name -> vev.wire.v1.KillFailure
2574	15, // 9: vev.wire.v1.RouteAttentionTarget.ref:type_name -> vev.wire.v1.RouteRef
2575	33, // 10: vev.wire.v1.RouteAttentionTarget.target:type_name -> vev.wire.v1.ExactTarget
2576	16, // 11: vev.wire.v1.RouteAttentionSubscription.targets:type_name -> vev.wire.v1.RouteAttentionTarget
2577	33, // 12: vev.wire.v1.RecentRouteEntry.target:type_name -> vev.wire.v1.ExactTarget
2578	15, // 13: vev.wire.v1.RecentRouteSnapshot.active:type_name -> vev.wire.v1.RouteRef
2579	18, // 14: vev.wire.v1.RecentRouteSnapshot.active_entry:type_name -> vev.wire.v1.RecentRouteEntry
2580	15, // 15: vev.wire.v1.RecentRouteSnapshot.previous:type_name -> vev.wire.v1.RouteRef
2581	15, // 16: vev.wire.v1.RecentRouteSnapshot.home:type_name -> vev.wire.v1.RouteRef
2582	18, // 17: vev.wire.v1.RecentRouteSnapshot.entries:type_name -> vev.wire.v1.RecentRouteEntry
2583	19, // 18: vev.wire.v1.RecentRouteSnapshot.hosts:type_name -> vev.wire.v1.RouteHost
2584	33, // 19: vev.wire.v1.RoutePosition.target:type_name -> vev.wire.v1.ExactTarget
2585	15, // 20: vev.wire.v1.RouteRetired.ref:type_name -> vev.wire.v1.RouteRef
2586	33, // 21: vev.wire.v1.RouteRetired.target:type_name -> vev.wire.v1.ExactTarget
2587	33, // 22: vev.wire.v1.SamePeerSwitchRequest.target:type_name -> vev.wire.v1.ExactTarget
2588	33, // 23: vev.wire.v1.AttachmentSuspended.target:type_name -> vev.wire.v1.ExactTarget
2589	33, // 24: vev.wire.v1.ActivateAttachment.target:type_name -> vev.wire.v1.ExactTarget
2590	3,  // 25: vev.wire.v1.AttachmentActivated.identity:type_name -> vev.wire.v1.CommittedRouteIdentity
2591	26, // [26:26] is the sub-list for method output_type
2592	26, // [26:26] is the sub-list for method input_type
2593	26, // [26:26] is the sub-list for extension type_name
2594	26, // [26:26] is the sub-list for extension extendee
2595	0,  // [0:26] is the sub-list for field type_name
2596}
2597
2598func init() { file_session_proto_init() }
2599func file_session_proto_init() {
2600	if File_session_proto != nil {
2601		return
2602	}
2603	file_common_proto_init()
2604	type x struct{}
2605	out := protoimpl.TypeBuilder{
2606		File: protoimpl.DescBuilder{
2607			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2608			RawDescriptor: unsafe.Slice(unsafe.StringData(file_session_proto_rawDesc), len(file_session_proto_rawDesc)),
2609			NumEnums:      0,
2610			NumMessages:   33,
2611			NumExtensions: 0,
2612			NumServices:   0,
2613		},
2614		GoTypes:           file_session_proto_goTypes,
2615		DependencyIndexes: file_session_proto_depIdxs,
2616		MessageInfos:      file_session_proto_msgTypes,
2617	}.Build()
2618	File_session_proto = out.File
2619	file_session_proto_goTypes = nil
2620	file_session_proto_depIdxs = nil
2621}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close