Documentation
¶
Index ¶
- Constants
- type APIError
- type AuthenticationError
- type ClearAllResult
- type Client
- type ClipboardDeleteRequest
- type ClipboardDeleteResponse
- type ClipboardEncoding
- type ClipboardEntry
- type ClipboardGetFilters
- type ClipboardListResponse
- type ClipboardPushRequest
- type ClipboardResponse
- type ClipboardService
- func (s *ClipboardService) ClearAll(ctx context.Context) (*ClearAllResult, error)
- func (s *ClipboardService) Delete(ctx context.Context, req *ClipboardDeleteRequest) (bool, error)
- func (s *ClipboardService) DeleteByIndex(ctx context.Context, idx int) (bool, error)
- func (s *ClipboardService) DeleteByName(ctx context.Context, name string) (bool, error)
- func (s *ClipboardService) Get(ctx context.Context, filters *ClipboardGetFilters) (*ClipboardEntry, error)
- func (s *ClipboardService) GetByIndex(ctx context.Context, idx int) (*ClipboardEntry, error)
- func (s *ClipboardService) GetByName(ctx context.Context, name string) (*ClipboardEntry, error)
- func (s *ClipboardService) List(ctx context.Context, limit, offset int) (*ClipboardListResponse, error)
- func (s *ClipboardService) Pop(ctx context.Context) (*ClipboardEntry, error)
- func (s *ClipboardService) Push(ctx context.Context, req *ClipboardPushRequest) (*ClipboardEntry, error)
- func (s *ClipboardService) Set(ctx context.Context, req *ClipboardSetRequest) (*ClipboardEntry, error)
- type ClipboardSetRequest
- type ClipboardSource
- type ClipboardVisibility
- type CreateDocumentRequest
- type Document
- type DocumentCategory
- type DocumentFilters
- type DocumentFormat
- type DocumentSource
- type DocumentVisibility
- type DocumentsService
- func (s *DocumentsService) Create(ctx context.Context, req *CreateDocumentRequest) (*Document, error)
- func (s *DocumentsService) Delete(ctx context.Context, documentID string) error
- func (s *DocumentsService) Download(ctx context.Context, documentID string, projectUUID string) ([]byte, error)
- func (s *DocumentsService) Get(ctx context.Context, documentID string, includeContent, includeVersions bool) (*Document, error)
- func (s *DocumentsService) List(ctx context.Context, filters *DocumentFilters) (*ListDocumentsResponse, error)
- func (s *DocumentsService) Search(ctx context.Context, query string, filters map[string]interface{}, ...) (*SearchResponse, error)
- func (s *DocumentsService) Update(ctx context.Context, documentID string, req *UpdateDocumentRequest) (*UpdateDocumentResponse, error)
- type ErrorResponse
- type FileUpload
- type ListDocumentsResponse
- type ModelAttribution
- type NotFoundError
- type ProgressCallback
- type RAGDocumentReference
- type RAGResponse
- type RAGService
- func (s *RAGService) AskQuestion(ctx context.Context, query string) (string, error)
- func (s *RAGService) CheckAvailability(ctx context.Context) (map[string]interface{}, error)
- func (s *RAGService) FindRelevantDocuments(ctx context.Context, query, _ string, limit int) ([]RAGDocumentReference, error)
- func (s *RAGService) GetStorageStats(ctx context.Context, userID string) (*RAGStorageStats, error)
- func (s *RAGService) Query(ctx context.Context, query string) (*RAGResponse, error)
- func (s *RAGService) QueryWithSources(ctx context.Context, query, _ string) (*RAGResponse, error)
- type RAGStorageStats
- type RateLimitError
- type SearchResponse
- type SearchResult
- type SortOrder
- type UpdateDocumentRequest
- type UpdateDocumentResponse
- type UpdateOperation
- type UploadMetadata
- type UploadResponse
- type UploadStatus
- type UploadsService
- func (s *UploadsService) TrackUpload(ctx context.Context, uploadID string, onUpdate func(status *UploadStatus)) error
- func (s *UploadsService) UploadBatch(ctx context.Context, files []FileUpload, onProgress func(current, total int)) ([]UploadResponse, error)
- func (s *UploadsService) UploadFile(ctx context.Context, filePath string, metadata *UploadMetadata, ...) (*UploadResponse, error)
- func (s *UploadsService) UploadReader(ctx context.Context, reader io.Reader, size int64, metadata *UploadMetadata, ...) (*UploadResponse, error)
- type ValidationError
Constants ¶
const ( DefaultBaseURL = "https://plugged.in" DefaultTimeout = 60 * time.Second Version = "1.0.1" )
const DefaultClipboardSource = ClipboardSourceUI
DefaultClipboardSource is the default source for backward compatibility
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticationError ¶
type AuthenticationError struct {
Message string
}
AuthenticationError represents an authentication error
func (*AuthenticationError) Error ¶
func (e *AuthenticationError) Error() string
type ClearAllResult ¶
type ClearAllResult struct {
Deleted int `json:"deleted"` // Number of entries deleted
Success bool `json:"success"` // Whether the operation was successful
}
ClearAllResult provides structured feedback from clearing all clipboard entries
type Client ¶
type Client struct {
// Services
Clipboard *ClipboardService
Documents *DocumentsService
RAG *RAGService
Uploads *UploadsService
// contains filtered or unexported fields
}
Client is the main Plugged.in API client
func NewClientWithOptions ¶
NewClientWithOptions creates a new client with custom options
func (*Client) SetBaseURL ¶
SetBaseURL updates the base URL
type ClipboardDeleteRequest ¶
type ClipboardDeleteRequest struct {
Name *string `json:"name,omitempty"`
Idx *int `json:"idx,omitempty"`
}
ClipboardDeleteRequest represents a request to delete a clipboard entry
type ClipboardDeleteResponse ¶
type ClipboardDeleteResponse struct {
Success bool `json:"success"`
Deleted bool `json:"deleted,omitempty"`
Error string `json:"error,omitempty"`
}
ClipboardDeleteResponse represents the response from clipboard delete operations
type ClipboardEncoding ¶
type ClipboardEncoding string
ClipboardEncoding represents clipboard content encoding
const ( EncodingUTF8 ClipboardEncoding = "utf-8" EncodingBase64 ClipboardEncoding = "base64" EncodingHex ClipboardEncoding = "hex" )
type ClipboardEntry ¶
type ClipboardEntry struct {
UUID string `json:"uuid"`
Name *string `json:"name,omitempty"`
Idx *int `json:"idx,omitempty"`
Value string `json:"value"`
ContentType string `json:"contentType"`
Encoding ClipboardEncoding `json:"encoding"`
SizeBytes int `json:"sizeBytes"`
Visibility ClipboardVisibility `json:"visibility"`
CreatedByTool *string `json:"createdByTool,omitempty"`
CreatedByModel *string `json:"createdByModel,omitempty"`
// Source is optional for backward compatibility with older API responses
Source *ClipboardSource `json:"source,omitempty"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
}
ClipboardEntry represents a clipboard entry
type ClipboardGetFilters ¶
type ClipboardGetFilters struct {
Name *string `json:"name,omitempty"`
Idx *int `json:"idx,omitempty"`
}
ClipboardGetFilters represents filters for getting a clipboard entry
type ClipboardListResponse ¶
type ClipboardListResponse struct {
Success bool `json:"success"`
Entries []ClipboardEntry `json:"entries"`
Total int `json:"total,omitempty"`
Limit int `json:"limit,omitempty"`
Offset int `json:"offset,omitempty"`
}
ClipboardListResponse represents the response from listing clipboard entries
type ClipboardPushRequest ¶
type ClipboardPushRequest struct {
Value string `json:"value"`
ContentType string `json:"contentType,omitempty"`
Encoding ClipboardEncoding `json:"encoding,omitempty"`
Visibility ClipboardVisibility `json:"visibility,omitempty"`
CreatedByTool string `json:"createdByTool,omitempty"`
CreatedByModel string `json:"createdByModel,omitempty"`
TTLSeconds int `json:"ttlSeconds,omitempty"`
}
ClipboardPushRequest represents a request to push to indexed clipboard
type ClipboardResponse ¶
type ClipboardResponse struct {
Success bool `json:"success"`
Entry *ClipboardEntry `json:"entry,omitempty"`
Error string `json:"error,omitempty"`
}
ClipboardResponse represents the response from clipboard operations
type ClipboardService ¶
type ClipboardService struct {
// contains filtered or unexported fields
}
ClipboardService handles clipboard-related operations
func (*ClipboardService) ClearAll ¶
func (s *ClipboardService) ClearAll(ctx context.Context) (*ClearAllResult, error)
ClearAll clears all clipboard entries using bulk delete API. Returns a ClearAllResult with the count of deleted entries and success status.
func (*ClipboardService) Delete ¶
func (s *ClipboardService) Delete(ctx context.Context, req *ClipboardDeleteRequest) (bool, error)
Delete deletes a clipboard entry by name or index
func (*ClipboardService) DeleteByIndex ¶
DeleteByIndex deletes a clipboard entry by index (convenience method)
func (*ClipboardService) DeleteByName ¶
DeleteByName deletes a clipboard entry by name (convenience method)
func (*ClipboardService) Get ¶
func (s *ClipboardService) Get(ctx context.Context, filters *ClipboardGetFilters) (*ClipboardEntry, error)
Get retrieves a clipboard entry by name or index. Returns (nil, nil) if the entry is not found. Returns (nil, error) if there was an actual error.
func (*ClipboardService) GetByIndex ¶
func (s *ClipboardService) GetByIndex(ctx context.Context, idx int) (*ClipboardEntry, error)
GetByIndex retrieves a clipboard entry by index (convenience method)
func (*ClipboardService) GetByName ¶
func (s *ClipboardService) GetByName(ctx context.Context, name string) (*ClipboardEntry, error)
GetByName retrieves a clipboard entry by name (convenience method)
func (*ClipboardService) List ¶
func (s *ClipboardService) List(ctx context.Context, limit, offset int) (*ClipboardListResponse, error)
List retrieves clipboard entries with optional pagination. limit: maximum number of entries to return (1-100, default: 50) offset: number of entries to skip (default: 0)
func (*ClipboardService) Pop ¶
func (s *ClipboardService) Pop(ctx context.Context) (*ClipboardEntry, error)
Pop pops the last indexed entry from clipboard. Returns (nil, nil) if the clipboard is empty. Returns (nil, error) if there was an actual error.
func (*ClipboardService) Push ¶
func (s *ClipboardService) Push(ctx context.Context, req *ClipboardPushRequest) (*ClipboardEntry, error)
Push pushes a value to the indexed clipboard (auto-increment index)
func (*ClipboardService) Set ¶
func (s *ClipboardService) Set(ctx context.Context, req *ClipboardSetRequest) (*ClipboardEntry, error)
Set sets a named clipboard entry (upsert)
type ClipboardSetRequest ¶
type ClipboardSetRequest struct {
Name string `json:"name"`
Value string `json:"value"`
ContentType string `json:"contentType,omitempty"`
Encoding ClipboardEncoding `json:"encoding,omitempty"`
Visibility ClipboardVisibility `json:"visibility,omitempty"`
CreatedByTool string `json:"createdByTool,omitempty"`
CreatedByModel string `json:"createdByModel,omitempty"`
TTLSeconds int `json:"ttlSeconds,omitempty"`
}
ClipboardSetRequest represents a request to set a named clipboard entry
type ClipboardSource ¶
type ClipboardSource string
ClipboardSource represents the source of clipboard data
const ( ClipboardSourceUI ClipboardSource = "ui" ClipboardSourceSDK ClipboardSource = "sdk" ClipboardSourceMCP ClipboardSource = "mcp" )
type ClipboardVisibility ¶
type ClipboardVisibility string
ClipboardVisibility represents clipboard visibility
const ( ClipboardVisibilityPrivate ClipboardVisibility = "private" ClipboardVisibilityWorkspace ClipboardVisibility = "workspace" ClipboardVisibilityPublic ClipboardVisibility = "public" )
type CreateDocumentRequest ¶
type CreateDocumentRequest struct {
Title string `json:"title"`
Content string `json:"content"`
Format string `json:"format,omitempty"`
Category string `json:"category,omitempty"`
Tags []string `json:"tags,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
CreateDocumentRequest represents a request to create a document
type Document ¶
type Document struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
FileName string `json:"fileName"`
FileSize int64 `json:"fileSize"`
MimeType string `json:"mimeType"`
Tags []string `json:"tags,omitempty"`
Source DocumentSource `json:"source"`
Visibility DocumentVisibility `json:"visibility"`
Version int `json:"version"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
AIMetadata map[string]any `json:"aiMetadata,omitempty"`
ModelAttributions []ModelAttribution `json:"modelAttributions,omitempty"`
Content string `json:"content,omitempty"`
ContentEncoding string `json:"contentEncoding,omitempty"`
ContentHash string `json:"contentHash,omitempty"`
ParentDocumentID string `json:"parentDocumentId,omitempty"`
}
Document represents a document in the library
type DocumentCategory ¶
type DocumentCategory string
DocumentCategory represents document category
const ( CategoryReport DocumentCategory = "report" CategoryAnalysis DocumentCategory = "analysis" CategoryDocumentation DocumentCategory = "documentation" CategoryGuide DocumentCategory = "guide" CategoryResearch DocumentCategory = "research" CategoryCode DocumentCategory = "code" CategoryOther DocumentCategory = "other" )
type DocumentFilters ¶
type DocumentFilters struct {
Source DocumentSource `json:"source,omitempty"`
Tags []string `json:"tags,omitempty"`
Category DocumentCategory `json:"category,omitempty"`
DateFrom *time.Time `json:"dateFrom,omitempty"`
DateTo *time.Time `json:"dateTo,omitempty"`
ModelProvider string `json:"modelProvider,omitempty"`
ModelName string `json:"modelName,omitempty"`
SearchQuery string `json:"searchQuery,omitempty"`
Sort SortOrder `json:"sort,omitempty"`
Limit int `json:"limit,omitempty"`
Offset int `json:"offset,omitempty"`
}
DocumentFilters represents filters for listing documents
type DocumentFormat ¶
type DocumentFormat string
DocumentFormat represents document format
const ( FormatMarkdown DocumentFormat = "md" FormatText DocumentFormat = "txt" FormatJSON DocumentFormat = "json" FormatHTML DocumentFormat = "html" )
type DocumentSource ¶
type DocumentSource string
DocumentSource represents the source of a document
const ( SourceAll DocumentSource = "all" SourceUpload DocumentSource = "upload" SourceAIGenerated DocumentSource = "ai_generated" SourceAPI DocumentSource = "api" )
type DocumentVisibility ¶
type DocumentVisibility string
DocumentVisibility represents document visibility
const ( VisibilityPrivate DocumentVisibility = "private" VisibilityWorkspace DocumentVisibility = "workspace" VisibilityPublic DocumentVisibility = "public" )
type DocumentsService ¶
type DocumentsService struct {
// contains filtered or unexported fields
}
DocumentsService handles document-related operations
func (*DocumentsService) Create ¶
func (s *DocumentsService) Create(ctx context.Context, req *CreateDocumentRequest) (*Document, error)
Create creates a new AI-generated document
func (*DocumentsService) Delete ¶
func (s *DocumentsService) Delete(ctx context.Context, documentID string) error
Delete deletes a document
func (*DocumentsService) Download ¶
func (s *DocumentsService) Download(ctx context.Context, documentID string, projectUUID string) ([]byte, error)
Download downloads a document file
func (*DocumentsService) Get ¶
func (s *DocumentsService) Get(ctx context.Context, documentID string, includeContent, includeVersions bool) (*Document, error)
Get retrieves a specific document by ID
func (*DocumentsService) List ¶
func (s *DocumentsService) List(ctx context.Context, filters *DocumentFilters) (*ListDocumentsResponse, error)
List retrieves a list of documents with optional filters
func (*DocumentsService) Search ¶
func (s *DocumentsService) Search(ctx context.Context, query string, filters map[string]interface{}, limit, offset int) (*SearchResponse, error)
Search performs a semantic search on documents
func (*DocumentsService) Update ¶
func (s *DocumentsService) Update(ctx context.Context, documentID string, req *UpdateDocumentRequest) (*UpdateDocumentResponse, error)
Update updates an existing document
type ErrorResponse ¶
type ErrorResponse struct {
Error string `json:"error"`
Message string `json:"message"`
Details interface{} `json:"details,omitempty"`
}
ErrorResponse represents an error response from the API
type FileUpload ¶
type FileUpload struct {
Path string
Metadata *UploadMetadata
}
FileUpload represents a file to upload (retained for compatibility).
type ListDocumentsResponse ¶
type ListDocumentsResponse struct {
Documents []Document `json:"documents"`
Total int `json:"total"`
Limit int `json:"limit"`
Offset int `json:"offset"`
}
ListDocumentsResponse represents the response from listing documents
type ModelAttribution ¶
type ModelAttribution struct {
ModelName string `json:"modelName"`
ModelProvider string `json:"modelProvider"`
ContributionType string `json:"contributionType"`
Timestamp time.Time `json:"timestamp"`
Metadata map[string]any `json:"metadata,omitempty"`
}
ModelAttribution represents model contribution metadata
type NotFoundError ¶
NotFoundError represents a not found error
func (*NotFoundError) Error ¶
func (e *NotFoundError) Error() string
type ProgressCallback ¶
type ProgressCallback func(percent int)
ProgressCallback is retained for backwards compatibility.
type RAGDocumentReference ¶
type RAGDocumentReference struct {
DocumentID string `json:"documentId"`
Source string `json:"source,omitempty"`
}
RAGDocumentReference represents a matched document reference
type RAGResponse ¶
type RAGResponse struct {
Success bool `json:"success"`
Answer string `json:"answer,omitempty"`
Sources []string `json:"sources,omitempty"`
DocumentIDs []string `json:"documentIds,omitempty"`
Error string `json:"error,omitempty"`
}
RAGResponse represents a RAG query response
type RAGService ¶
type RAGService struct {
// contains filtered or unexported fields
}
RAGService handles RAG-related operations
func (*RAGService) AskQuestion ¶
AskQuestion performs a simple RAG query and returns the answer text.
func (*RAGService) CheckAvailability ¶
func (s *RAGService) CheckAvailability(ctx context.Context) (map[string]interface{}, error)
CheckAvailability checks if the RAG service is reachable.
func (*RAGService) FindRelevantDocuments ¶
func (s *RAGService) FindRelevantDocuments(ctx context.Context, query, _ string, limit int) ([]RAGDocumentReference, error)
FindRelevantDocuments finds documents relevant to a query.
func (*RAGService) GetStorageStats ¶
func (s *RAGService) GetStorageStats(ctx context.Context, userID string) (*RAGStorageStats, error)
GetStorageStats gets storage statistics for RAG.
func (*RAGService) Query ¶
func (s *RAGService) Query(ctx context.Context, query string) (*RAGResponse, error)
Query performs a RAG query and returns the raw response.
func (*RAGService) QueryWithSources ¶
func (s *RAGService) QueryWithSources(ctx context.Context, query, _ string) (*RAGResponse, error)
QueryWithSources performs a RAG query and returns the response with metadata.
type RAGStorageStats ¶
type RAGStorageStats struct {
DocumentsCount int `json:"documents_count"`
TotalChunks int `json:"total_chunks"`
EstimatedStorageMB float64 `json:"estimated_storage_mb"`
VectorsCount int `json:"vectors_count,omitempty"`
EmbeddingDimension int `json:"embedding_dimension,omitempty"`
IsEstimate bool `json:"is_estimate,omitempty"`
}
RAGStorageStats represents storage metrics returned by the API
type RateLimitError ¶
RateLimitError represents a rate limit error
func (*RateLimitError) Error ¶
func (e *RateLimitError) Error() string
type SearchResponse ¶
type SearchResponse struct {
Results []SearchResult `json:"results"`
Total int `json:"total"`
Limit int `json:"limit"`
Offset int `json:"offset"`
HasMore bool `json:"hasMore"`
}
SearchResponse represents the response from searching documents
type SearchResult ¶
type SearchResult struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
Snippet string `json:"snippet"`
RelevanceScore float64 `json:"relevanceScore"`
Source string `json:"source"`
AIMetadata map[string]any `json:"aiMetadata,omitempty"`
Tags []string `json:"tags,omitempty"`
Visibility string `json:"visibility"`
CreatedAt time.Time `json:"createdAt"`
ModelAttributions []ModelAttribution `json:"modelAttributions,omitempty"`
}
SearchResult represents a search result
type UpdateDocumentRequest ¶
type UpdateDocumentRequest struct {
Operation UpdateOperation `json:"operation"`
Content string `json:"content"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
UpdateDocumentRequest represents a request to update a document
type UpdateDocumentResponse ¶
type UpdateDocumentResponse struct {
Success bool `json:"success"`
DocumentID string `json:"documentId"`
Version int `json:"version"`
FileWritten bool `json:"fileWritten"`
Message string `json:"message,omitempty"`
}
UpdateDocumentResponse represents the response from updating a document
type UpdateOperation ¶
type UpdateOperation string
UpdateOperation represents update operations
const ( OpReplace UpdateOperation = "replace" OpAppend UpdateOperation = "append" OpPrepend UpdateOperation = "prepend" )
type UploadMetadata ¶
type UploadMetadata struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Tags []string `json:"tags,omitempty"`
Purpose string `json:"purpose,omitempty"`
RelatedTo string `json:"relatedTo,omitempty"`
ProjectID string `json:"projectId,omitempty"`
}
UploadMetadata represents metadata for file uploads
type UploadResponse ¶
type UploadResponse struct {
Success bool `json:"success"`
DocumentID string `json:"documentId,omitempty"`
UploadID string `json:"uploadId,omitempty"`
Error string `json:"error,omitempty"`
Message string `json:"message,omitempty"`
}
UploadResponse represents the response from uploading a file
type UploadStatus ¶
type UploadStatus struct {
UploadID string `json:"uploadId"`
Status string `json:"status"`
Message string `json:"message"`
Progress int `json:"progress"`
}
UploadStatus represents the status of an upload
type UploadsService ¶
type UploadsService struct {
// contains filtered or unexported fields
}
UploadsService handles upload operations. The public API no longer exposes direct binary upload endpoints. The methods now return informative errors to help consumers migrate to the supported flows.
func (*UploadsService) TrackUpload ¶
func (s *UploadsService) TrackUpload(ctx context.Context, uploadID string, onUpdate func(status *UploadStatus)) error
TrackUpload is no longer supported.
func (*UploadsService) UploadBatch ¶
func (s *UploadsService) UploadBatch(ctx context.Context, files []FileUpload, onProgress func(current, total int)) ([]UploadResponse, error)
UploadBatch is no longer supported.
func (*UploadsService) UploadFile ¶
func (s *UploadsService) UploadFile(ctx context.Context, filePath string, metadata *UploadMetadata, onProgress ProgressCallback) (*UploadResponse, error)
UploadFile is no longer supported.
func (*UploadsService) UploadReader ¶
func (s *UploadsService) UploadReader(ctx context.Context, reader io.Reader, size int64, metadata *UploadMetadata, onProgress ProgressCallback) (*UploadResponse, error)
UploadReader is no longer supported.
type ValidationError ¶
ValidationError represents a validation error
func (*ValidationError) Error ¶
func (e *ValidationError) Error() string