brainy/.recovery-workspace/dist-backup-20250910-141917/config/extensibleConfig.d.ts
David Snelling 8ff382ca3b chore: recovery checkpoint - v3.0 API successfully recovered
CRITICAL CHECKPOINT - DO NOT PUSH TO GITHUB

Recovery Status:
- Successfully recovered brainy.ts from compiled JavaScript
- All core v3.0 API methods functional (add, get, update, delete, relate, find, etc.)
- Neural subsystem intact (562KB embedded patterns, NLP working)
- Augmentation pipeline operational (20+ augmentations)
- HNSW clustering system complete
- Triple Intelligence compiled (needs constructor fix)
- Test suite validates functionality

Changes preserved:
- 898 files with changes from last 3 days
- 144,475 insertions
- All augmentation improvements
- All test coverage enhancements
- Complete v3.0 feature set

This is a LOCAL checkpoint only - contains recovered work after corruption incident.
Created backup in .backups/brainy-full-20250910-151314.tar.gz

Branch: recovery-checkpoint-20250910-151433
Date: Wed Sep 10 03:18:04 PM PDT 2025
2025-09-10 15:18:04 -07:00

99 lines
2.7 KiB
TypeScript

/**
* Extensible Configuration System
* Allows augmentations to register new storage types, presets, and configurations
*/
import { PresetConfig } from './distributedPresets.js';
import { StorageConfigResult } from './storageAutoConfig.js';
/**
* Storage provider registration interface
*/
export interface StorageProvider {
type: string;
name: string;
description: string;
detect: () => Promise<boolean>;
getConfig: () => Promise<any>;
priority?: number;
requirements?: {
env?: string[];
packages?: string[];
};
}
/**
* Preset extension interface
*/
export interface PresetExtension {
name: string;
config: PresetConfig;
override?: boolean;
}
/**
* Global registry for extensions
*/
declare class ConfigurationRegistry {
private static instance;
private storageProviders;
private presetExtensions;
private autoDetectHooks;
private constructor();
static getInstance(): ConfigurationRegistry;
/**
* Register a new storage provider
* This is how augmentations add new storage types
*/
registerStorageProvider(provider: StorageProvider): void;
/**
* Register a new preset
*/
registerPreset(name: string, extension: PresetExtension): void;
/**
* Register an auto-detection hook
*/
registerAutoDetectHook(hook: () => Promise<any>): void;
/**
* Get all registered storage providers
*/
getStorageProviders(): StorageProvider[];
/**
* Get all registered presets (built-in + extensions)
*/
getAllPresets(): Map<string, PresetConfig>;
/**
* Auto-detect storage including extensions
*/
autoDetectStorage(): Promise<StorageConfigResult>;
/**
* Register built-in providers
*/
private registerBuiltInProviders;
}
/**
* Example: Redis storage provider registration
* This would be in the redis augmentation package
*/
export declare const redisStorageProvider: StorageProvider;
/**
* Example: MongoDB storage provider
*/
export declare const mongoStorageProvider: StorageProvider;
/**
* Example: PostgreSQL with pgvector extension
*/
export declare const postgresStorageProvider: StorageProvider;
/**
* How an augmentation would register its storage provider
*/
export declare function registerStorageAugmentation(provider: StorageProvider): void;
/**
* How to register a new preset
*/
export declare function registerPresetAugmentation(name: string, config: PresetConfig): void;
/**
* Example preset for Redis-based caching service
*/
export declare const redisCachePreset: PresetConfig;
/**
* Get the configuration registry
*/
export declare function getConfigRegistry(): ConfigurationRegistry;
export {};