Documentation
¶
Index ¶
- Constants
- Variables
- func LookupCreateChatChannelOp(ctx context.Context, operationTypeID string) (world.Operation, error)
- func LookupInitChatDemoOp(ctx context.Context, opTypeID string) (world.Operation, error)
- func NewChatChannelBlock() block.Block
- func NewChatMessageBlock() block.Block
- func NewChatMessagePageBlock() block.Block
- func NewCreateChatChannelOpBlock() block.Block
- func NewInitChatDemoOpBlock() block.Block
- type ChatChannel
- func (m *ChatChannel) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *ChatChannel) CloneVT() *ChatChannel
- func (this *ChatChannel) EqualMessageVT(thatMsg any) bool
- func (this *ChatChannel) EqualVT(that *ChatChannel) bool
- func (x *ChatChannel) GetCreatedAt() *timestamppb.Timestamp
- func (x *ChatChannel) GetCreatorPeerId() string
- func (x *ChatChannel) GetEncryptionAlgorithm() string
- func (x *ChatChannel) GetMessageCount() uint64
- func (x *ChatChannel) GetName() string
- func (x *ChatChannel) GetReadPositions() map[string]*state.ChatReadPosition
- func (x *ChatChannel) GetTopic() string
- func (c *ChatChannel) MarshalBlock() ([]byte, error)
- func (x *ChatChannel) MarshalJSON() ([]byte, error)
- func (x *ChatChannel) MarshalProtoJSON(s *json.MarshalState)
- func (x *ChatChannel) MarshalProtoText() string
- func (m *ChatChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ChatChannel) MarshalToVT(dAtA []byte) (int, error)
- func (m *ChatChannel) MarshalVT() (dAtA []byte, err error)
- func (*ChatChannel) ProtoMessage()
- func (x *ChatChannel) Reset()
- func (m *ChatChannel) SizeVT() (n int)
- func (x *ChatChannel) String() string
- func (c *ChatChannel) UnmarshalBlock(data []byte) error
- func (x *ChatChannel) UnmarshalJSON(b []byte) error
- func (x *ChatChannel) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *ChatChannel) UnmarshalVT(dAtA []byte) error
- func (c *ChatChannel) Validate() error
- type ChatChannel_ReadPositionsEntry
- func (x *ChatChannel_ReadPositionsEntry) GetKey() string
- func (x *ChatChannel_ReadPositionsEntry) GetValue() *state.ChatReadPosition
- func (x *ChatChannel_ReadPositionsEntry) MarshalJSON() ([]byte, error)
- func (x *ChatChannel_ReadPositionsEntry) MarshalProtoJSON(s *json.MarshalState)
- func (x *ChatChannel_ReadPositionsEntry) MarshalProtoText() string
- func (*ChatChannel_ReadPositionsEntry) ProtoMessage()
- func (x *ChatChannel_ReadPositionsEntry) Reset()
- func (x *ChatChannel_ReadPositionsEntry) String() string
- func (x *ChatChannel_ReadPositionsEntry) UnmarshalJSON(b []byte) error
- func (x *ChatChannel_ReadPositionsEntry) UnmarshalProtoJSON(s *json.UnmarshalState)
- type ChatCiphertext
- type ChatMessage
- func (m *ChatMessage) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *ChatMessage) CloneVT() *ChatMessage
- func (this *ChatMessage) EqualMessageVT(thatMsg any) bool
- func (this *ChatMessage) EqualVT(that *ChatMessage) bool
- func (x *ChatMessage) GetContent() *content.ChatMessageContent
- func (x *ChatMessage) GetCreatedAt() *timestamppb.Timestamp
- func (x *ChatMessage) GetIndex() uint64
- func (x *ChatMessage) GetPersonPeerId() string
- func (x *ChatMessage) GetReplyToKey() string
- func (x *ChatMessage) GetSenderPeerId() string
- func (m *ChatMessage) MarshalBlock() ([]byte, error)
- func (x *ChatMessage) MarshalJSON() ([]byte, error)
- func (x *ChatMessage) MarshalProtoJSON(s *json.MarshalState)
- func (x *ChatMessage) MarshalProtoText() string
- func (m *ChatMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ChatMessage) MarshalToVT(dAtA []byte) (int, error)
- func (m *ChatMessage) MarshalVT() (dAtA []byte, err error)
- func (*ChatMessage) ProtoMessage()
- func (x *ChatMessage) Reset()
- func (m *ChatMessage) SizeVT() (n int)
- func (x *ChatMessage) String() string
- func (m *ChatMessage) UnmarshalBlock(data []byte) error
- func (x *ChatMessage) UnmarshalJSON(b []byte) error
- func (x *ChatMessage) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *ChatMessage) UnmarshalVT(dAtA []byte) error
- func (m *ChatMessage) Validate() error
- type ChatMessageContent
- type ChatMessageContent_Ciphertext
- type ChatMessageContent_Text
- type ChatMessagePage
- func (m *ChatMessagePage) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *ChatMessagePage) CloneVT() *ChatMessagePage
- func (this *ChatMessagePage) EqualMessageVT(thatMsg any) bool
- func (this *ChatMessagePage) EqualVT(that *ChatMessagePage) bool
- func (x *ChatMessagePage) GetMessageKeys() []string
- func (m *ChatMessagePage) MarshalBlock() ([]byte, error)
- func (x *ChatMessagePage) MarshalJSON() ([]byte, error)
- func (x *ChatMessagePage) MarshalProtoJSON(s *json.MarshalState)
- func (x *ChatMessagePage) MarshalProtoText() string
- func (m *ChatMessagePage) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ChatMessagePage) MarshalToVT(dAtA []byte) (int, error)
- func (m *ChatMessagePage) MarshalVT() (dAtA []byte, err error)
- func (*ChatMessagePage) ProtoMessage()
- func (x *ChatMessagePage) Reset()
- func (m *ChatMessagePage) SizeVT() (n int)
- func (x *ChatMessagePage) String() string
- func (m *ChatMessagePage) UnmarshalBlock(data []byte) error
- func (x *ChatMessagePage) UnmarshalJSON(b []byte) error
- func (x *ChatMessagePage) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *ChatMessagePage) UnmarshalVT(dAtA []byte) error
- func (m *ChatMessagePage) Validate() error
- type ChatResource
- func (r *ChatResource) Close()
- func (r *ChatResource) GetChannelInfo(ctx context.Context, _ *spacewave_chat_rpc.GetChannelInfoRequest) (*spacewave_chat_rpc.GetChannelInfoResponse, error)
- func (r *ChatResource) GetMessage(ctx context.Context, req *spacewave_chat_rpc.GetMessageRequest) (*spacewave_chat_rpc.GetMessageResponse, error)
- func (r *ChatResource) GetMux() srpc.Mux
- func (r *ChatResource) GetReadPositions(ctx context.Context, _ *spacewave_chat_rpc.GetReadPositionsRequest) (*spacewave_chat_rpc.GetReadPositionsResponse, error)
- func (r *ChatResource) ListMessages(ctx context.Context, req *spacewave_chat_rpc.ListMessagesRequest) (*spacewave_chat_rpc.ListMessagesResponse, error)
- func (r *ChatResource) SendMessage(ctx context.Context, req *spacewave_chat_rpc.SendMessageRequest) (*spacewave_chat_rpc.SendMessageResponse, error)
- func (r *ChatResource) UpdateReadPosition(ctx context.Context, req *spacewave_chat_rpc.UpdateReadPositionRequest) (*spacewave_chat_rpc.UpdateReadPositionResponse, error)
- func (r *ChatResource) WatchMessages(_ *spacewave_chat_rpc.WatchMessagesRequest, ...) error
- type CreateChatChannelOp
- func (o *CreateChatChannelOp) ApplyWorldObjectOp(ctx context.Context, le *logrus.Entry, os world.ObjectState, sender peer.ID) (sysErr bool, err error)
- func (o *CreateChatChannelOp) ApplyWorldOp(ctx context.Context, le *logrus.Entry, ws world.WorldState, sender peer.ID) (sysErr bool, err error)
- func (m *CreateChatChannelOp) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *CreateChatChannelOp) CloneVT() *CreateChatChannelOp
- func (this *CreateChatChannelOp) EqualMessageVT(thatMsg any) bool
- func (this *CreateChatChannelOp) EqualVT(that *CreateChatChannelOp) bool
- func (x *CreateChatChannelOp) GetEncryptionAlgorithm() string
- func (x *CreateChatChannelOp) GetName() string
- func (x *CreateChatChannelOp) GetObjectKey() string
- func (o *CreateChatChannelOp) GetOperationTypeId() string
- func (x *CreateChatChannelOp) GetTimestamp() *timestamppb.Timestamp
- func (x *CreateChatChannelOp) GetTopic() string
- func (o *CreateChatChannelOp) MarshalBlock() ([]byte, error)
- func (x *CreateChatChannelOp) MarshalJSON() ([]byte, error)
- func (x *CreateChatChannelOp) MarshalProtoJSON(s *json.MarshalState)
- func (x *CreateChatChannelOp) MarshalProtoText() string
- func (m *CreateChatChannelOp) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *CreateChatChannelOp) MarshalToVT(dAtA []byte) (int, error)
- func (m *CreateChatChannelOp) MarshalVT() (dAtA []byte, err error)
- func (*CreateChatChannelOp) ProtoMessage()
- func (x *CreateChatChannelOp) Reset()
- func (m *CreateChatChannelOp) SizeVT() (n int)
- func (x *CreateChatChannelOp) String() string
- func (o *CreateChatChannelOp) UnmarshalBlock(data []byte) error
- func (x *CreateChatChannelOp) UnmarshalJSON(b []byte) error
- func (x *CreateChatChannelOp) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *CreateChatChannelOp) UnmarshalVT(dAtA []byte) error
- func (o *CreateChatChannelOp) Validate() error
- type InitChatDemoOp
- func (o *InitChatDemoOp) ApplyWorldObjectOp(ctx context.Context, le *logrus.Entry, os world.ObjectState, sender peer.ID) (bool, error)
- func (o *InitChatDemoOp) ApplyWorldOp(ctx context.Context, le *logrus.Entry, ws world.WorldState, sender peer.ID) (bool, error)
- func (m *InitChatDemoOp) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *InitChatDemoOp) CloneVT() *InitChatDemoOp
- func (this *InitChatDemoOp) EqualMessageVT(thatMsg any) bool
- func (this *InitChatDemoOp) EqualVT(that *InitChatDemoOp) bool
- func (x *InitChatDemoOp) GetChannelObjectKey() string
- func (o *InitChatDemoOp) GetOperationTypeId() string
- func (x *InitChatDemoOp) GetTimestamp() *timestamppb.Timestamp
- func (o *InitChatDemoOp) MarshalBlock() ([]byte, error)
- func (x *InitChatDemoOp) MarshalJSON() ([]byte, error)
- func (x *InitChatDemoOp) MarshalProtoJSON(s *json.MarshalState)
- func (x *InitChatDemoOp) MarshalProtoText() string
- func (m *InitChatDemoOp) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *InitChatDemoOp) MarshalToVT(dAtA []byte) (int, error)
- func (m *InitChatDemoOp) MarshalVT() (dAtA []byte, err error)
- func (*InitChatDemoOp) ProtoMessage()
- func (x *InitChatDemoOp) Reset()
- func (m *InitChatDemoOp) SizeVT() (n int)
- func (x *InitChatDemoOp) String() string
- func (o *InitChatDemoOp) UnmarshalBlock(data []byte) error
- func (x *InitChatDemoOp) UnmarshalJSON(b []byte) error
- func (x *InitChatDemoOp) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *InitChatDemoOp) UnmarshalVT(dAtA []byte) error
- func (o *InitChatDemoOp) Validate() error
Constants ¶
const ChatChannelTypeID = "spacewave-chat/channel"
ChatChannelTypeID is the type identifier for chat channel objects.
const ChatMessageTypeID = "spacewave-chat/message"
ChatMessageTypeID is the type identifier for chat message objects.
const GeneralChannelKey = "chat/channel/general"
GeneralChannelKey is the default channel object key.
Variables ¶
var CreateChatChannelOpId = "spacewave-chat/channel/create"
CreateChatChannelOpId is the operation id for CreateChatChannelOp.
var ErrChatAuthorIdentityRequired = errors.New("chat author identity required")
ErrChatAuthorIdentityRequired is returned when a message has no authenticated author.
var InitChatDemoOpId = "chat/init-chat-demo"
InitChatDemoOpId is the operation type ID.
var PredChannelMessage = quad.IRI("spacewave-chat/channel-message")
PredChannelMessage is the graph predicate linking a channel to its messages.
var PredMessageSender = quad.IRI("spacewave-chat/message-sender")
PredMessageSender is the graph predicate linking a message to its sender.
Functions ¶
func LookupCreateChatChannelOp ¶
func LookupCreateChatChannelOp(ctx context.Context, operationTypeID string) (world.Operation, error)
LookupCreateChatChannelOp looks up a CreateChatChannelOp operation type.
func LookupInitChatDemoOp ¶
LookupInitChatDemoOp looks up the init chat demo operation.
func NewChatChannelBlock ¶ added in v0.52.0
NewChatChannelBlock constructs a new ChatChannel block.
func NewChatMessageBlock ¶ added in v0.52.0
NewChatMessageBlock constructs a new ChatMessage block.
func NewChatMessagePageBlock ¶ added in v0.52.0
NewChatMessagePageBlock constructs a new ChatMessagePage block.
func NewCreateChatChannelOpBlock ¶
NewCreateChatChannelOpBlock constructs a new CreateChatChannelOp block.
func NewInitChatDemoOpBlock ¶
NewInitChatDemoOpBlock creates an empty block for deserialization.
Types ¶
type ChatChannel ¶
type ChatChannel struct {
// Name is the channel display name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Topic is an optional channel topic description.
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
// CreatedAt is the creation timestamp.
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"createdAt,omitempty"`
// MessageCount is the number of messages appended to the channel.
MessageCount uint64 `protobuf:"varint,4,opt,name=message_count,json=messageCount,proto3" json:"messageCount,omitempty"`
// ReadPositions maps verified person peer identities to their shared read positions.
// Keys are external cryptographic identities, not World object references.
ReadPositions map[string]*state.ChatReadPosition `` /* 187-byte string literal not displayed */
// CreatorPeerId is the peer identity that created the channel.
CreatorPeerId string `protobuf:"bytes,6,opt,name=creator_peer_id,json=creatorPeerId,proto3" json:"creatorPeerId,omitempty"`
// EncryptionAlgorithm is the immutable creation-time policy. Empty allows plaintext;
// otherwise sends require ciphertext using this algorithm.
EncryptionAlgorithm string `protobuf:"bytes,7,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryptionAlgorithm,omitempty"`
// contains filtered or unexported fields
}
ChatChannel is a chat channel world object. All channels are visible to Space participants (no visibility field).
func (*ChatChannel) CloneMessageVT ¶
func (m *ChatChannel) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*ChatChannel) CloneVT ¶
func (m *ChatChannel) CloneVT() *ChatChannel
func (*ChatChannel) EqualMessageVT ¶
func (this *ChatChannel) EqualMessageVT(thatMsg any) bool
func (*ChatChannel) EqualVT ¶
func (this *ChatChannel) EqualVT(that *ChatChannel) bool
func (*ChatChannel) GetCreatedAt ¶
func (x *ChatChannel) GetCreatedAt() *timestamppb.Timestamp
func (*ChatChannel) GetCreatorPeerId ¶ added in v0.57.4
func (x *ChatChannel) GetCreatorPeerId() string
func (*ChatChannel) GetEncryptionAlgorithm ¶ added in v0.57.4
func (x *ChatChannel) GetEncryptionAlgorithm() string
func (*ChatChannel) GetMessageCount ¶ added in v0.52.0
func (x *ChatChannel) GetMessageCount() uint64
func (*ChatChannel) GetName ¶
func (x *ChatChannel) GetName() string
func (*ChatChannel) GetReadPositions ¶ added in v0.57.4
func (x *ChatChannel) GetReadPositions() map[string]*state.ChatReadPosition
func (*ChatChannel) GetTopic ¶
func (x *ChatChannel) GetTopic() string
func (*ChatChannel) MarshalBlock ¶
func (c *ChatChannel) MarshalBlock() ([]byte, error)
MarshalBlock marshals the ChatChannel to bytes.
func (*ChatChannel) MarshalJSON ¶
func (x *ChatChannel) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ChatChannel to JSON.
func (*ChatChannel) MarshalProtoJSON ¶
func (x *ChatChannel) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ChatChannel message to JSON.
func (*ChatChannel) MarshalProtoText ¶
func (x *ChatChannel) MarshalProtoText() string
func (*ChatChannel) MarshalToSizedBufferVT ¶
func (m *ChatChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*ChatChannel) MarshalToVT ¶
func (m *ChatChannel) MarshalToVT(dAtA []byte) (int, error)
func (*ChatChannel) MarshalVT ¶
func (m *ChatChannel) MarshalVT() (dAtA []byte, err error)
func (*ChatChannel) ProtoMessage ¶
func (*ChatChannel) ProtoMessage()
func (*ChatChannel) Reset ¶
func (x *ChatChannel) Reset()
func (*ChatChannel) SizeVT ¶
func (m *ChatChannel) SizeVT() (n int)
func (*ChatChannel) String ¶
func (x *ChatChannel) String() string
func (*ChatChannel) UnmarshalBlock ¶
func (c *ChatChannel) UnmarshalBlock(data []byte) error
UnmarshalBlock unmarshals the ChatChannel from bytes.
func (*ChatChannel) UnmarshalJSON ¶
func (x *ChatChannel) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ChatChannel from JSON.
func (*ChatChannel) UnmarshalProtoJSON ¶
func (x *ChatChannel) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ChatChannel message from JSON.
func (*ChatChannel) UnmarshalVT ¶
func (m *ChatChannel) UnmarshalVT(dAtA []byte) error
func (*ChatChannel) Validate ¶
func (c *ChatChannel) Validate() error
Validate performs cursory checks on the ChatChannel.
type ChatChannel_ReadPositionsEntry ¶ added in v0.57.4
type ChatChannel_ReadPositionsEntry struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value *state.ChatReadPosition `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// contains filtered or unexported fields
}
func (*ChatChannel_ReadPositionsEntry) GetKey ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) GetKey() string
func (*ChatChannel_ReadPositionsEntry) GetValue ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) GetValue() *state.ChatReadPosition
func (*ChatChannel_ReadPositionsEntry) MarshalJSON ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ChatChannel_ReadPositionsEntry to JSON.
func (*ChatChannel_ReadPositionsEntry) MarshalProtoJSON ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ChatChannel_ReadPositionsEntry message to JSON.
func (*ChatChannel_ReadPositionsEntry) MarshalProtoText ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) MarshalProtoText() string
func (*ChatChannel_ReadPositionsEntry) ProtoMessage ¶ added in v0.57.4
func (*ChatChannel_ReadPositionsEntry) ProtoMessage()
func (*ChatChannel_ReadPositionsEntry) Reset ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) Reset()
func (*ChatChannel_ReadPositionsEntry) String ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) String() string
func (*ChatChannel_ReadPositionsEntry) UnmarshalJSON ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ChatChannel_ReadPositionsEntry from JSON.
func (*ChatChannel_ReadPositionsEntry) UnmarshalProtoJSON ¶ added in v0.57.4
func (x *ChatChannel_ReadPositionsEntry) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ChatChannel_ReadPositionsEntry message from JSON.
type ChatCiphertext ¶ added in v0.57.4
type ChatCiphertext = spacewave_chat_content.ChatCiphertext
ChatCiphertext is the shared encrypted envelope used by storage and RPC.
type ChatMessage ¶
type ChatMessage struct {
// SenderPeerId is the peer ID of the message sender.
SenderPeerId string `protobuf:"bytes,1,opt,name=sender_peer_id,json=senderPeerId,proto3" json:"senderPeerId,omitempty"`
// Content is the message content.
Content *content.ChatMessageContent `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
// CreatedAt is the message creation timestamp.
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"createdAt,omitempty"`
// ReplyToKey is the object key of the message being replied to.
ReplyToKey string `protobuf:"bytes,4,opt,name=reply_to_key,json=replyToKey,proto3" json:"replyToKey,omitempty"`
// Index is the zero-based message index within the channel.
Index uint64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
// PersonPeerId is the verified person identity supplied by the authenticated host.
// Empty historical values identify the person by SenderPeerId.
PersonPeerId string `protobuf:"bytes,6,opt,name=person_peer_id,json=personPeerId,proto3" json:"personPeerId,omitempty"`
// contains filtered or unexported fields
}
ChatMessage is a chat message world object linked to a channel.
func (*ChatMessage) CloneMessageVT ¶
func (m *ChatMessage) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*ChatMessage) CloneVT ¶
func (m *ChatMessage) CloneVT() *ChatMessage
func (*ChatMessage) EqualMessageVT ¶
func (this *ChatMessage) EqualMessageVT(thatMsg any) bool
func (*ChatMessage) EqualVT ¶
func (this *ChatMessage) EqualVT(that *ChatMessage) bool
func (*ChatMessage) GetContent ¶
func (x *ChatMessage) GetContent() *content.ChatMessageContent
func (*ChatMessage) GetCreatedAt ¶
func (x *ChatMessage) GetCreatedAt() *timestamppb.Timestamp
func (*ChatMessage) GetIndex ¶ added in v0.52.0
func (x *ChatMessage) GetIndex() uint64
func (*ChatMessage) GetPersonPeerId ¶ added in v0.57.4
func (x *ChatMessage) GetPersonPeerId() string
func (*ChatMessage) GetReplyToKey ¶
func (x *ChatMessage) GetReplyToKey() string
func (*ChatMessage) GetSenderPeerId ¶
func (x *ChatMessage) GetSenderPeerId() string
func (*ChatMessage) MarshalBlock ¶
func (m *ChatMessage) MarshalBlock() ([]byte, error)
MarshalBlock marshals the ChatMessage to bytes.
func (*ChatMessage) MarshalJSON ¶
func (x *ChatMessage) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ChatMessage to JSON.
func (*ChatMessage) MarshalProtoJSON ¶
func (x *ChatMessage) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ChatMessage message to JSON.
func (*ChatMessage) MarshalProtoText ¶
func (x *ChatMessage) MarshalProtoText() string
func (*ChatMessage) MarshalToSizedBufferVT ¶
func (m *ChatMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*ChatMessage) MarshalToVT ¶
func (m *ChatMessage) MarshalToVT(dAtA []byte) (int, error)
func (*ChatMessage) MarshalVT ¶
func (m *ChatMessage) MarshalVT() (dAtA []byte, err error)
func (*ChatMessage) ProtoMessage ¶
func (*ChatMessage) ProtoMessage()
func (*ChatMessage) Reset ¶
func (x *ChatMessage) Reset()
func (*ChatMessage) SizeVT ¶
func (m *ChatMessage) SizeVT() (n int)
func (*ChatMessage) String ¶
func (x *ChatMessage) String() string
func (*ChatMessage) UnmarshalBlock ¶
func (m *ChatMessage) UnmarshalBlock(data []byte) error
UnmarshalBlock unmarshals the ChatMessage from bytes.
func (*ChatMessage) UnmarshalJSON ¶
func (x *ChatMessage) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ChatMessage from JSON.
func (*ChatMessage) UnmarshalProtoJSON ¶
func (x *ChatMessage) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ChatMessage message from JSON.
func (*ChatMessage) UnmarshalVT ¶
func (m *ChatMessage) UnmarshalVT(dAtA []byte) error
func (*ChatMessage) Validate ¶
func (m *ChatMessage) Validate() error
Validate performs cursory checks on the ChatMessage.
type ChatMessageContent ¶
type ChatMessageContent = spacewave_chat_content.ChatMessageContent
ChatMessageContent is the shared generated content type used by storage and RPC.
type ChatMessageContent_Ciphertext ¶ added in v0.57.4
type ChatMessageContent_Ciphertext = spacewave_chat_content.ChatMessageContent_Ciphertext
ChatMessageContent_Ciphertext carries an endpoint-encrypted message envelope.
type ChatMessageContent_Text ¶
type ChatMessageContent_Text = spacewave_chat_content.ChatMessageContent_Text
ChatMessageContent_Text retains the public text-content constructor.
type ChatMessagePage ¶ added in v0.52.0
type ChatMessagePage struct {
// MessageKeys are page-local message object keys in creation order.
MessageKeys []string `protobuf:"bytes,1,rep,name=message_keys,json=messageKeys,proto3" json:"messageKeys,omitempty"`
// contains filtered or unexported fields
}
ChatMessagePage stores a bounded page of channel message keys.
func (*ChatMessagePage) CloneMessageVT ¶ added in v0.52.0
func (m *ChatMessagePage) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*ChatMessagePage) CloneVT ¶ added in v0.52.0
func (m *ChatMessagePage) CloneVT() *ChatMessagePage
func (*ChatMessagePage) EqualMessageVT ¶ added in v0.52.0
func (this *ChatMessagePage) EqualMessageVT(thatMsg any) bool
func (*ChatMessagePage) EqualVT ¶ added in v0.52.0
func (this *ChatMessagePage) EqualVT(that *ChatMessagePage) bool
func (*ChatMessagePage) GetMessageKeys ¶ added in v0.52.0
func (x *ChatMessagePage) GetMessageKeys() []string
func (*ChatMessagePage) MarshalBlock ¶ added in v0.52.0
func (m *ChatMessagePage) MarshalBlock() ([]byte, error)
MarshalBlock marshals the ChatMessagePage to bytes.
func (*ChatMessagePage) MarshalJSON ¶ added in v0.52.0
func (x *ChatMessagePage) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ChatMessagePage to JSON.
func (*ChatMessagePage) MarshalProtoJSON ¶ added in v0.52.0
func (x *ChatMessagePage) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ChatMessagePage message to JSON.
func (*ChatMessagePage) MarshalProtoText ¶ added in v0.52.0
func (x *ChatMessagePage) MarshalProtoText() string
func (*ChatMessagePage) MarshalToSizedBufferVT ¶ added in v0.52.0
func (m *ChatMessagePage) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*ChatMessagePage) MarshalToVT ¶ added in v0.52.0
func (m *ChatMessagePage) MarshalToVT(dAtA []byte) (int, error)
func (*ChatMessagePage) MarshalVT ¶ added in v0.52.0
func (m *ChatMessagePage) MarshalVT() (dAtA []byte, err error)
func (*ChatMessagePage) ProtoMessage ¶ added in v0.52.0
func (*ChatMessagePage) ProtoMessage()
func (*ChatMessagePage) Reset ¶ added in v0.52.0
func (x *ChatMessagePage) Reset()
func (*ChatMessagePage) SizeVT ¶ added in v0.52.0
func (m *ChatMessagePage) SizeVT() (n int)
func (*ChatMessagePage) String ¶ added in v0.52.0
func (x *ChatMessagePage) String() string
func (*ChatMessagePage) UnmarshalBlock ¶ added in v0.52.0
func (m *ChatMessagePage) UnmarshalBlock(data []byte) error
UnmarshalBlock unmarshals the ChatMessagePage from bytes.
func (*ChatMessagePage) UnmarshalJSON ¶ added in v0.52.0
func (x *ChatMessagePage) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ChatMessagePage from JSON.
func (*ChatMessagePage) UnmarshalProtoJSON ¶ added in v0.52.0
func (x *ChatMessagePage) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ChatMessagePage message from JSON.
func (*ChatMessagePage) UnmarshalVT ¶ added in v0.52.0
func (m *ChatMessagePage) UnmarshalVT(dAtA []byte) error
func (*ChatMessagePage) Validate ¶ added in v0.52.0
func (m *ChatMessagePage) Validate() error
Validate performs cursory checks on the ChatMessagePage.
type ChatResource ¶ added in v0.52.0
type ChatResource struct {
// contains filtered or unexported fields
}
ChatResource serves ChatResourceService for a single chat channel object.
func NewChatResource ¶ added in v0.52.0
func NewChatResource( ws world.WorldState, engine world.Engine, objectKey string, localPeerID string, ) *ChatResource
NewChatResource constructs a ChatResource.
func NewChatResourceForPerson ¶ added in v0.57.4
func NewChatResourceForPerson( ws world.WorldState, engine world.Engine, objectKey string, localPeerID string, personPeerID string, ) *ChatResource
NewChatResourceForPerson binds a verified person and signing device to a channel. The embedding Session host verifies this association; RPC requests cannot select it. World access remains constrained by the supplied authorized state and engine.
func (*ChatResource) Close ¶ added in v0.52.0
func (r *ChatResource) Close()
Close releases the chat resource lifecycle.
func (*ChatResource) GetChannelInfo ¶ added in v0.52.0
func (r *ChatResource) GetChannelInfo( ctx context.Context, _ *spacewave_chat_rpc.GetChannelInfoRequest, ) (*spacewave_chat_rpc.GetChannelInfoResponse, error)
GetChannelInfo reads the channel block and returns metadata.
func (*ChatResource) GetMessage ¶ added in v0.57.4
func (r *ChatResource) GetMessage( ctx context.Context, req *spacewave_chat_rpc.GetMessageRequest, ) (*spacewave_chat_rpc.GetMessageResponse, error)
GetMessage reads one channel message by its channel-scoped object key.
func (*ChatResource) GetMux ¶ added in v0.52.0
func (r *ChatResource) GetMux() srpc.Mux
GetMux returns the SRPC mux for this resource.
func (*ChatResource) GetReadPositions ¶ added in v0.57.4
func (r *ChatResource) GetReadPositions(ctx context.Context, _ *spacewave_chat_rpc.GetReadPositionsRequest) (*spacewave_chat_rpc.GetReadPositionsResponse, error)
GetReadPositions reads shared receipt state without transferring mutable channel state.
func (*ChatResource) ListMessages ¶ added in v0.52.0
func (r *ChatResource) ListMessages( ctx context.Context, req *spacewave_chat_rpc.ListMessagesRequest, ) (*spacewave_chat_rpc.ListMessagesResponse, error)
ListMessages returns a page of channel messages.
func (*ChatResource) SendMessage ¶ added in v0.52.0
func (r *ChatResource) SendMessage( ctx context.Context, req *spacewave_chat_rpc.SendMessageRequest, ) (*spacewave_chat_rpc.SendMessageResponse, error)
SendMessage durably appends a message or resolves an identical sender-scoped retry.
func (*ChatResource) UpdateReadPosition ¶ added in v0.57.4
func (r *ChatResource) UpdateReadPosition(ctx context.Context, req *spacewave_chat_rpc.UpdateReadPositionRequest) (*spacewave_chat_rpc.UpdateReadPositionResponse, error)
UpdateReadPosition advances the authenticated person's position durably across devices. Repeated or older positions return the current value without a World mutation.
func (*ChatResource) WatchMessages ¶ added in v0.52.0
func (r *ChatResource) WatchMessages( _ *spacewave_chat_rpc.WatchMessagesRequest, strm spacewave_chat_rpc.SRPCChatResourceService_WatchMessagesStream, ) error
WatchMessages streams new message batches after each world change.
type CreateChatChannelOp ¶
type CreateChatChannelOp struct {
// ObjectKey is the key to create the channel at.
ObjectKey string `protobuf:"bytes,1,opt,name=object_key,json=objectKey,proto3" json:"objectKey,omitempty"`
// Name is the channel name.
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// Topic is the optional channel topic.
Topic string `protobuf:"bytes,3,opt,name=topic,proto3" json:"topic,omitempty"`
// Timestamp is the creation timestamp.
Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// EncryptionAlgorithm is the immutable creation-time policy. Empty allows plaintext;
// otherwise sends require ciphertext using this algorithm.
EncryptionAlgorithm string `protobuf:"bytes,5,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryptionAlgorithm,omitempty"`
// contains filtered or unexported fields
}
CreateChatChannelOp creates a new chat channel.
func (*CreateChatChannelOp) ApplyWorldObjectOp ¶
func (o *CreateChatChannelOp) ApplyWorldObjectOp( ctx context.Context, le *logrus.Entry, os world.ObjectState, sender peer.ID, ) (sysErr bool, err error)
ApplyWorldObjectOp applies the operation to a world object.
func (*CreateChatChannelOp) ApplyWorldOp ¶
func (o *CreateChatChannelOp) ApplyWorldOp( ctx context.Context, le *logrus.Entry, ws world.WorldState, sender peer.ID, ) (sysErr bool, err error)
ApplyWorldOp applies the operation as a world operation.
func (*CreateChatChannelOp) CloneMessageVT ¶
func (m *CreateChatChannelOp) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*CreateChatChannelOp) CloneVT ¶
func (m *CreateChatChannelOp) CloneVT() *CreateChatChannelOp
func (*CreateChatChannelOp) EqualMessageVT ¶
func (this *CreateChatChannelOp) EqualMessageVT(thatMsg any) bool
func (*CreateChatChannelOp) EqualVT ¶
func (this *CreateChatChannelOp) EqualVT(that *CreateChatChannelOp) bool
func (*CreateChatChannelOp) GetEncryptionAlgorithm ¶ added in v0.57.4
func (x *CreateChatChannelOp) GetEncryptionAlgorithm() string
func (*CreateChatChannelOp) GetName ¶
func (x *CreateChatChannelOp) GetName() string
func (*CreateChatChannelOp) GetObjectKey ¶
func (x *CreateChatChannelOp) GetObjectKey() string
func (*CreateChatChannelOp) GetOperationTypeId ¶
func (o *CreateChatChannelOp) GetOperationTypeId() string
GetOperationTypeId returns the operation type identifier.
func (*CreateChatChannelOp) GetTimestamp ¶
func (x *CreateChatChannelOp) GetTimestamp() *timestamppb.Timestamp
func (*CreateChatChannelOp) GetTopic ¶
func (x *CreateChatChannelOp) GetTopic() string
func (*CreateChatChannelOp) MarshalBlock ¶
func (o *CreateChatChannelOp) MarshalBlock() ([]byte, error)
MarshalBlock marshals the block to binary.
func (*CreateChatChannelOp) MarshalJSON ¶
func (x *CreateChatChannelOp) MarshalJSON() ([]byte, error)
MarshalJSON marshals the CreateChatChannelOp to JSON.
func (*CreateChatChannelOp) MarshalProtoJSON ¶
func (x *CreateChatChannelOp) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the CreateChatChannelOp message to JSON.
func (*CreateChatChannelOp) MarshalProtoText ¶
func (x *CreateChatChannelOp) MarshalProtoText() string
func (*CreateChatChannelOp) MarshalToSizedBufferVT ¶
func (m *CreateChatChannelOp) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*CreateChatChannelOp) MarshalToVT ¶
func (m *CreateChatChannelOp) MarshalToVT(dAtA []byte) (int, error)
func (*CreateChatChannelOp) MarshalVT ¶
func (m *CreateChatChannelOp) MarshalVT() (dAtA []byte, err error)
func (*CreateChatChannelOp) ProtoMessage ¶
func (*CreateChatChannelOp) ProtoMessage()
func (*CreateChatChannelOp) Reset ¶
func (x *CreateChatChannelOp) Reset()
func (*CreateChatChannelOp) SizeVT ¶
func (m *CreateChatChannelOp) SizeVT() (n int)
func (*CreateChatChannelOp) String ¶
func (x *CreateChatChannelOp) String() string
func (*CreateChatChannelOp) UnmarshalBlock ¶
func (o *CreateChatChannelOp) UnmarshalBlock(data []byte) error
UnmarshalBlock unmarshals the block to the object.
func (*CreateChatChannelOp) UnmarshalJSON ¶
func (x *CreateChatChannelOp) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the CreateChatChannelOp from JSON.
func (*CreateChatChannelOp) UnmarshalProtoJSON ¶
func (x *CreateChatChannelOp) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the CreateChatChannelOp message from JSON.
func (*CreateChatChannelOp) UnmarshalVT ¶
func (m *CreateChatChannelOp) UnmarshalVT(dAtA []byte) error
func (*CreateChatChannelOp) Validate ¶
func (o *CreateChatChannelOp) Validate() error
Validate performs cursory checks on the op.
type InitChatDemoOp ¶
type InitChatDemoOp struct {
// ChannelObjectKey is the key for the channel object.
ChannelObjectKey string `protobuf:"bytes,1,opt,name=channel_object_key,json=channelObjectKey,proto3" json:"channelObjectKey,omitempty"`
// Timestamp is the creation timestamp.
Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// contains filtered or unexported fields
}
InitChatDemoOp creates a "General" channel on space quickstart.
func (*InitChatDemoOp) ApplyWorldObjectOp ¶
func (o *InitChatDemoOp) ApplyWorldObjectOp( ctx context.Context, le *logrus.Entry, os world.ObjectState, sender peer.ID, ) (bool, error)
ApplyWorldObjectOp is not supported for this operation.
func (*InitChatDemoOp) ApplyWorldOp ¶
func (o *InitChatDemoOp) ApplyWorldOp( ctx context.Context, le *logrus.Entry, ws world.WorldState, sender peer.ID, ) (bool, error)
ApplyWorldOp applies the init chat demo operation.
func (*InitChatDemoOp) CloneMessageVT ¶
func (m *InitChatDemoOp) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*InitChatDemoOp) CloneVT ¶
func (m *InitChatDemoOp) CloneVT() *InitChatDemoOp
func (*InitChatDemoOp) EqualMessageVT ¶
func (this *InitChatDemoOp) EqualMessageVT(thatMsg any) bool
func (*InitChatDemoOp) EqualVT ¶
func (this *InitChatDemoOp) EqualVT(that *InitChatDemoOp) bool
func (*InitChatDemoOp) GetChannelObjectKey ¶
func (x *InitChatDemoOp) GetChannelObjectKey() string
func (*InitChatDemoOp) GetOperationTypeId ¶
func (o *InitChatDemoOp) GetOperationTypeId() string
GetOperationTypeId returns the operation type ID.
func (*InitChatDemoOp) GetTimestamp ¶
func (x *InitChatDemoOp) GetTimestamp() *timestamppb.Timestamp
func (*InitChatDemoOp) MarshalBlock ¶
func (o *InitChatDemoOp) MarshalBlock() ([]byte, error)
MarshalBlock marshals the operation to bytes.
func (*InitChatDemoOp) MarshalJSON ¶
func (x *InitChatDemoOp) MarshalJSON() ([]byte, error)
MarshalJSON marshals the InitChatDemoOp to JSON.
func (*InitChatDemoOp) MarshalProtoJSON ¶
func (x *InitChatDemoOp) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the InitChatDemoOp message to JSON.
func (*InitChatDemoOp) MarshalProtoText ¶
func (x *InitChatDemoOp) MarshalProtoText() string
func (*InitChatDemoOp) MarshalToSizedBufferVT ¶
func (m *InitChatDemoOp) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*InitChatDemoOp) MarshalToVT ¶
func (m *InitChatDemoOp) MarshalToVT(dAtA []byte) (int, error)
func (*InitChatDemoOp) MarshalVT ¶
func (m *InitChatDemoOp) MarshalVT() (dAtA []byte, err error)
func (*InitChatDemoOp) ProtoMessage ¶
func (*InitChatDemoOp) ProtoMessage()
func (*InitChatDemoOp) Reset ¶
func (x *InitChatDemoOp) Reset()
func (*InitChatDemoOp) SizeVT ¶
func (m *InitChatDemoOp) SizeVT() (n int)
func (*InitChatDemoOp) String ¶
func (x *InitChatDemoOp) String() string
func (*InitChatDemoOp) UnmarshalBlock ¶
func (o *InitChatDemoOp) UnmarshalBlock(data []byte) error
UnmarshalBlock unmarshals the operation from bytes.
func (*InitChatDemoOp) UnmarshalJSON ¶
func (x *InitChatDemoOp) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the InitChatDemoOp from JSON.
func (*InitChatDemoOp) UnmarshalProtoJSON ¶
func (x *InitChatDemoOp) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the InitChatDemoOp message from JSON.
func (*InitChatDemoOp) UnmarshalVT ¶
func (m *InitChatDemoOp) UnmarshalVT(dAtA []byte) error
func (*InitChatDemoOp) Validate ¶
func (o *InitChatDemoOp) Validate() error
Validate validates the operation.