UNPKG

@veas/protocol

Version:

Universal protocol for knowledge management and project tracking systems - enabling seamless interoperability between platforms and AI assistants

56 lines 4.17 kB
import type { ListParams, ListResponse, OutputFormat } from '../common/index.js'; import type { Workspace, CreateWorkspaceData, UpdateWorkspaceData, WorkspaceFilters, Channel, CreateChannelData, UpdateChannelData, ChannelFilters, Message, CreateMessageData, UpdateMessageData, MessageFilters, Thread, Reaction, AddReactionData, ChannelMember, WorkspaceMember, MessageSearchResult, SearchMessagesParams } from './types.js'; export interface CommunicationProtocol { listWorkspaces(params: ListParams & { filters?: WorkspaceFilters; } & OutputFormat): Promise<ListResponse<Workspace>>; getWorkspace(id: string, params?: OutputFormat): Promise<Workspace>; createWorkspace(data: CreateWorkspaceData): Promise<Workspace>; updateWorkspace(id: string, data: UpdateWorkspaceData): Promise<Workspace>; deleteWorkspace(id: string): Promise<void>; listChannels(params: ListParams & { filters?: ChannelFilters; } & OutputFormat): Promise<ListResponse<Channel>>; getChannel(id: string, params?: OutputFormat): Promise<Channel>; getChannelByContext(contextType: string, contextId: string, workspaceId: string, params?: OutputFormat): Promise<Channel | null>; createChannel(data: CreateChannelData): Promise<Channel>; updateChannel(id: string, data: UpdateChannelData): Promise<Channel>; deleteChannel(id: string): Promise<void>; archiveChannel(id: string): Promise<void>; unarchiveChannel(id: string): Promise<void>; listMessages(channelId: string, params: ListParams & { filters?: MessageFilters; } & OutputFormat): Promise<ListResponse<Message>>; getMessage(id: string, params?: OutputFormat): Promise<Message>; getMessagesByIssue(channelId: string, issueId: string, params?: ListParams & OutputFormat): Promise<ListResponse<Message>>; sendMessage(data: CreateMessageData): Promise<Message>; updateMessage(id: string, data: UpdateMessageData): Promise<Message>; deleteMessage(id: string): Promise<void>; getThread(messageId: string, params?: OutputFormat): Promise<Thread>; listThreadReplies(threadTs: string, params?: ListParams & OutputFormat): Promise<ListResponse<Message>>; lockThread?(threadTs: string): Promise<void>; unlockThread?(threadTs: string): Promise<void>; addReaction(data: AddReactionData): Promise<Reaction>; removeReaction(messageId: string, emoji: string): Promise<void>; listReactions(messageId: string, params?: OutputFormat): Promise<Reaction[]>; listChannelMembers(channelId: string, params?: ListParams & OutputFormat): Promise<ListResponse<ChannelMember>>; joinChannel(channelId: string): Promise<ChannelMember>; leaveChannel(channelId: string): Promise<void>; inviteToChannel(channelId: string, userIds: string[]): Promise<ChannelMember[]>; removeFromChannel(channelId: string, userId: string): Promise<void>; listWorkspaceMembers(workspaceId: string, params?: ListParams & OutputFormat): Promise<ListResponse<WorkspaceMember>>; addWorkspaceMember(workspaceId: string, userId: string, role?: string): Promise<WorkspaceMember>; updateWorkspaceMember(workspaceId: string, userId: string, updates: Partial<WorkspaceMember>): Promise<WorkspaceMember>; removeWorkspaceMember(workspaceId: string, userId: string): Promise<void>; searchMessages(params: SearchMessagesParams & ListParams & OutputFormat): Promise<ListResponse<MessageSearchResult>>; searchChannels?(query: string, workspaceId: string, params?: ListParams & OutputFormat): Promise<ListResponse<Channel>>; bulkDeleteMessages?(messageIds: string[]): Promise<void>; bulkAddReactions?(reactions: AddReactionData[]): Promise<Reaction[]>; subscribeToChannel?(channelId: string, callback: (message: Message) => void): () => void; subscribeToThread?(threadTs: string, callback: (message: Message) => void): () => void; markAsRead?(channelId: string, timestamp: string): Promise<void>; sendTypingIndicator?(channelId: string): Promise<void>; uploadFile?(channelId: string, file: File): Promise<string>; deleteFile?(fileId: string): Promise<void>; } //# sourceMappingURL=interfaces.d.ts.map