agentic-qe 2.8.0 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +148 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +329 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +657 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/cli/commands/supabase/index.d.ts +20 -0
- package/dist/cli/commands/supabase/index.d.ts.map +1 -0
- package/dist/cli/commands/supabase/index.js +632 -0
- package/dist/cli/commands/supabase/index.js.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts +135 -0
- package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js +301 -0
- package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js.map +1 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +78 -6
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -1
- package/dist/code-intelligence/embeddings/NomicEmbedder.js +162 -21
- package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -1
- package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts +59 -0
- package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/backends/MemoryBackend.js +173 -0
- package/dist/code-intelligence/embeddings/backends/MemoryBackend.js.map +1 -0
- package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts +50 -0
- package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/backends/RedisBackend.js +279 -0
- package/dist/code-intelligence/embeddings/backends/RedisBackend.js.map +1 -0
- package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts +64 -0
- package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js +314 -0
- package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js.map +1 -0
- package/dist/code-intelligence/embeddings/backends/index.d.ts +16 -0
- package/dist/code-intelligence/embeddings/backends/index.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/backends/index.js +28 -0
- package/dist/code-intelligence/embeddings/backends/index.js.map +1 -0
- package/dist/code-intelligence/embeddings/backends/types.d.ts +177 -0
- package/dist/code-intelligence/embeddings/backends/types.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/backends/types.js +30 -0
- package/dist/code-intelligence/embeddings/backends/types.js.map +1 -0
- package/dist/code-intelligence/embeddings/index.d.ts +7 -0
- package/dist/code-intelligence/embeddings/index.d.ts.map +1 -1
- package/dist/code-intelligence/embeddings/index.js +16 -1
- package/dist/code-intelligence/embeddings/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/infrastructure/index.d.ts +15 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +44 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/network/AgentRateLimiter.d.ts +59 -0
- package/dist/infrastructure/network/AgentRateLimiter.d.ts.map +1 -0
- package/dist/infrastructure/network/AgentRateLimiter.js +186 -0
- package/dist/infrastructure/network/AgentRateLimiter.js.map +1 -0
- package/dist/infrastructure/network/AuditLogger.d.ts +102 -0
- package/dist/infrastructure/network/AuditLogger.d.ts.map +1 -0
- package/dist/infrastructure/network/AuditLogger.js +284 -0
- package/dist/infrastructure/network/AuditLogger.js.map +1 -0
- package/dist/infrastructure/network/DomainWhitelist.d.ts +111 -0
- package/dist/infrastructure/network/DomainWhitelist.d.ts.map +1 -0
- package/dist/infrastructure/network/DomainWhitelist.js +216 -0
- package/dist/infrastructure/network/DomainWhitelist.js.map +1 -0
- package/dist/infrastructure/network/NetworkPolicyManager.d.ts +97 -0
- package/dist/infrastructure/network/NetworkPolicyManager.d.ts.map +1 -0
- package/dist/infrastructure/network/NetworkPolicyManager.js +309 -0
- package/dist/infrastructure/network/NetworkPolicyManager.js.map +1 -0
- package/dist/infrastructure/network/index.d.ts +19 -0
- package/dist/infrastructure/network/index.d.ts.map +1 -0
- package/dist/infrastructure/network/index.js +46 -0
- package/dist/infrastructure/network/index.js.map +1 -0
- package/dist/infrastructure/network/policies/default-policies.d.ts +78 -0
- package/dist/infrastructure/network/policies/default-policies.d.ts.map +1 -0
- package/dist/infrastructure/network/policies/default-policies.js +312 -0
- package/dist/infrastructure/network/policies/default-policies.js.map +1 -0
- package/dist/infrastructure/network/types.d.ts +214 -0
- package/dist/infrastructure/network/types.d.ts.map +1 -0
- package/dist/infrastructure/network/types.js +25 -0
- package/dist/infrastructure/network/types.js.map +1 -0
- package/dist/infrastructure/sandbox/ResourceMonitor.d.ts +124 -0
- package/dist/infrastructure/sandbox/ResourceMonitor.d.ts.map +1 -0
- package/dist/infrastructure/sandbox/ResourceMonitor.js +305 -0
- package/dist/infrastructure/sandbox/ResourceMonitor.js.map +1 -0
- package/dist/infrastructure/sandbox/SandboxManager.d.ts +122 -0
- package/dist/infrastructure/sandbox/SandboxManager.d.ts.map +1 -0
- package/dist/infrastructure/sandbox/SandboxManager.js +527 -0
- package/dist/infrastructure/sandbox/SandboxManager.js.map +1 -0
- package/dist/infrastructure/sandbox/index.d.ts +18 -0
- package/dist/infrastructure/sandbox/index.d.ts.map +1 -0
- package/dist/infrastructure/sandbox/index.js +38 -0
- package/dist/infrastructure/sandbox/index.js.map +1 -0
- package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts +53 -0
- package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts.map +1 -0
- package/dist/infrastructure/sandbox/profiles/agent-profiles.js +433 -0
- package/dist/infrastructure/sandbox/profiles/agent-profiles.js.map +1 -0
- package/dist/infrastructure/sandbox/types.d.ts +227 -0
- package/dist/infrastructure/sandbox/types.d.ts.map +1 -0
- package/dist/infrastructure/sandbox/types.js +63 -0
- package/dist/infrastructure/sandbox/types.js.map +1 -0
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
- package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
- package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
- package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/index.js +9 -0
- package/dist/mcp/handlers/ruvector/index.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +100 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.js +882 -0
- package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
- package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
- package/dist/nervous-system/index.d.ts +25 -0
- package/dist/nervous-system/index.d.ts.map +1 -0
- package/dist/nervous-system/index.js +80 -0
- package/dist/nervous-system/index.js.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.js +696 -0
- package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
- package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
- package/dist/nervous-system/integration/index.d.ts +22 -0
- package/dist/nervous-system/integration/index.d.ts.map +1 -0
- package/dist/nervous-system/integration/index.js +44 -0
- package/dist/nervous-system/integration/index.js.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
- package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/index.d.ts +22 -0
- package/dist/nervous-system/persistence/index.d.ts.map +1 -0
- package/dist/nervous-system/persistence/index.js +45 -0
- package/dist/nervous-system/persistence/index.js.map +1 -0
- package/dist/nervous-system/wasm-loader.d.ts +52 -0
- package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
- package/dist/nervous-system/wasm-loader.js +188 -0
- package/dist/nervous-system/wasm-loader.js.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.js +1086 -0
- package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
- package/dist/persistence/IPersistenceProvider.d.ts +657 -0
- package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/IPersistenceProvider.js +11 -0
- package/dist/persistence/IPersistenceProvider.js.map +1 -0
- package/dist/persistence/SupabaseConfig.d.ts +176 -0
- package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
- package/dist/persistence/SupabaseConfig.js +277 -0
- package/dist/persistence/SupabaseConfig.js.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.js +959 -0
- package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/index.d.ts +11 -0
- package/dist/persistence/adapters/index.d.ts.map +1 -0
- package/dist/persistence/adapters/index.js +20 -0
- package/dist/persistence/adapters/index.js.map +1 -0
- package/dist/persistence/index.d.ts +14 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +36 -1
- package/dist/persistence/index.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supabase Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration types and utilities for Supabase cloud persistence.
|
|
5
|
+
* Supports environment variable loading and secure key management.
|
|
6
|
+
*
|
|
7
|
+
* @module persistence/SupabaseConfig
|
|
8
|
+
*/
|
|
9
|
+
import type { SharingConfig } from './IPersistenceProvider.js';
|
|
10
|
+
/**
|
|
11
|
+
* Environment variable names for Supabase configuration
|
|
12
|
+
*/
|
|
13
|
+
export declare const SUPABASE_ENV_VARS: {
|
|
14
|
+
/** Supabase project URL */
|
|
15
|
+
readonly URL: "SUPABASE_URL";
|
|
16
|
+
/** Supabase anonymous key (public) */
|
|
17
|
+
readonly ANON_KEY: "SUPABASE_ANON_KEY";
|
|
18
|
+
/** Supabase service role key (admin, optional) */
|
|
19
|
+
readonly SERVICE_ROLE_KEY: "SUPABASE_SERVICE_ROLE_KEY";
|
|
20
|
+
/** AQE project ID */
|
|
21
|
+
readonly PROJECT_ID: "AQE_PROJECT_ID";
|
|
22
|
+
/** Persistence provider type */
|
|
23
|
+
readonly PROVIDER: "AQE_PERSISTENCE_PROVIDER";
|
|
24
|
+
/** Default privacy level */
|
|
25
|
+
readonly DEFAULT_PRIVACY: "AQE_DEFAULT_PRIVACY";
|
|
26
|
+
/** Auto-share enabled */
|
|
27
|
+
readonly AUTO_SHARE: "AQE_AUTO_SHARE";
|
|
28
|
+
/** Auto-import enabled */
|
|
29
|
+
readonly AUTO_IMPORT: "AQE_AUTO_IMPORT";
|
|
30
|
+
/** Sync interval (ms) */
|
|
31
|
+
readonly SYNC_INTERVAL: "AQE_SYNC_INTERVAL";
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Supabase connection configuration
|
|
35
|
+
*/
|
|
36
|
+
export interface SupabaseConnectionConfig {
|
|
37
|
+
/** Supabase project URL (e.g., https://xxx.supabase.co) */
|
|
38
|
+
url: string;
|
|
39
|
+
/** Supabase anonymous key (safe to expose in client) */
|
|
40
|
+
anonKey: string;
|
|
41
|
+
/** Supabase service role key (admin operations only) */
|
|
42
|
+
serviceRoleKey?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Project configuration for multi-tenant support
|
|
46
|
+
*/
|
|
47
|
+
export interface ProjectConfig {
|
|
48
|
+
/** Project ID (auto-generated if not specified) */
|
|
49
|
+
projectId?: string;
|
|
50
|
+
/** Project name for display */
|
|
51
|
+
projectName?: string;
|
|
52
|
+
/** Owner user ID (from Supabase Auth) */
|
|
53
|
+
ownerId?: string;
|
|
54
|
+
/** Team member IDs with access */
|
|
55
|
+
teamIds?: string[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Sync configuration for hybrid mode
|
|
59
|
+
*/
|
|
60
|
+
export interface SyncConfig {
|
|
61
|
+
/** Sync interval in milliseconds (default: 60000 = 1 minute) */
|
|
62
|
+
syncInterval: number;
|
|
63
|
+
/** Conflict resolution strategy */
|
|
64
|
+
conflictResolution: 'local' | 'remote' | 'newest';
|
|
65
|
+
/** Maximum batch size for sync operations */
|
|
66
|
+
batchSize: number;
|
|
67
|
+
/** Retry attempts for failed syncs */
|
|
68
|
+
retryAttempts: number;
|
|
69
|
+
/** Retry delay in milliseconds */
|
|
70
|
+
retryDelay: number;
|
|
71
|
+
/** Enable background sync */
|
|
72
|
+
backgroundSync: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Full Supabase configuration
|
|
76
|
+
*/
|
|
77
|
+
export interface SupabaseConfig {
|
|
78
|
+
/** Connection configuration */
|
|
79
|
+
connection: SupabaseConnectionConfig;
|
|
80
|
+
/** Project configuration */
|
|
81
|
+
project: ProjectConfig;
|
|
82
|
+
/** Sharing configuration */
|
|
83
|
+
sharing: SharingConfig;
|
|
84
|
+
/** Sync configuration (for hybrid mode) */
|
|
85
|
+
sync: SyncConfig;
|
|
86
|
+
/** Enable RuVector extension features */
|
|
87
|
+
enableRuVector: boolean;
|
|
88
|
+
/** Enable Row-Level Security enforcement */
|
|
89
|
+
enableRLS: boolean;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Default sharing configuration (private by default)
|
|
93
|
+
*/
|
|
94
|
+
export declare const DEFAULT_SHARING_CONFIG: SharingConfig;
|
|
95
|
+
/**
|
|
96
|
+
* Default sync configuration
|
|
97
|
+
*/
|
|
98
|
+
export declare const DEFAULT_SYNC_CONFIG: SyncConfig;
|
|
99
|
+
/**
|
|
100
|
+
* Default Supabase configuration
|
|
101
|
+
*/
|
|
102
|
+
export declare const DEFAULT_SUPABASE_CONFIG: Partial<SupabaseConfig>;
|
|
103
|
+
/**
|
|
104
|
+
* Load Supabase configuration from environment variables
|
|
105
|
+
*
|
|
106
|
+
* @returns Partial configuration from environment
|
|
107
|
+
* @throws Error if required variables are missing
|
|
108
|
+
*/
|
|
109
|
+
export declare function loadSupabaseConfigFromEnv(): Partial<SupabaseConfig>;
|
|
110
|
+
/**
|
|
111
|
+
* Check if Supabase is configured via environment variables
|
|
112
|
+
*
|
|
113
|
+
* @returns True if Supabase URL and key are set
|
|
114
|
+
*/
|
|
115
|
+
export declare function isSupabaseConfigured(): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Get the configured persistence provider type from environment
|
|
118
|
+
*
|
|
119
|
+
* @returns Provider type or 'sqlite' as default
|
|
120
|
+
*/
|
|
121
|
+
export declare function getConfiguredProvider(): 'sqlite' | 'supabase' | 'hybrid';
|
|
122
|
+
/**
|
|
123
|
+
* Validation result for configuration
|
|
124
|
+
*/
|
|
125
|
+
export interface ConfigValidationResult {
|
|
126
|
+
valid: boolean;
|
|
127
|
+
errors: string[];
|
|
128
|
+
warnings: string[];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Validate Supabase configuration
|
|
132
|
+
*
|
|
133
|
+
* @param config Configuration to validate
|
|
134
|
+
* @returns Validation result
|
|
135
|
+
*/
|
|
136
|
+
export declare function validateSupabaseConfig(config: Partial<SupabaseConfig>): ConfigValidationResult;
|
|
137
|
+
/**
|
|
138
|
+
* Build a complete Supabase configuration
|
|
139
|
+
*
|
|
140
|
+
* @param overrides Configuration overrides
|
|
141
|
+
* @returns Complete configuration with defaults applied
|
|
142
|
+
* @throws Error if required configuration is missing
|
|
143
|
+
*/
|
|
144
|
+
export declare function buildSupabaseConfig(overrides?: Partial<SupabaseConfig>): SupabaseConfig;
|
|
145
|
+
/**
|
|
146
|
+
* Supabase table names for AQE data
|
|
147
|
+
*/
|
|
148
|
+
export declare const SUPABASE_TABLES: {
|
|
149
|
+
/** Projects/tenants table */
|
|
150
|
+
readonly PROJECTS: "qe_projects";
|
|
151
|
+
/** Learning experiences */
|
|
152
|
+
readonly EXPERIENCES: "qe_learning_experiences";
|
|
153
|
+
/** Test patterns */
|
|
154
|
+
readonly PATTERNS: "qe_patterns";
|
|
155
|
+
/** Nervous system state */
|
|
156
|
+
readonly NERVOUS_SYSTEM: "qe_nervous_system_state";
|
|
157
|
+
/** Aggregated metrics */
|
|
158
|
+
readonly METRICS: "qe_aggregate_metrics";
|
|
159
|
+
/** Sync queue for hybrid mode */
|
|
160
|
+
readonly SYNC_QUEUE: "qe_sync_queue";
|
|
161
|
+
/** Memory entries (SwarmMemory sync) */
|
|
162
|
+
readonly MEMORY_ENTRIES: "qe_memory_entries";
|
|
163
|
+
/** Telemetry events */
|
|
164
|
+
readonly EVENTS: "qe_events";
|
|
165
|
+
/** Code chunks (code intelligence sync) */
|
|
166
|
+
readonly CODE_CHUNKS: "qe_code_chunks";
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Get table name with optional schema prefix
|
|
170
|
+
*
|
|
171
|
+
* @param table Table constant
|
|
172
|
+
* @param schema Optional schema name
|
|
173
|
+
* @returns Full table name
|
|
174
|
+
*/
|
|
175
|
+
export declare function getTableName(table: (typeof SUPABASE_TABLES)[keyof typeof SUPABASE_TABLES], schema?: string): string;
|
|
176
|
+
//# sourceMappingURL=SupabaseConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseConfig.d.ts","sourceRoot":"","sources":["../../src/persistence/SupabaseConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Supabase Configuration
|
|
4
|
+
*
|
|
5
|
+
* Configuration types and utilities for Supabase cloud persistence.
|
|
6
|
+
* Supports environment variable loading and secure key management.
|
|
7
|
+
*
|
|
8
|
+
* @module persistence/SupabaseConfig
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.SUPABASE_TABLES = exports.DEFAULT_SUPABASE_CONFIG = exports.DEFAULT_SYNC_CONFIG = exports.DEFAULT_SHARING_CONFIG = exports.SUPABASE_ENV_VARS = void 0;
|
|
12
|
+
exports.loadSupabaseConfigFromEnv = loadSupabaseConfigFromEnv;
|
|
13
|
+
exports.isSupabaseConfigured = isSupabaseConfigured;
|
|
14
|
+
exports.getConfiguredProvider = getConfiguredProvider;
|
|
15
|
+
exports.validateSupabaseConfig = validateSupabaseConfig;
|
|
16
|
+
exports.buildSupabaseConfig = buildSupabaseConfig;
|
|
17
|
+
exports.getTableName = getTableName;
|
|
18
|
+
// ============================================
|
|
19
|
+
// Environment Variable Names
|
|
20
|
+
// ============================================
|
|
21
|
+
/**
|
|
22
|
+
* Environment variable names for Supabase configuration
|
|
23
|
+
*/
|
|
24
|
+
exports.SUPABASE_ENV_VARS = {
|
|
25
|
+
/** Supabase project URL */
|
|
26
|
+
URL: 'SUPABASE_URL',
|
|
27
|
+
/** Supabase anonymous key (public) */
|
|
28
|
+
ANON_KEY: 'SUPABASE_ANON_KEY',
|
|
29
|
+
/** Supabase service role key (admin, optional) */
|
|
30
|
+
SERVICE_ROLE_KEY: 'SUPABASE_SERVICE_ROLE_KEY',
|
|
31
|
+
/** AQE project ID */
|
|
32
|
+
PROJECT_ID: 'AQE_PROJECT_ID',
|
|
33
|
+
/** Persistence provider type */
|
|
34
|
+
PROVIDER: 'AQE_PERSISTENCE_PROVIDER',
|
|
35
|
+
/** Default privacy level */
|
|
36
|
+
DEFAULT_PRIVACY: 'AQE_DEFAULT_PRIVACY',
|
|
37
|
+
/** Auto-share enabled */
|
|
38
|
+
AUTO_SHARE: 'AQE_AUTO_SHARE',
|
|
39
|
+
/** Auto-import enabled */
|
|
40
|
+
AUTO_IMPORT: 'AQE_AUTO_IMPORT',
|
|
41
|
+
/** Sync interval (ms) */
|
|
42
|
+
SYNC_INTERVAL: 'AQE_SYNC_INTERVAL',
|
|
43
|
+
};
|
|
44
|
+
// ============================================
|
|
45
|
+
// Default Configuration
|
|
46
|
+
// ============================================
|
|
47
|
+
/**
|
|
48
|
+
* Default sharing configuration (private by default)
|
|
49
|
+
*/
|
|
50
|
+
exports.DEFAULT_SHARING_CONFIG = {
|
|
51
|
+
defaultPrivacyLevel: 'private',
|
|
52
|
+
autoShare: false,
|
|
53
|
+
autoImport: false,
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Default sync configuration
|
|
57
|
+
*/
|
|
58
|
+
exports.DEFAULT_SYNC_CONFIG = {
|
|
59
|
+
syncInterval: 60000, // 1 minute
|
|
60
|
+
conflictResolution: 'newest',
|
|
61
|
+
batchSize: 100,
|
|
62
|
+
retryAttempts: 3,
|
|
63
|
+
retryDelay: 1000,
|
|
64
|
+
backgroundSync: true,
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Default Supabase configuration
|
|
68
|
+
*/
|
|
69
|
+
exports.DEFAULT_SUPABASE_CONFIG = {
|
|
70
|
+
project: {},
|
|
71
|
+
sharing: exports.DEFAULT_SHARING_CONFIG,
|
|
72
|
+
sync: exports.DEFAULT_SYNC_CONFIG,
|
|
73
|
+
enableRuVector: true,
|
|
74
|
+
enableRLS: true,
|
|
75
|
+
};
|
|
76
|
+
// ============================================
|
|
77
|
+
// Environment Loading
|
|
78
|
+
// ============================================
|
|
79
|
+
/**
|
|
80
|
+
* Load Supabase configuration from environment variables
|
|
81
|
+
*
|
|
82
|
+
* @returns Partial configuration from environment
|
|
83
|
+
* @throws Error if required variables are missing
|
|
84
|
+
*/
|
|
85
|
+
function loadSupabaseConfigFromEnv() {
|
|
86
|
+
const url = process.env[exports.SUPABASE_ENV_VARS.URL];
|
|
87
|
+
const anonKey = process.env[exports.SUPABASE_ENV_VARS.ANON_KEY];
|
|
88
|
+
const serviceRoleKey = process.env[exports.SUPABASE_ENV_VARS.SERVICE_ROLE_KEY];
|
|
89
|
+
const projectId = process.env[exports.SUPABASE_ENV_VARS.PROJECT_ID];
|
|
90
|
+
const defaultPrivacy = process.env[exports.SUPABASE_ENV_VARS.DEFAULT_PRIVACY];
|
|
91
|
+
const autoShare = process.env[exports.SUPABASE_ENV_VARS.AUTO_SHARE];
|
|
92
|
+
const autoImport = process.env[exports.SUPABASE_ENV_VARS.AUTO_IMPORT];
|
|
93
|
+
const syncInterval = process.env[exports.SUPABASE_ENV_VARS.SYNC_INTERVAL];
|
|
94
|
+
// Build config from environment
|
|
95
|
+
const config = {};
|
|
96
|
+
if (url && anonKey) {
|
|
97
|
+
config.connection = {
|
|
98
|
+
url,
|
|
99
|
+
anonKey,
|
|
100
|
+
serviceRoleKey,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (projectId) {
|
|
104
|
+
config.project = { projectId };
|
|
105
|
+
}
|
|
106
|
+
// Override sharing defaults if specified
|
|
107
|
+
const sharing = {};
|
|
108
|
+
if (defaultPrivacy && ['private', 'team', 'public'].includes(defaultPrivacy)) {
|
|
109
|
+
sharing.defaultPrivacyLevel = defaultPrivacy;
|
|
110
|
+
}
|
|
111
|
+
if (autoShare !== undefined) {
|
|
112
|
+
sharing.autoShare = autoShare === 'true' || autoShare === '1';
|
|
113
|
+
}
|
|
114
|
+
if (autoImport !== undefined) {
|
|
115
|
+
sharing.autoImport = autoImport === 'true' || autoImport === '1';
|
|
116
|
+
}
|
|
117
|
+
if (Object.keys(sharing).length > 0) {
|
|
118
|
+
config.sharing = { ...exports.DEFAULT_SHARING_CONFIG, ...sharing };
|
|
119
|
+
}
|
|
120
|
+
// Override sync defaults if specified
|
|
121
|
+
if (syncInterval) {
|
|
122
|
+
const interval = parseInt(syncInterval, 10);
|
|
123
|
+
if (!isNaN(interval) && interval > 0) {
|
|
124
|
+
config.sync = { ...exports.DEFAULT_SYNC_CONFIG, syncInterval: interval };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return config;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Check if Supabase is configured via environment variables
|
|
131
|
+
*
|
|
132
|
+
* @returns True if Supabase URL and key are set
|
|
133
|
+
*/
|
|
134
|
+
function isSupabaseConfigured() {
|
|
135
|
+
const url = process.env[exports.SUPABASE_ENV_VARS.URL];
|
|
136
|
+
const anonKey = process.env[exports.SUPABASE_ENV_VARS.ANON_KEY];
|
|
137
|
+
return Boolean(url && anonKey);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get the configured persistence provider type from environment
|
|
141
|
+
*
|
|
142
|
+
* @returns Provider type or 'sqlite' as default
|
|
143
|
+
*/
|
|
144
|
+
function getConfiguredProvider() {
|
|
145
|
+
const provider = process.env[exports.SUPABASE_ENV_VARS.PROVIDER];
|
|
146
|
+
if (provider === 'supabase' || provider === 'hybrid') {
|
|
147
|
+
return provider;
|
|
148
|
+
}
|
|
149
|
+
return 'sqlite';
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Validate Supabase configuration
|
|
153
|
+
*
|
|
154
|
+
* @param config Configuration to validate
|
|
155
|
+
* @returns Validation result
|
|
156
|
+
*/
|
|
157
|
+
function validateSupabaseConfig(config) {
|
|
158
|
+
const errors = [];
|
|
159
|
+
const warnings = [];
|
|
160
|
+
// Check connection config
|
|
161
|
+
if (!config.connection) {
|
|
162
|
+
errors.push('Missing connection configuration');
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
if (!config.connection.url) {
|
|
166
|
+
errors.push('Missing Supabase URL');
|
|
167
|
+
}
|
|
168
|
+
else if (!config.connection.url.startsWith('https://')) {
|
|
169
|
+
errors.push('Supabase URL must use HTTPS');
|
|
170
|
+
}
|
|
171
|
+
if (!config.connection.anonKey) {
|
|
172
|
+
errors.push('Missing Supabase anonymous key');
|
|
173
|
+
}
|
|
174
|
+
if (!config.connection.serviceRoleKey) {
|
|
175
|
+
warnings.push('No service role key configured - admin operations will be limited');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Check project config
|
|
179
|
+
if (!config.project?.projectId) {
|
|
180
|
+
warnings.push('No project ID configured - a new project will be auto-created');
|
|
181
|
+
}
|
|
182
|
+
// Check sharing config
|
|
183
|
+
if (config.sharing?.autoShare && config.sharing?.defaultPrivacyLevel === 'private') {
|
|
184
|
+
warnings.push('autoShare is enabled but defaultPrivacyLevel is private - experiences will not be shared');
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
valid: errors.length === 0,
|
|
188
|
+
errors,
|
|
189
|
+
warnings,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
// ============================================
|
|
193
|
+
// Configuration Builder
|
|
194
|
+
// ============================================
|
|
195
|
+
/**
|
|
196
|
+
* Build a complete Supabase configuration
|
|
197
|
+
*
|
|
198
|
+
* @param overrides Configuration overrides
|
|
199
|
+
* @returns Complete configuration with defaults applied
|
|
200
|
+
* @throws Error if required configuration is missing
|
|
201
|
+
*/
|
|
202
|
+
function buildSupabaseConfig(overrides = {}) {
|
|
203
|
+
// Load from environment first
|
|
204
|
+
const envConfig = loadSupabaseConfigFromEnv();
|
|
205
|
+
// Merge with overrides (overrides take precedence)
|
|
206
|
+
const merged = {
|
|
207
|
+
...exports.DEFAULT_SUPABASE_CONFIG,
|
|
208
|
+
...envConfig,
|
|
209
|
+
...overrides,
|
|
210
|
+
// Deep merge for nested objects
|
|
211
|
+
connection: {
|
|
212
|
+
...envConfig.connection,
|
|
213
|
+
...overrides.connection,
|
|
214
|
+
},
|
|
215
|
+
project: {
|
|
216
|
+
...envConfig.project,
|
|
217
|
+
...overrides.project,
|
|
218
|
+
},
|
|
219
|
+
sharing: {
|
|
220
|
+
...exports.DEFAULT_SHARING_CONFIG,
|
|
221
|
+
...envConfig.sharing,
|
|
222
|
+
...overrides.sharing,
|
|
223
|
+
},
|
|
224
|
+
sync: {
|
|
225
|
+
...exports.DEFAULT_SYNC_CONFIG,
|
|
226
|
+
...envConfig.sync,
|
|
227
|
+
...overrides.sync,
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
// Validate
|
|
231
|
+
const validation = validateSupabaseConfig(merged);
|
|
232
|
+
if (!validation.valid) {
|
|
233
|
+
throw new Error(`Invalid Supabase configuration: ${validation.errors.join(', ')}`);
|
|
234
|
+
}
|
|
235
|
+
// Log warnings
|
|
236
|
+
for (const warning of validation.warnings) {
|
|
237
|
+
console.warn(`[SupabaseConfig] Warning: ${warning}`);
|
|
238
|
+
}
|
|
239
|
+
return merged;
|
|
240
|
+
}
|
|
241
|
+
// ============================================
|
|
242
|
+
// Table Names
|
|
243
|
+
// ============================================
|
|
244
|
+
/**
|
|
245
|
+
* Supabase table names for AQE data
|
|
246
|
+
*/
|
|
247
|
+
exports.SUPABASE_TABLES = {
|
|
248
|
+
/** Projects/tenants table */
|
|
249
|
+
PROJECTS: 'qe_projects',
|
|
250
|
+
/** Learning experiences */
|
|
251
|
+
EXPERIENCES: 'qe_learning_experiences',
|
|
252
|
+
/** Test patterns */
|
|
253
|
+
PATTERNS: 'qe_patterns',
|
|
254
|
+
/** Nervous system state */
|
|
255
|
+
NERVOUS_SYSTEM: 'qe_nervous_system_state',
|
|
256
|
+
/** Aggregated metrics */
|
|
257
|
+
METRICS: 'qe_aggregate_metrics',
|
|
258
|
+
/** Sync queue for hybrid mode */
|
|
259
|
+
SYNC_QUEUE: 'qe_sync_queue',
|
|
260
|
+
/** Memory entries (SwarmMemory sync) */
|
|
261
|
+
MEMORY_ENTRIES: 'qe_memory_entries',
|
|
262
|
+
/** Telemetry events */
|
|
263
|
+
EVENTS: 'qe_events',
|
|
264
|
+
/** Code chunks (code intelligence sync) */
|
|
265
|
+
CODE_CHUNKS: 'qe_code_chunks',
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Get table name with optional schema prefix
|
|
269
|
+
*
|
|
270
|
+
* @param table Table constant
|
|
271
|
+
* @param schema Optional schema name
|
|
272
|
+
* @returns Full table name
|
|
273
|
+
*/
|
|
274
|
+
function getTableName(table, schema) {
|
|
275
|
+
return schema ? `${schema}.${table}` : table;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=SupabaseConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseConfig.js","sourceRoot":"","sources":["../../src/persistence/SupabaseConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supabase Persistence Provider
|
|
3
|
+
*
|
|
4
|
+
* Cloud persistence provider using Supabase PostgreSQL with RuVector extension.
|
|
5
|
+
* Supports multi-tenant data isolation via Row-Level Security and
|
|
6
|
+
* vector similarity search for intelligent experience/pattern matching.
|
|
7
|
+
*
|
|
8
|
+
* @module persistence/SupabasePersistenceProvider
|
|
9
|
+
*/
|
|
10
|
+
import type { IPersistenceProvider, ProviderInfo, LearningExperience, ExperienceQuery, SharedExperienceQuery, StoredPattern, PatternQuery, NervousSystemComponent, PrivacyLevel, MemoryEntry, MemoryQuery, EventRecord, EventQuery, CodeChunk, CodeChunkQuery, CodeSearchResult, CodeLanguage } from './IPersistenceProvider.js';
|
|
11
|
+
import { type SupabaseConfig } from './SupabaseConfig.js';
|
|
12
|
+
/**
|
|
13
|
+
* Supabase cloud persistence provider
|
|
14
|
+
*
|
|
15
|
+
* Implements IPersistenceProvider using Supabase PostgreSQL backend.
|
|
16
|
+
* Features:
|
|
17
|
+
* - Multi-tenant data isolation via RLS
|
|
18
|
+
* - Vector similarity search via RuVector
|
|
19
|
+
* - Automatic embedding generation (optional)
|
|
20
|
+
* - Sharing between users/teams
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const provider = new SupabasePersistenceProvider({
|
|
25
|
+
* connection: {
|
|
26
|
+
* url: 'https://xxx.supabase.co',
|
|
27
|
+
* anonKey: 'xxx',
|
|
28
|
+
* },
|
|
29
|
+
* project: { projectId: 'my-project' },
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* await provider.initialize();
|
|
33
|
+
*
|
|
34
|
+
* // Store an experience
|
|
35
|
+
* await provider.storeExperience({
|
|
36
|
+
* id: 'exp-1',
|
|
37
|
+
* agentId: 'test-gen',
|
|
38
|
+
* agentType: 'test-generator',
|
|
39
|
+
* taskType: 'unit-test-generation',
|
|
40
|
+
* context: { sourceFile: 'UserService.ts' },
|
|
41
|
+
* outcome: { result: 'success', confidence: 0.95 },
|
|
42
|
+
* privacyLevel: 'team',
|
|
43
|
+
* isAnonymized: false,
|
|
44
|
+
* shareCount: 0,
|
|
45
|
+
* createdAt: new Date(),
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* // Search for similar experiences
|
|
49
|
+
* const similar = await provider.searchSimilarExperiences(embedding, 10);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare class SupabasePersistenceProvider implements IPersistenceProvider {
|
|
53
|
+
private client;
|
|
54
|
+
private config;
|
|
55
|
+
private projectId;
|
|
56
|
+
private initialized;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new Supabase persistence provider
|
|
59
|
+
*
|
|
60
|
+
* @param configOverrides Configuration overrides
|
|
61
|
+
*/
|
|
62
|
+
constructor(configOverrides?: Partial<SupabaseConfig>);
|
|
63
|
+
initialize(): Promise<void>;
|
|
64
|
+
shutdown(): Promise<void>;
|
|
65
|
+
storeExperience(experience: LearningExperience): Promise<void>;
|
|
66
|
+
queryExperiences(query: ExperienceQuery): Promise<LearningExperience[]>;
|
|
67
|
+
searchSimilarExperiences(embedding: number[], limit: number): Promise<LearningExperience[]>;
|
|
68
|
+
storePattern(pattern: StoredPattern): Promise<void>;
|
|
69
|
+
queryPatterns(query: PatternQuery): Promise<StoredPattern[]>;
|
|
70
|
+
searchSimilarPatterns(embedding: number[], limit: number): Promise<StoredPattern[]>;
|
|
71
|
+
saveNervousSystemState(agentId: string, component: NervousSystemComponent, state: Uint8Array | Record<string, unknown>): Promise<void>;
|
|
72
|
+
loadNervousSystemState(agentId: string, component: NervousSystemComponent): Promise<Uint8Array | Record<string, unknown> | null>;
|
|
73
|
+
deleteNervousSystemState(agentId: string): Promise<void>;
|
|
74
|
+
listAgentsWithState(): Promise<string[]>;
|
|
75
|
+
shareExperience(experienceId: string, privacyLevel: PrivacyLevel): Promise<void>;
|
|
76
|
+
importSharedExperiences(query: SharedExperienceQuery): Promise<LearningExperience[]>;
|
|
77
|
+
sharePattern(patternId: string, privacyLevel: PrivacyLevel): Promise<void>;
|
|
78
|
+
importSharedPatterns(query: PatternQuery & {
|
|
79
|
+
includePublic?: boolean;
|
|
80
|
+
}): Promise<StoredPattern[]>;
|
|
81
|
+
storeMemoryEntry(entry: MemoryEntry): Promise<void>;
|
|
82
|
+
storeMemoryEntries(entries: MemoryEntry[]): Promise<void>;
|
|
83
|
+
getMemoryEntry(key: string, partition?: string): Promise<MemoryEntry | null>;
|
|
84
|
+
queryMemoryEntries(query: MemoryQuery): Promise<MemoryEntry[]>;
|
|
85
|
+
deleteMemoryEntries(keyPattern: string, partition?: string): Promise<number>;
|
|
86
|
+
storeEvent(event: EventRecord): Promise<void>;
|
|
87
|
+
storeEvents(events: EventRecord[]): Promise<void>;
|
|
88
|
+
queryEvents(query: EventQuery): Promise<EventRecord[]>;
|
|
89
|
+
deleteOldEvents(olderThan: Date): Promise<number>;
|
|
90
|
+
storeCodeChunk(chunk: CodeChunk): Promise<void>;
|
|
91
|
+
storeCodeChunks(chunks: CodeChunk[]): Promise<void>;
|
|
92
|
+
queryCodeChunks(query: CodeChunkQuery): Promise<CodeChunk[]>;
|
|
93
|
+
searchSimilarCode(embedding: number[], options?: {
|
|
94
|
+
limit?: number;
|
|
95
|
+
minScore?: number;
|
|
96
|
+
projectId?: string;
|
|
97
|
+
language?: CodeLanguage;
|
|
98
|
+
}): Promise<CodeSearchResult[]>;
|
|
99
|
+
deleteCodeChunksForFile(projectId: string, filePath: string): Promise<number>;
|
|
100
|
+
deleteCodeChunksForProject(projectId: string): Promise<number>;
|
|
101
|
+
getProviderInfo(): ProviderInfo;
|
|
102
|
+
private ensureInitialized;
|
|
103
|
+
/**
|
|
104
|
+
* Get or create the project for this provider
|
|
105
|
+
*/
|
|
106
|
+
private ensureProject;
|
|
107
|
+
/**
|
|
108
|
+
* Convert database row to LearningExperience
|
|
109
|
+
*/
|
|
110
|
+
private rowToExperience;
|
|
111
|
+
/**
|
|
112
|
+
* Convert database row to StoredPattern
|
|
113
|
+
*/
|
|
114
|
+
private rowToPattern;
|
|
115
|
+
/**
|
|
116
|
+
* Convert database row to MemoryEntry
|
|
117
|
+
*/
|
|
118
|
+
private rowToMemoryEntry;
|
|
119
|
+
/**
|
|
120
|
+
* Convert database row to EventRecord
|
|
121
|
+
*/
|
|
122
|
+
private rowToEvent;
|
|
123
|
+
/**
|
|
124
|
+
* Convert database row to CodeChunk
|
|
125
|
+
*/
|
|
126
|
+
private rowToCodeChunk;
|
|
127
|
+
/**
|
|
128
|
+
* Convert Uint8Array to base64 string for storage
|
|
129
|
+
*/
|
|
130
|
+
private uint8ArrayToBase64;
|
|
131
|
+
/**
|
|
132
|
+
* Convert base64 string back to Uint8Array
|
|
133
|
+
*/
|
|
134
|
+
private base64ToUint8Array;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Factory function to create a Supabase persistence provider
|
|
138
|
+
*
|
|
139
|
+
* @param config Configuration overrides
|
|
140
|
+
* @returns Configured provider instance
|
|
141
|
+
*/
|
|
142
|
+
export declare function createSupabasePersistenceProvider(config?: Partial<SupabaseConfig>): SupabasePersistenceProvider;
|
|
143
|
+
//# sourceMappingURL=SupabasePersistenceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabasePersistenceProvider.d.ts","sourceRoot":"","sources":["../../src/persistence/SupabasePersistenceProvider.ts"],"names":[],"mappings":"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"}
|