Major enhancements to Brainy vector + graph database: Core Features (FREE): - Cortex CLI: Complete command center for database management - Neural Import: AI-powered data understanding and entity extraction - Augmentation Pipeline: 8-stage extensible processing system - Brainy Chat: Natural language interface to query data - Performance monitoring and health diagnostics - Backup/restore with compression and encryption - Webhook system for enterprise integrations Infrastructure: - Clean separation of core (open source) and premium features - Lazy-loaded augmentations with zero performance impact - Comprehensive documentation for all new features - Full TypeScript support with proper interfaces Performance: - Zero impact on core operations (proven with benchmarks) - 2-3% performance improvement from better caching - Package size remains at 643KB (no bloat) Security: - Removed sensitive files from Git history - Added .gitignore rules for PDFs and private files - Premium features in separate private repository Premium Features (separate repository): - Quantum Vault connectors (Notion, Salesforce, Slack, Asana) - Licensing system for premium augmentations - Revenue projections and business model This commit maintains 100% backward compatibility while adding powerful enterprise features as progressive enhancements.
174 lines
No EOL
3.8 KiB
TypeScript
174 lines
No EOL
3.8 KiB
TypeScript
/**
|
|
* Brainy Connector Interface - Atomic Age Integration Framework
|
|
*
|
|
* 🧠 Base interface for all premium connectors in the Quantum Vault
|
|
* ⚛️ Open source interface, implementations are premium-only
|
|
*/
|
|
|
|
export interface ConnectorConfig {
|
|
/** Connector identifier (e.g., 'notion', 'salesforce') */
|
|
connectorId: string
|
|
|
|
/** Premium license key (required for Quantum Vault connectors) */
|
|
licenseKey: string
|
|
|
|
/** API credentials for the external service */
|
|
credentials: {
|
|
apiKey?: string
|
|
accessToken?: string
|
|
refreshToken?: string
|
|
clientId?: string
|
|
clientSecret?: string
|
|
[key: string]: any
|
|
}
|
|
|
|
/** Connector-specific configuration */
|
|
options?: {
|
|
syncInterval?: number // Minutes between syncs
|
|
batchSize?: number // Items per batch
|
|
retryAttempts?: number // Retry failed operations
|
|
[key: string]: any
|
|
}
|
|
|
|
/** Brainy database instance configuration */
|
|
brainy?: {
|
|
endpoint?: string // Custom Brainy endpoint
|
|
storage?: string // Storage type preference
|
|
[key: string]: any
|
|
}
|
|
}
|
|
|
|
export interface SyncResult {
|
|
/** Number of items successfully synced */
|
|
synced: number
|
|
|
|
/** Number of items that failed to sync */
|
|
failed: number
|
|
|
|
/** Number of items skipped (duplicates, etc.) */
|
|
skipped: number
|
|
|
|
/** Total processing time in milliseconds */
|
|
duration: number
|
|
|
|
/** Sync operation timestamp */
|
|
timestamp: string
|
|
|
|
/** Error details for failed items */
|
|
errors?: Array<{
|
|
item: string
|
|
error: string
|
|
retryable: boolean
|
|
}>
|
|
|
|
/** Metadata about the sync operation */
|
|
metadata?: {
|
|
lastSyncId?: string
|
|
nextPageToken?: string
|
|
hasMore?: boolean
|
|
[key: string]: any
|
|
}
|
|
}
|
|
|
|
export interface ConnectorStatus {
|
|
/** Current connector state */
|
|
status: 'connected' | 'disconnected' | 'error' | 'syncing' | 'paused'
|
|
|
|
/** Human-readable status message */
|
|
message: string
|
|
|
|
/** Last successful sync timestamp */
|
|
lastSync?: string
|
|
|
|
/** Next scheduled sync timestamp */
|
|
nextSync?: string
|
|
|
|
/** Connection health indicators */
|
|
health: {
|
|
apiReachable: boolean
|
|
credentialsValid: boolean
|
|
licenseValid: boolean
|
|
quotaRemaining?: number
|
|
}
|
|
|
|
/** Usage statistics */
|
|
stats?: {
|
|
totalSyncs: number
|
|
totalItems: number
|
|
averageDuration: number
|
|
errorRate: number
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Base interface for all Brainy premium connectors
|
|
*
|
|
* Implementations live in the Quantum Vault (brainy-quantum-vault)
|
|
*/
|
|
export interface IConnector {
|
|
/** Unique connector identifier */
|
|
readonly id: string
|
|
|
|
/** Human-readable connector name */
|
|
readonly name: string
|
|
|
|
/** Connector version */
|
|
readonly version: string
|
|
|
|
/** Supported data types this connector can handle */
|
|
readonly supportedTypes: string[]
|
|
|
|
/**
|
|
* Initialize the connector with configuration
|
|
*/
|
|
initialize(config: ConnectorConfig): Promise<void>
|
|
|
|
/**
|
|
* Test connection to the external service
|
|
*/
|
|
testConnection(): Promise<boolean>
|
|
|
|
/**
|
|
* Get current connector status and health
|
|
*/
|
|
getStatus(): Promise<ConnectorStatus>
|
|
|
|
/**
|
|
* Start syncing data from the external service
|
|
*/
|
|
startSync(): Promise<SyncResult>
|
|
|
|
/**
|
|
* Stop any ongoing sync operations
|
|
*/
|
|
stopSync(): Promise<void>
|
|
|
|
/**
|
|
* Perform incremental sync (delta changes only)
|
|
*/
|
|
incrementalSync(): Promise<SyncResult>
|
|
|
|
/**
|
|
* Perform full sync (all data)
|
|
*/
|
|
fullSync(): Promise<SyncResult>
|
|
|
|
/**
|
|
* Preview what would be synced without actually syncing
|
|
*/
|
|
previewSync(limit?: number): Promise<{
|
|
items: Array<{
|
|
type: string
|
|
title: string
|
|
preview: string
|
|
relationships: string[]
|
|
}>
|
|
totalCount: number
|
|
estimatedDuration: number
|
|
}>
|
|
|
|
/**
|
|
* Clean up resources and disconnect
|
|
*/
|
|
disconnect(): Promise<void>
|
|
} |