Versions in this module Expand all Collapse all v0 v0.1.0 Jul 5, 2026 Changes in this version + const AgentActivityWriteScope + const GuestChannelName + const GuestPostLimit + const MaxDirectConversationMembers + const MessageKindAgentCommentary + const MessageKindAgentTool + const MessageKindMessage + const UploadQuotaBytesPerUserWorkspace + const UploadQuotaCountPerUserWorkspace + const WorkspaceRoleBot + const WorkspaceRoleGuest + const WorkspaceRoleMember + const WorkspaceRoleModerator + const WorkspaceRoleOwner + var ErrClientNonceConflict = errors.New("client nonce was already used for a different message") + var ErrInvalidMessageKind = errors.New("invalid message kind") + var ErrInvalidMessagePage = errors.New("invalid message page request") + var ErrMessageNotWritable = errors.New("message is not writable") + var ErrModerationRestricted = errors.New("moderation restriction") + var ErrPostRateLimited = errors.New("waiting room post limit reached") + var ErrQuotedMessageOutOfScope = errors.New("quoted message is not in this channel, conversation, or thread") + var ErrTurnIDNotAllowed = errors.New("turn_id is only valid for agent activity messages") + var ErrUploadQuotaExceeded = errors.New("upload quota exceeded") + func DirectConversationMemberSetKey(memberIDs []string) string + func IsActivityMessageKind(kind string) bool + func NormalizeMessageKind(kind string) (string, error) + type AppInstallation struct + AppSlug string + BotUserID string + Config map[string]any + CreatedAt string + CreatedBy string + DisplayName string + ID string + RevokedAt *string + WorkspaceID string + type AttachUploadInput struct + MessageID string + UploadID string + UserID string + type AuditLogEntry struct + Action string + ActorUserID string + CreatedAt string + ID string + Metadata map[string]any + TargetID string + TargetType string + WorkspaceID string + type BotToken struct + BotUserID string + CreatedAt string + CreatedBy string + ID string + LastUsedAt *string + Name string + OwnerUserID string + RevokedAt *string + Scopes []string + Token string + WorkspaceID string + type BotTokenAuth struct + Scopes []string + TokenID string + User User + WorkspaceID string + type BotWithTokens struct + Bot User + Tokens []BotToken + type Channel struct + ArchivedAt *string + CreatedAt string + ID string + Kind string + LastReadSeq int64 + LastSeq int64 + Name string + RouteID string + UnreadCount int64 + WorkspaceID string + type ConnectedAccount struct + CreatedAt string + DisplayName string + ID string + Metadata map[string]any + Provider string + ProviderAccountID string + RevokedAt *string + Scopes []string + UserID string + WorkspaceID string + type CreateAppInstallationInput struct + AppSlug string + BotUserID string + Config map[string]any + CreatedBy string + DisplayName string + WorkspaceID string + type CreateAuditLogEntryInput struct + Action string + ActorUserID string + Metadata map[string]any + TargetID string + TargetType string + WorkspaceID string + type CreateBotInput struct + AvatarURL string + CreatedBy string + DisplayName string + Handle string + OwnerUserID string + Scopes []string + TokenName string + WorkspaceID string + type CreateBotTokenInput struct + BotUserID string + CreatedBy string + Name string + Scopes []string + type CreateChannelInput struct + Kind string + Name string + UserID string + WorkspaceID string + type CreateConnectedAccountInput struct + CreatedBy string + DisplayName string + Metadata map[string]any + Provider string + ProviderAccountID string + Scopes []string + UserID string + WorkspaceID string + type CreateDirectConversationInput struct + MemberIDs []string + UserID string + WorkspaceID string + type CreateDirectMessageInput struct + AuthorID string + Body string + ConversationID string + Kind string + Nonce string + QuotedMessageID *string + TurnID string + type CreateEventDeliveryAttemptInput struct + Error string + EventID string + EventType string + RequestJSON string + ResponseBody string + ResponseStatus int + SubscriptionID string + WorkspaceID string + type CreateEventSubscriptionInput struct + AppInstallationID string + CallbackURL string + CreatedBy string + EventTypes []string + WorkspaceID string + type CreateMessageInput struct + AuthorID string + Body string + ChannelID string + Kind string + Nonce string + QuotedMessageID *string + TopicID string + TurnID string + type CreateReactionInput struct + Emoji string + MessageID string + UserID string + type CreateSlashCommandInput struct + AppInstallationID string + BotUserID string + CallbackURL string + Command string + CreatedBy string + Description string + WorkspaceID string + type CreateSlashCommandInvocationInput struct + ChannelID string + CommandID string + PayloadJSON string + Text string + UserID string + WorkspaceID string + type CreateThreadReplyInput struct + AuthorID string + Body string + Nonce string + QuotedMessageID *string + RootMessageID string + type CreateTopicInput struct + ChannelID string + CreatedBy string + Name string + WorkspaceID string + type CreateUploadInput struct + ByteSize int64 + ContentType string + DurationMS int + Filename string + Height int + OwnerID string + StoragePath string + Width int + WorkspaceID string + type CreateUserInput struct + DisplayName string + Email string + type CreateWorkspaceInput struct + Name string + Slug string + type DeleteMessageInput struct + MessageID string + UserID string + type DirectConversation struct + CreatedAt string + ID string + LastReadSeq int64 + LastSeq int64 + Members []User + RouteID string + UnreadCount int64 + WorkspaceID string + type Event struct + ChannelID string + CreatedAt string + Cursor string + ID string + Payload any + PayloadJSON string + RecipientUserIDs []string + Seq *int64 + Type string + WorkspaceID string + type EventDeliveryAttempt struct + Attempt int + CompletedAt string + CreatedAt string + Error string + EventID string + EventType string + ID string + RequestJSON string + ResponseBody string + ResponseStatus int + SubscriptionID string + WorkspaceID string + type EventSubscription struct + AppInstallationID string + CallbackURL string + CreatedAt string + CreatedBy string + EventTypes []string + ID string + RevokedAt *string + SigningSecret string + WorkspaceID string + type Invite struct + AcceptedAt *string + CreatedAt string + CreatedBy string + ID string + Token string + WorkspaceID string + type MagicLink struct + CreatedAt string + DisplayName string + Email string + ExpiresAt string + ID string + Token string + UsedAt *string + type MemberModeration struct + BlockedAt *string + ModerationAt string + ModerationBy string + ModerationNote string + PostLimit int + PostsRemaining int + Role string + TimeoutUntil *string + User User + WorkspaceID string + type Message struct + Attachments []Upload + Author *User + AuthorID string + Body string + BodyFormat string + ChannelID string + ChannelSeq *int64 + CreatedAt string + DeletedAt *string + DirectConversationID string + EditedAt *string + ID string + Kind string + Nonce string + ParentMessageID *string + QuotedAuthor *User + QuotedAuthorID *string + QuotedBodySnapshot string + QuotedMessageID *string + RouteID string + ThreadRootID string + ThreadSeq *int64 + ThreadState *ThreadState + TopicID string + TurnID string + WorkspaceID string + type MessagePage struct + HasNewer bool + HasOlder bool + Messages []Message + NewestSeq int64 + OldestSeq int64 + type MessagePageRequest struct + AfterSeq *int64 + AroundSeq *int64 + BeforeSeq *int64 + Limit int + type NotificationSettings struct + PushoverEnabled bool + PushoverUserKey string + type PushNotificationRecipient struct + DisplayName string + PushoverUserKey string + UserID string + type ReadReceipt struct + LastReadAt string + LastReadSeq int64 + ScopeID string + UserID string + type RouteTarget struct + CanonicalPath string + ParentID string + ParentRouteID string + ParentType string + TargetID string + TargetRouteID string + TargetType string + WorkspaceID string + WorkspaceRouteID string + type SearchResult struct + Message Message + Rank float64 + type Session struct + CreatedAt string + ExpiresAt string + ID string + Token string + UserID string + type SlashCommand struct + AppInstallationID string + BotUserID string + CallbackURL string + Command string + CreatedAt string + CreatedBy string + Description string + ID string + RevokedAt *string + SigningSecret string + WorkspaceID string + type SlashCommandInvocation struct + ChannelID string + CommandID string + CompletedAt *string + CreatedAt string + Error string + ID string + PayloadJSON string + ResponseBody string + ResponseStatus int + Text string + UserID string + WorkspaceID string + type Store interface + AddReaction func(ctx context.Context, input CreateReactionInput) (Event, error) + AddWorkspaceMember func(ctx context.Context, workspaceID, userID, role string) error + AttachUpload func(ctx context.Context, input AttachUploadInput) (Event, error) + CanCreateUpload func(ctx context.Context, workspaceID, userID string, byteSize int64) error + CanPublishEphemeral func(ctx context.Context, ...) error + Close func() error + CompleteSlashCommandInvocation func(ctx context.Context, invocationID string, status int, ...) (SlashCommandInvocation, error) + ConsumeMagicLink func(ctx context.Context, token string) (User, Session, error) + CreateAppInstallation func(ctx context.Context, input CreateAppInstallationInput) (AppInstallation, error) + CreateAuditLogEntry func(ctx context.Context, input CreateAuditLogEntryInput) (AuditLogEntry, error) + CreateBot func(ctx context.Context, input CreateBotInput) (User, BotToken, error) + CreateBotToken func(ctx context.Context, input CreateBotTokenInput) (BotToken, error) + CreateChannel func(ctx context.Context, input CreateChannelInput) (Channel, Event, error) + CreateConnectedAccount func(ctx context.Context, input CreateConnectedAccountInput) (ConnectedAccount, error) + CreateDirectConversation func(ctx context.Context, input CreateDirectConversationInput) (DirectConversation, error) + CreateDirectMessage func(ctx context.Context, input CreateDirectMessageInput) (Message, Event, error) + CreateEventDeliveryAttempt func(ctx context.Context, input CreateEventDeliveryAttemptInput) (EventDeliveryAttempt, error) + CreateEventSubscription func(ctx context.Context, input CreateEventSubscriptionInput) (EventSubscription, error) + CreateInvite func(ctx context.Context, workspaceID, createdBy string) (Invite, error) + CreateMagicLink func(ctx context.Context, email, displayName string) (MagicLink, error) + CreateMessage func(ctx context.Context, input CreateMessageInput) (Message, Event, error) + CreateReservedUpload func(ctx context.Context, reservationID string, input CreateUploadInput) (Upload, error) + CreateSession func(ctx context.Context, userID string) (Session, error) + CreateSlashCommand func(ctx context.Context, input CreateSlashCommandInput) (SlashCommand, error) + CreateSlashCommandInvocation func(ctx context.Context, input CreateSlashCommandInvocationInput) (SlashCommandInvocation, error) + CreateThreadReply func(ctx context.Context, input CreateThreadReplyInput) (Message, ThreadState, []Event, error) + CreateTopic func(ctx context.Context, input CreateTopicInput) (Topic, error) + CreateUpload func(ctx context.Context, input CreateUploadInput) (Upload, error) + CreateUser func(ctx context.Context, input CreateUserInput) (User, error) + CreateWorkspace func(ctx context.Context, input CreateWorkspaceInput, ownerID string) (Workspace, error) + DeleteMessage func(ctx context.Context, input DeleteMessageInput) (Message, Event, error) + EnsureBootstrap func(ctx context.Context, name, email string) (User, error) + EnsureDefaultGuestWorkspaceMember func(ctx context.Context, userID, role string) (Workspace, error) + EnsureDefaultWorkspaceMember func(ctx context.Context, userID string) (Workspace, error) + EnsureThreadRouteID func(ctx context.Context, userID, rootMessageID string) (Message, error) + FirstUser func(ctx context.Context) (User, error) + GetBotTokenAuth func(ctx context.Context, token string) (BotTokenAuth, error) + GetChannel func(ctx context.Context, channelID, userID string) (Channel, error) + GetDirectConversation func(ctx context.Context, conversationID, userID string) (DirectConversation, error) + GetMessage func(ctx context.Context, messageID, userID string) (Message, error) + GetSessionUser func(ctx context.Context, token string) (User, error) + GetSlashCommandForChannel func(ctx context.Context, channelID, command, requesterID string) (SlashCommand, error) + GetThread func(ctx context.Context, rootMessageID, userID string, limit int) (Message, []Message, ThreadState, error) + GetUpload func(ctx context.Context, uploadID, userID string) (Upload, error) + GetUser func(ctx context.Context, id string) (User, error) + GetWorkspace func(ctx context.Context, workspaceID, userID string) (Workspace, error) + HideDirectConversation func(ctx context.Context, conversationID, userID string) error + ListAppInstallations func(ctx context.Context, workspaceID, requesterID string) ([]AppInstallation, error) + ListAuditLogEntries func(ctx context.Context, workspaceID, requesterID string, limit int) ([]AuditLogEntry, error) + ListBotTokens func(ctx context.Context, botUserID, requesterID string) ([]BotToken, error) + ListBots func(ctx context.Context, workspaceID, requesterID string) ([]BotWithTokens, error) + ListChannels func(ctx context.Context, workspaceID, userID string) ([]Channel, error) + ListConnectedAccounts func(ctx context.Context, workspaceID, requesterID string) ([]ConnectedAccount, error) + ListDirectConversations func(ctx context.Context, workspaceID, userID string) ([]DirectConversation, error) + ListDirectMessages func(ctx context.Context, conversationID, userID string, page MessagePageRequest) (MessagePage, error) + ListEventDeliveryAttempts func(ctx context.Context, subscriptionID, requesterID string) ([]EventDeliveryAttempt, error) + ListEventSubscriptions func(ctx context.Context, workspaceID, requesterID string) ([]EventSubscription, error) + ListEventSubscriptionsForEvent func(ctx context.Context, event Event) ([]EventSubscription, error) + ListEventsAfter func(ctx context.Context, workspaceID, userID, cursor string, limit int) ([]Event, error) + ListMessages func(ctx context.Context, channelID, userID string, page MessagePageRequest) (MessagePage, error) + ListPushNotificationRecipients func(ctx context.Context, messageID string) ([]PushNotificationRecipient, error) + ListSlashCommands func(ctx context.Context, workspaceID, requesterID string) ([]SlashCommand, error) + ListTopics func(ctx context.Context, workspaceID, requesterID string) ([]Topic, error) + ListWorkspaceMembers func(ctx context.Context, workspaceID, actorUserID string) ([]MemberModeration, error) + ListWorkspaces func(ctx context.Context, userID string) ([]Workspace, error) + MarkChannelRead func(ctx context.Context, channelID, userID string, seq int64) (ReadReceipt, Event, error) + MarkDirectRead func(ctx context.Context, conversationID, userID string, seq int64) (ReadReceipt, Event, error) + Migrate func(ctx context.Context) error + ReleaseUploadQuotaReservation func(ctx context.Context, reservationID, userID string) error + RemoveReaction func(ctx context.Context, input CreateReactionInput) (Event, error) + ReopenDirectConversation func(ctx context.Context, conversationID, userID string) (DirectConversation, error) + ReserveUploadQuota func(ctx context.Context, workspaceID, userID string, byteSize int64) (UploadQuotaReservation, error) + ResolveLegacyRouteTarget func(ctx context.Context, userID, workspaceID, targetID string) (RouteTarget, error) + ResolveRouteTarget func(ctx context.Context, userID, workspaceRouteID, targetRouteID string) (RouteTarget, error) + RevokeAppInstallation func(ctx context.Context, installationID, requesterID string) (AppInstallation, error) + RevokeBotToken func(ctx context.Context, tokenID, requesterID string) (BotToken, error) + RevokeConnectedAccount func(ctx context.Context, accountID, requesterID string) (ConnectedAccount, error) + RevokeEventSubscription func(ctx context.Context, subscriptionID, requesterID string) (EventSubscription, error) + RevokeSlashCommand func(ctx context.Context, commandID, requesterID string) (SlashCommand, error) + SearchMessages func(ctx context.Context, workspaceID, channelID, userID, query string, limit int) ([]SearchResult, error) + UpdateChannel func(ctx context.Context, input UpdateChannelInput) (Channel, Event, error) + UpdateMemberModeration func(ctx context.Context, input UpdateMemberModerationInput) (MemberModeration, Event, error) + UpdateMessage func(ctx context.Context, input UpdateMessageInput) (Message, Event, error) + UpdateNotificationSettings func(ctx context.Context, input UpdateNotificationSettingsInput) (NotificationSettings, error) + UpdateUserProfile func(ctx context.Context, input UpdateUserProfileInput) (User, error) + UpdateUserProfileAndNotificationSettings func(ctx context.Context, input UpdateUserProfileAndNotificationSettingsInput) (User, error) + UploadHasDirectMessageAttachment func(ctx context.Context, uploadID string) (bool, error) + UploadHasOtherDirectMessageAttachment func(ctx context.Context, uploadID, messageID string) (bool, error) + UploadQuota func(ctx context.Context, workspaceID, userID string) (UploadQuota, error) + UpsertIdentityUser func(ctx context.Context, input UpsertIdentityUserInput) (User, error) + UserHasNonGuestMembership func(ctx context.Context, userID string) (bool, error) + type ThreadState struct + LastReplyAt *string + LastReplyAuthorIDs []string + LastReplyAuthorIDsJSON string + ReplyCount int64 + RootMessageID string + type Topic struct + ArchivedAt *string + ChannelID string + CreatedAt string + CreatedBy string + ID string + Name string + WorkspaceID string + type UpdateChannelInput struct + Archived *bool + ChannelID string + Kind string + Name string + UserID string + type UpdateMemberModerationInput struct + ActorUserID string + Blocked *bool + ClearTimeout bool + ModerationNote *string + Role string + TargetUserID string + TimeoutUntil *string + WorkspaceID string + type UpdateMessageInput struct + Body string + MessageID string + UserID string + type UpdateNotificationSettingsInput struct + PushoverEnabled bool + PushoverUserKey string + UserID string + type UpdateUserProfileAndNotificationSettingsInput struct + AvatarURL string + DisplayName string + Handle string + NotificationSettings *NotificationSettings + UserID string + type UpdateUserProfileInput struct + AvatarURL string + DisplayName string + Handle string + UserID string + type Upload struct + ByteSize int64 + ContentType string + CreatedAt string + DurationMS int + Filename string + Height int + ID string + OwnerID string + StoragePath string + Width int + WorkspaceID string + type UploadQuota struct + MaxBytes int64 + MaxCount int64 + RemainingBytes int64 + RemainingCount int64 + UsedBytes int64 + UsedCount int64 + func (q UploadQuota) CanFit(byteSize int64) error + type UploadQuotaReservation struct + ByteSize int64 + CreatedAt string + ExpiresAt string + ID string + OwnerID string + WorkspaceID string + type UpsertIdentityUserInput struct + AvatarURL string + DisplayName string + Email string + Provider string + ProviderSubject string + type User struct + AvatarURL string + CreatedAt string + DisplayName string + Handle string + ID string + Kind string + NotificationSettings *NotificationSettings + OwnerUserID string + type Workspace struct + CreatedAt string + ID string + Name string + Role string + RouteID string + Slug string