Versions in this module Expand all Collapse all v1 v1.0.0 Jan 30, 2026 Changes in this version + const KeyAPIKey + const KeyClientID + const KeyClientSecret + const KeyOrgID + func GrantTokenKey(grantID string) string + type AdminClient interface + CreateApplication func(ctx context.Context, req *domain.CreateApplicationRequest) (*domain.Application, error) + CreateConnector func(ctx context.Context, req *domain.CreateConnectorRequest) (*domain.Connector, error) + CreateCredential func(ctx context.Context, connectorID string, req *domain.CreateCredentialRequest) (*domain.ConnectorCredential, error) + DeleteApplication func(ctx context.Context, appID string) error + DeleteConnector func(ctx context.Context, connectorID string) error + DeleteCredential func(ctx context.Context, credentialID string) error + GetApplication func(ctx context.Context, appID string) (*domain.Application, error) + GetConnector func(ctx context.Context, connectorID string) (*domain.Connector, error) + GetCredential func(ctx context.Context, credentialID string) (*domain.ConnectorCredential, error) + GetGrantStats func(ctx context.Context) (*domain.GrantStats, error) + ListAllGrants func(ctx context.Context, params *domain.GrantsQueryParams) ([]domain.Grant, error) + ListApplications func(ctx context.Context) ([]domain.Application, error) + ListConnectors func(ctx context.Context) ([]domain.Connector, error) + ListCredentials func(ctx context.Context, connectorID string) ([]domain.ConnectorCredential, error) + UpdateApplication func(ctx context.Context, appID string, req *domain.UpdateApplicationRequest) (*domain.Application, error) + UpdateConnector func(ctx context.Context, connectorID string, req *domain.UpdateConnectorRequest) (*domain.Connector, error) + UpdateCredential func(ctx context.Context, credentialID string, req *domain.UpdateCredentialRequest) (*domain.ConnectorCredential, error) + type AuthClient interface + BuildAuthURL func(provider domain.Provider, redirectURI string) string + ExchangeCode func(ctx context.Context, code, redirectURI string) (*domain.Grant, error) + GetGrant func(ctx context.Context, grantID string) (*domain.Grant, error) + ListGrants func(ctx context.Context) ([]domain.Grant, error) + RevokeGrant func(ctx context.Context, grantID string) error + type Browser interface + Open func(url string) error + type CalendarClient interface + CreateCalendar func(ctx context.Context, grantID string, req *domain.CreateCalendarRequest) (*domain.Calendar, error) + CreateEvent func(ctx context.Context, grantID, calendarID string, ...) (*domain.Event, error) + CreateVirtualCalendarGrant func(ctx context.Context, email string) (*domain.VirtualCalendarGrant, error) + DeleteCalendar func(ctx context.Context, grantID, calendarID string) error + DeleteEvent func(ctx context.Context, grantID, calendarID, eventID string) error + DeleteRecurringEventInstance func(ctx context.Context, grantID, calendarID, eventID string) error + DeleteVirtualCalendarGrant func(ctx context.Context, grantID string) error + GetAvailability func(ctx context.Context, req *domain.AvailabilityRequest) (*domain.AvailabilityResponse, error) + GetCalendar func(ctx context.Context, grantID, calendarID string) (*domain.Calendar, error) + GetCalendars func(ctx context.Context, grantID string) ([]domain.Calendar, error) + GetEvent func(ctx context.Context, grantID, calendarID, eventID string) (*domain.Event, error) + GetEvents func(ctx context.Context, grantID, calendarID string, ...) ([]domain.Event, error) + GetEventsWithCursor func(ctx context.Context, grantID, calendarID string, ...) (*domain.EventListResponse, error) + GetFreeBusy func(ctx context.Context, grantID string, req *domain.FreeBusyRequest) (*domain.FreeBusyResponse, error) + GetRecurringEventInstances func(ctx context.Context, grantID, calendarID, masterEventID string, ...) ([]domain.Event, error) + GetVirtualCalendarGrant func(ctx context.Context, grantID string) (*domain.VirtualCalendarGrant, error) + ListVirtualCalendarGrants func(ctx context.Context) ([]domain.VirtualCalendarGrant, error) + SendRSVP func(ctx context.Context, grantID, calendarID, eventID string, ...) error + UpdateCalendar func(ctx context.Context, grantID, calendarID string, ...) (*domain.Calendar, error) + UpdateEvent func(ctx context.Context, grantID, calendarID, eventID string, ...) (*domain.Event, error) + UpdateRecurringEventInstance func(ctx context.Context, grantID, calendarID, eventID string, ...) (*domain.Event, error) + type Column struct + Field string + Header string + Width int + type ConfigStore interface + Exists func() bool + Load func() (*domain.Config, error) + Path func() string + Save func(config *domain.Config) error + type ContactClient interface + CreateContact func(ctx context.Context, grantID string, req *domain.CreateContactRequest) (*domain.Contact, error) + CreateContactGroup func(ctx context.Context, grantID string, req *domain.CreateContactGroupRequest) (*domain.ContactGroup, error) + DeleteContact func(ctx context.Context, grantID, contactID string) error + DeleteContactGroup func(ctx context.Context, grantID, groupID string) error + GetContact func(ctx context.Context, grantID, contactID string) (*domain.Contact, error) + GetContactGroup func(ctx context.Context, grantID, groupID string) (*domain.ContactGroup, error) + GetContactGroups func(ctx context.Context, grantID string) ([]domain.ContactGroup, error) + GetContactWithPicture func(ctx context.Context, grantID, contactID string, includePicture bool) (*domain.Contact, error) + GetContacts func(ctx context.Context, grantID string, params *domain.ContactQueryParams) ([]domain.Contact, error) + GetContactsWithCursor func(ctx context.Context, grantID string, params *domain.ContactQueryParams) (*domain.ContactListResponse, error) + UpdateContact func(ctx context.Context, grantID, contactID string, ...) (*domain.Contact, error) + UpdateContactGroup func(ctx context.Context, grantID, groupID string, ...) (*domain.ContactGroup, error) + type GrantStore interface + ClearGrants func() error + DeleteGrant func(grantID string) error + GetDefaultGrant func() (string, error) + GetGrant func(grantID string) (*domain.GrantInfo, error) + GetGrantByEmail func(email string) (*domain.GrantInfo, error) + ListGrants func() ([]domain.GrantInfo, error) + SaveGrant func(info domain.GrantInfo) error + SetDefaultGrant func(grantID string) error + type InboundClient interface + CreateInboundInbox func(ctx context.Context, email string) (*domain.InboundInbox, error) + DeleteInboundInbox func(ctx context.Context, grantID string) error + GetInboundInbox func(ctx context.Context, grantID string) (*domain.InboundInbox, error) + GetInboundMessages func(ctx context.Context, grantID string, params *domain.MessageQueryParams) ([]domain.InboundMessage, error) + ListInboundInboxes func(ctx context.Context) ([]domain.InboundInbox, error) + type LLMProvider interface + Chat func(ctx context.Context, req *domain.ChatRequest) (*domain.ChatResponse, error) + ChatWithTools func(ctx context.Context, req *domain.ChatRequest, tools []domain.Tool) (*domain.ChatResponse, error) + IsAvailable func(ctx context.Context) bool + Name func() string + StreamChat func(ctx context.Context, req *domain.ChatRequest, ...) error + type LLMRouter interface + Chat func(ctx context.Context, req *domain.ChatRequest) (*domain.ChatResponse, error) + ChatWithProvider func(ctx context.Context, provider string, req *domain.ChatRequest) (*domain.ChatResponse, error) + GetProvider func(name string) (LLMProvider, error) + ListProviders func() []string + type MessageClient interface + CancelScheduledMessage func(ctx context.Context, grantID, scheduleID string) error + CreateDraft func(ctx context.Context, grantID string, req *domain.CreateDraftRequest) (*domain.Draft, error) + CreateFolder func(ctx context.Context, grantID string, req *domain.CreateFolderRequest) (*domain.Folder, error) + DeleteDraft func(ctx context.Context, grantID, draftID string) error + DeleteFolder func(ctx context.Context, grantID, folderID string) error + DeleteMessage func(ctx context.Context, grantID, messageID string) error + DeleteThread func(ctx context.Context, grantID, threadID string) error + DownloadAttachment func(ctx context.Context, grantID, messageID, attachmentID string) (io.ReadCloser, error) + GetAttachment func(ctx context.Context, grantID, messageID, attachmentID string) (*domain.Attachment, error) + GetDraft func(ctx context.Context, grantID, draftID string) (*domain.Draft, error) + GetDrafts func(ctx context.Context, grantID string, limit int) ([]domain.Draft, error) + GetFolder func(ctx context.Context, grantID, folderID string) (*domain.Folder, error) + GetFolders func(ctx context.Context, grantID string) ([]domain.Folder, error) + GetMessage func(ctx context.Context, grantID, messageID string) (*domain.Message, error) + GetMessageWithFields func(ctx context.Context, grantID, messageID string, fields string) (*domain.Message, error) + GetMessages func(ctx context.Context, grantID string, limit int) ([]domain.Message, error) + GetMessagesWithCursor func(ctx context.Context, grantID string, params *domain.MessageQueryParams) (*domain.MessageListResponse, error) + GetMessagesWithParams func(ctx context.Context, grantID string, params *domain.MessageQueryParams) ([]domain.Message, error) + GetScheduledMessage func(ctx context.Context, grantID, scheduleID string) (*domain.ScheduledMessage, error) + GetThread func(ctx context.Context, grantID, threadID string) (*domain.Thread, error) + GetThreads func(ctx context.Context, grantID string, params *domain.ThreadQueryParams) ([]domain.Thread, error) + ListAttachments func(ctx context.Context, grantID, messageID string) ([]domain.Attachment, error) + ListScheduledMessages func(ctx context.Context, grantID string) ([]domain.ScheduledMessage, error) + SendDraft func(ctx context.Context, grantID, draftID string) (*domain.Message, error) + SendMessage func(ctx context.Context, grantID string, req *domain.SendMessageRequest) (*domain.Message, error) + SmartCompose func(ctx context.Context, grantID string, req *domain.SmartComposeRequest) (*domain.SmartComposeSuggestion, error) + SmartComposeReply func(ctx context.Context, grantID, messageID string, ...) (*domain.SmartComposeSuggestion, error) + UpdateDraft func(ctx context.Context, grantID, draftID string, req *domain.CreateDraftRequest) (*domain.Draft, error) + UpdateFolder func(ctx context.Context, grantID, folderID string, req *domain.UpdateFolderRequest) (*domain.Folder, error) + UpdateMessage func(ctx context.Context, grantID, messageID string, ...) (*domain.Message, error) + UpdateThread func(ctx context.Context, grantID, threadID string, ...) (*domain.Thread, error) + type NotetakerClient interface + CreateNotetaker func(ctx context.Context, grantID string, req *domain.CreateNotetakerRequest) (*domain.Notetaker, error) + DeleteNotetaker func(ctx context.Context, grantID, notetakerID string) error + GetNotetaker func(ctx context.Context, grantID, notetakerID string) (*domain.Notetaker, error) + GetNotetakerMedia func(ctx context.Context, grantID, notetakerID string) (*domain.MediaData, error) + ListNotetakers func(ctx context.Context, grantID string, params *domain.NotetakerQueryParams) ([]domain.Notetaker, error) + type NylasClient interface + SetCredentials func(clientID, clientSecret, apiKey string) + SetRegion func(region string) + type OAuthServer interface + GetRedirectURI func() string + Start func() error + Stop func() error + WaitForCallback func(ctx context.Context) (string, error) + type OutputFormat string + const FormatJSON + const FormatQuiet + const FormatTable + const FormatYAML + type OutputOptions struct + Format OutputFormat + NoColor bool + Writer io.Writer + type OutputWriter interface + Write func(data any) error + WriteError func(err error) error + WriteList func(data any, columns []Column) error + type QuietFielder interface + QuietField func() string + type SchedulerClient interface + CancelBooking func(ctx context.Context, bookingID string, reason string) error + ConfirmBooking func(ctx context.Context, bookingID string, req *domain.ConfirmBookingRequest) (*domain.Booking, error) + CreateSchedulerConfiguration func(ctx context.Context, req *domain.CreateSchedulerConfigurationRequest) (*domain.SchedulerConfiguration, error) + CreateSchedulerPage func(ctx context.Context, req *domain.CreateSchedulerPageRequest) (*domain.SchedulerPage, error) + CreateSchedulerSession func(ctx context.Context, req *domain.CreateSchedulerSessionRequest) (*domain.SchedulerSession, error) + DeleteSchedulerConfiguration func(ctx context.Context, configID string) error + DeleteSchedulerPage func(ctx context.Context, pageID string) error + GetBooking func(ctx context.Context, bookingID string) (*domain.Booking, error) + GetSchedulerConfiguration func(ctx context.Context, configID string) (*domain.SchedulerConfiguration, error) + GetSchedulerPage func(ctx context.Context, pageID string) (*domain.SchedulerPage, error) + GetSchedulerSession func(ctx context.Context, sessionID string) (*domain.SchedulerSession, error) + ListBookings func(ctx context.Context, configID string) ([]domain.Booking, error) + ListSchedulerConfigurations func(ctx context.Context) ([]domain.SchedulerConfiguration, error) + ListSchedulerPages func(ctx context.Context) ([]domain.SchedulerPage, error) + RescheduleBooking func(ctx context.Context, bookingID string, req *domain.RescheduleBookingRequest) (*domain.Booking, error) + UpdateSchedulerConfiguration func(ctx context.Context, configID string, ...) (*domain.SchedulerConfiguration, error) + UpdateSchedulerPage func(ctx context.Context, pageID string, req *domain.UpdateSchedulerPageRequest) (*domain.SchedulerPage, error) + type SecretStore interface + Delete func(key string) error + Get func(key string) (string, error) + IsAvailable func() bool + Name func() string + Set func(key, value string) error + type SlackClient interface + DeleteMessage func(ctx context.Context, channelID, messageTS string) error + DownloadFile func(ctx context.Context, downloadURL string) (io.ReadCloser, error) + GetChannel func(ctx context.Context, channelID string) (*domain.SlackChannel, error) + GetCurrentUser func(ctx context.Context) (*domain.SlackUser, error) + GetFileInfo func(ctx context.Context, fileID string) (*domain.SlackAttachment, error) + GetMessages func(ctx context.Context, params *domain.SlackMessageQueryParams) (*domain.SlackMessageListResponse, error) + GetThreadReplies func(ctx context.Context, channelID, threadTS string, limit int) ([]domain.SlackMessage, error) + GetUser func(ctx context.Context, userID string) (*domain.SlackUser, error) + ListChannels func(ctx context.Context, params *domain.SlackChannelQueryParams) (*domain.SlackChannelListResponse, error) + ListFiles func(ctx context.Context, params *domain.SlackFileQueryParams) (*domain.SlackFileListResponse, error) + ListMyChannels func(ctx context.Context, params *domain.SlackChannelQueryParams) (*domain.SlackChannelListResponse, error) + ListUsers func(ctx context.Context, limit int, cursor string) (*domain.SlackUserListResponse, error) + SearchMessages func(ctx context.Context, query string, limit int) ([]domain.SlackMessage, error) + SendMessage func(ctx context.Context, req *domain.SlackSendMessageRequest) (*domain.SlackMessage, error) + TestAuth func(ctx context.Context) (*domain.SlackAuth, error) + UpdateMessage func(ctx context.Context, channelID, messageTS, newText string) (*domain.SlackMessage, error) + type TemplateStore interface + Create func(ctx context.Context, t *domain.EmailTemplate) (*domain.EmailTemplate, error) + Delete func(ctx context.Context, id string) error + Get func(ctx context.Context, id string) (*domain.EmailTemplate, error) + IncrementUsage func(ctx context.Context, id string) error + List func(ctx context.Context, category string) ([]domain.EmailTemplate, error) + Path func() string + Update func(ctx context.Context, t *domain.EmailTemplate) (*domain.EmailTemplate, error) + type TimeZoneService interface + ConvertTime func(ctx context.Context, fromZone, toZone string, t time.Time) (time.Time, error) + FindMeetingTime func(ctx context.Context, req *domain.MeetingFinderRequest) (*domain.MeetingTimeSlots, error) + GetDSTTransitions func(ctx context.Context, zone string, year int) ([]domain.DSTTransition, error) + GetTimeZoneInfo func(ctx context.Context, zone string, at time.Time) (*domain.TimeZoneInfo, error) + ListTimeZones func(ctx context.Context) ([]string, error) + type Tunnel interface + GetPublicURL func() string + Start func(ctx context.Context) (publicURL string, err error) + Status func() TunnelStatus + StatusMessage func() string + Stop func() error + type TunnelConfig struct + LocalURL string + Provider string + type TunnelStatus string + const TunnelStatusConnected + const TunnelStatusDisconnected + const TunnelStatusError + const TunnelStatusReconnecting + const TunnelStatusStarting + type UtilityServices interface + type WebhookClient interface + CreateWebhook func(ctx context.Context, req *domain.CreateWebhookRequest) (*domain.Webhook, error) + DeleteWebhook func(ctx context.Context, webhookID string) error + GetWebhook func(ctx context.Context, webhookID string) (*domain.Webhook, error) + GetWebhookMockPayload func(ctx context.Context, triggerType string) (map[string]any, error) + ListWebhooks func(ctx context.Context) ([]domain.Webhook, error) + SendWebhookTestEvent func(ctx context.Context, webhookURL string) error + UpdateWebhook func(ctx context.Context, webhookID string, req *domain.UpdateWebhookRequest) (*domain.Webhook, error) + type WebhookEvent struct + Body map[string]any + GrantID string + Headers map[string]string + ID string + RawBody []byte + ReceivedAt time.Time + Signature string + Source string + Timestamp time.Time + Type string + Verified bool + type WebhookEventHandler func(event *WebhookEvent) + type WebhookServer interface + Events func() <-chan *WebhookEvent + GetLocalURL func() string + GetPublicURL func() string + GetStats func() WebhookServerStats + OnEvent func(handler WebhookEventHandler) + Start func(ctx context.Context) error + Stop func() error + type WebhookServerConfig struct + Path string + Port int + TunnelProvider string + WebhookSecret string + type WebhookServerStats struct + EventsReceived int + LastEventAt time.Time + LocalURL string + PublicURL string + StartedAt time.Time + TunnelProvider string + TunnelStatus string