Documentation
¶
Index ¶
- func GetGmailAPICallCount() int64
- func ResetGmailAPICallCount()
- type GDriveProvider
- func (g *GDriveProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
- func (g *GDriveProvider) FormatFilename(format string, metadata map[string]string) string
- func (g *GDriveProvider) Name() string
- func (g *GDriveProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, ...) ([]byte, error)
- func (g *GDriveProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
- func (g *GDriveProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
- func (g *GDriveProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
- func (g *GDriveProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
- func (g *GDriveProvider) Stat(ctx context.Context, pctx *sources.ProviderContext, path string) (*sources.FileInfo, error)
- type GitHubProvider
- func (g *GitHubProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
- func (g *GitHubProvider) FormatFilename(format string, metadata map[string]string) string
- func (g *GitHubProvider) Name() string
- func (g *GitHubProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, ...) ([]byte, error)
- func (g *GitHubProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
- func (g *GitHubProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
- func (g *GitHubProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
- func (g *GitHubProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
- func (g *GitHubProvider) Stat(ctx context.Context, pctx *sources.ProviderContext, path string) (*sources.FileInfo, error)
- type GmailProvider
- func (g *GmailProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
- func (g *GmailProvider) FormatFilename(format string, metadata map[string]string) string
- func (g *GmailProvider) Name() string
- func (g *GmailProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, ...) ([]byte, error)
- func (g *GmailProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
- func (g *GmailProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
- func (g *GmailProvider) ReadSearchResult(ctx context.Context, pctx *sources.ProviderContext, messageID string) ([]byte, error)
- func (g *GmailProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
- func (g *GmailProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
- func (g *GmailProvider) Stat(ctx context.Context, pctx *sources.ProviderContext, path string) (*sources.FileInfo, error)
- type NotionProvider
- func (n *NotionProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
- func (n *NotionProvider) FormatFilename(format string, metadata map[string]string) string
- func (n *NotionProvider) Name() string
- func (n *NotionProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, ...) ([]byte, error)
- func (n *NotionProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
- func (n *NotionProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
- func (n *NotionProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
- func (n *NotionProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
- func (n *NotionProvider) Stat(ctx context.Context, pctx *sources.ProviderContext, path string) (*sources.FileInfo, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetGmailAPICallCount ¶
func GetGmailAPICallCount() int64
GetGmailAPICallCount returns the current API call count
func ResetGmailAPICallCount ¶
func ResetGmailAPICallCount()
ResetGmailAPICallCount resets the API call counter
Types ¶
type GDriveProvider ¶
type GDriveProvider struct {
// contains filtered or unexported fields
}
GDriveProvider implements sources.Provider for Google Drive integration. It exposes Google Drive resources as a read-only filesystem under /sources/gdrive/
func NewGDriveProvider ¶
func NewGDriveProvider() *GDriveProvider
NewGDriveProvider creates a new Google Drive source provider
func (*GDriveProvider) ExecuteQuery ¶
func (g *GDriveProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
ExecuteQuery runs a Google Drive search query and returns results with generated filenames. This implements the sources.QueryExecutor interface for filesystem queries. Supports pagination via spec.PageToken for fetching subsequent pages.
func (*GDriveProvider) FormatFilename ¶
func (g *GDriveProvider) FormatFilename(format string, metadata map[string]string) string
FormatFilename generates a filename from metadata using a format template. Supported placeholders: {id}, {name}, {date}, {created}, {mime_type}, {ext} - {name} is the basename (no extension) - {ext} is the extension (includes leading dot, e.g. ".pdf") This implements the sources.QueryExecutor interface.
func (*GDriveProvider) Name ¶
func (g *GDriveProvider) Name() string
func (*GDriveProvider) Read ¶
func (g *GDriveProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, offset, length int64) ([]byte, error)
Read reads file content
func (*GDriveProvider) ReadDir ¶
func (g *GDriveProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
ReadDir lists directory contents
func (*GDriveProvider) ReadResult ¶
func (g *GDriveProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
ReadResult fetches the content of a Drive file by its file ID. This implements the sources.QueryExecutor interface.
func (*GDriveProvider) Readlink ¶
func (g *GDriveProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
Readlink is not supported for Drive
func (*GDriveProvider) Search ¶
func (g *GDriveProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
Search executes a Google Drive search query and returns results The query uses Google Drive query syntax (e.g., "name contains 'invoice'", "mimeType='application/pdf'")
type GitHubProvider ¶
type GitHubProvider struct {
// contains filtered or unexported fields
}
GitHubProvider implements sources.Provider for GitHub integration. It exposes GitHub resources as a read-only filesystem under /sources/github/
func NewGitHubProvider ¶
func NewGitHubProvider() *GitHubProvider
NewGitHubProvider creates a new GitHub source provider
func (*GitHubProvider) ExecuteQuery ¶
func (g *GitHubProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
ExecuteQuery runs a GitHub search query and returns results with generated filenames. This implements the sources.QueryExecutor interface for filesystem queries. Supports pagination via spec.PageToken for fetching subsequent pages.
func (*GitHubProvider) FormatFilename ¶
func (g *GitHubProvider) FormatFilename(format string, metadata map[string]string) string
FormatFilename generates a filename from metadata using the format template.
func (*GitHubProvider) Name ¶
func (g *GitHubProvider) Name() string
func (*GitHubProvider) Read ¶
func (g *GitHubProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, offset, length int64) ([]byte, error)
Read reads file content
func (*GitHubProvider) ReadDir ¶
func (g *GitHubProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
ReadDir lists directory contents
func (*GitHubProvider) ReadResult ¶
func (g *GitHubProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
ReadResult fetches the content of an issue/PR/repo by its ID. ID format: "type:owner/repo#number:content_type" for issues/PRs
"repo:owner/repo" for repositories
func (*GitHubProvider) Readlink ¶
func (g *GitHubProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
Readlink is not supported for GitHub
func (*GitHubProvider) Search ¶
func (g *GitHubProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
Search is not supported for GitHub (use the repository browser instead)
type GmailProvider ¶
type GmailProvider struct {
// contains filtered or unexported fields
}
GmailProvider implements sources.Provider for Gmail integration. Structure: /sources/gmail/messages/{category}/{sender}/{subject}/
func NewGmailProvider ¶
func NewGmailProvider() *GmailProvider
NewGmailProvider creates a new Gmail source provider
func (*GmailProvider) ExecuteQuery ¶
func (g *GmailProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
ExecuteQuery runs a Gmail search query and returns results with generated filenames. This implements the sources.QueryExecutor interface for filesystem queries. Supports pagination via spec.PageToken for fetching subsequent pages.
func (*GmailProvider) FormatFilename ¶
func (g *GmailProvider) FormatFilename(format string, metadata map[string]string) string
FormatFilename generates a filename from metadata using a format template. Supported placeholders: {id}, {date}, {from}, {to}, {subject}, {snippet} This implements the sources.QueryExecutor interface.
func (*GmailProvider) Name ¶
func (g *GmailProvider) Name() string
func (*GmailProvider) Read ¶
func (g *GmailProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, offset, length int64) ([]byte, error)
Read reads file content
func (*GmailProvider) ReadDir ¶
func (g *GmailProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
ReadDir lists directory contents
func (*GmailProvider) ReadResult ¶
func (g *GmailProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
ReadResult fetches the content of an email by its message ID. This implements the sources.QueryExecutor interface.
func (*GmailProvider) ReadSearchResult ¶
func (g *GmailProvider) ReadSearchResult(ctx context.Context, pctx *sources.ProviderContext, messageID string) ([]byte, error)
ReadSearchResult reads the content of a search result by message ID
func (*GmailProvider) Readlink ¶
func (g *GmailProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
Readlink is not supported for Gmail
func (*GmailProvider) Search ¶
func (g *GmailProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
Search executes a Gmail search query and returns results The query is passed directly to Gmail's search API (e.g., "is:unread", "from:john newer_than:7d")
type NotionProvider ¶
type NotionProvider struct {
// contains filtered or unexported fields
}
NotionProvider implements sources.Provider for Notion integration. It exposes Notion resources as a read-only filesystem under /sources/notion/
func NewNotionProvider ¶
func NewNotionProvider() *NotionProvider
NewNotionProvider creates a new Notion source provider
func (*NotionProvider) ExecuteQuery ¶
func (n *NotionProvider) ExecuteQuery(ctx context.Context, pctx *sources.ProviderContext, spec sources.QuerySpec) (*sources.QueryResponse, error)
ExecuteQuery runs a Notion search query and returns results with generated filenames. This implements the sources.QueryExecutor interface for filesystem queries. Supports pagination via spec.PageToken (Notion's start_cursor) for fetching subsequent pages.
func (*NotionProvider) FormatFilename ¶
func (n *NotionProvider) FormatFilename(format string, metadata map[string]string) string
FormatFilename generates a filename from metadata using a format template. Supported placeholders: {id}, {title}, {type}, {date}, {created} This implements the sources.QueryExecutor interface.
func (*NotionProvider) Name ¶
func (n *NotionProvider) Name() string
func (*NotionProvider) Read ¶
func (n *NotionProvider) Read(ctx context.Context, pctx *sources.ProviderContext, path string, offset, length int64) ([]byte, error)
Read reads file content
func (*NotionProvider) ReadDir ¶
func (n *NotionProvider) ReadDir(ctx context.Context, pctx *sources.ProviderContext, path string) ([]sources.DirEntry, error)
ReadDir lists directory contents
func (*NotionProvider) ReadResult ¶
func (n *NotionProvider) ReadResult(ctx context.Context, pctx *sources.ProviderContext, resultID string) ([]byte, error)
ReadResult fetches the content of a Notion page by its page ID. Returns the page content as markdown. This implements the sources.QueryExecutor interface.
func (*NotionProvider) Readlink ¶
func (n *NotionProvider) Readlink(ctx context.Context, pctx *sources.ProviderContext, path string) (string, error)
Readlink is not supported for Notion
func (*NotionProvider) Search ¶
func (n *NotionProvider) Search(ctx context.Context, pctx *sources.ProviderContext, query string, limit int) ([]sources.SearchResult, error)
Search executes a Notion search query and returns results The query is a plain text search term