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.
Files changed (226) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +329 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +657 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/cli/commands/supabase/index.d.ts +20 -0
  8. package/dist/cli/commands/supabase/index.d.ts.map +1 -0
  9. package/dist/cli/commands/supabase/index.js +632 -0
  10. package/dist/cli/commands/supabase/index.js.map +1 -0
  11. package/dist/cli/index.js +3 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts +135 -0
  14. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts.map +1 -0
  15. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js +301 -0
  16. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js.map +1 -0
  17. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +78 -6
  18. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -1
  19. package/dist/code-intelligence/embeddings/NomicEmbedder.js +162 -21
  20. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -1
  21. package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts +59 -0
  22. package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts.map +1 -0
  23. package/dist/code-intelligence/embeddings/backends/MemoryBackend.js +173 -0
  24. package/dist/code-intelligence/embeddings/backends/MemoryBackend.js.map +1 -0
  25. package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts +50 -0
  26. package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts.map +1 -0
  27. package/dist/code-intelligence/embeddings/backends/RedisBackend.js +279 -0
  28. package/dist/code-intelligence/embeddings/backends/RedisBackend.js.map +1 -0
  29. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts +64 -0
  30. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts.map +1 -0
  31. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js +314 -0
  32. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js.map +1 -0
  33. package/dist/code-intelligence/embeddings/backends/index.d.ts +16 -0
  34. package/dist/code-intelligence/embeddings/backends/index.d.ts.map +1 -0
  35. package/dist/code-intelligence/embeddings/backends/index.js +28 -0
  36. package/dist/code-intelligence/embeddings/backends/index.js.map +1 -0
  37. package/dist/code-intelligence/embeddings/backends/types.d.ts +177 -0
  38. package/dist/code-intelligence/embeddings/backends/types.d.ts.map +1 -0
  39. package/dist/code-intelligence/embeddings/backends/types.js +30 -0
  40. package/dist/code-intelligence/embeddings/backends/types.js.map +1 -0
  41. package/dist/code-intelligence/embeddings/index.d.ts +7 -0
  42. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -1
  43. package/dist/code-intelligence/embeddings/index.js +16 -1
  44. package/dist/code-intelligence/embeddings/index.js.map +1 -1
  45. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  46. package/dist/infrastructure/index.d.ts +15 -0
  47. package/dist/infrastructure/index.d.ts.map +1 -0
  48. package/dist/infrastructure/index.js +44 -0
  49. package/dist/infrastructure/index.js.map +1 -0
  50. package/dist/infrastructure/network/AgentRateLimiter.d.ts +59 -0
  51. package/dist/infrastructure/network/AgentRateLimiter.d.ts.map +1 -0
  52. package/dist/infrastructure/network/AgentRateLimiter.js +186 -0
  53. package/dist/infrastructure/network/AgentRateLimiter.js.map +1 -0
  54. package/dist/infrastructure/network/AuditLogger.d.ts +102 -0
  55. package/dist/infrastructure/network/AuditLogger.d.ts.map +1 -0
  56. package/dist/infrastructure/network/AuditLogger.js +284 -0
  57. package/dist/infrastructure/network/AuditLogger.js.map +1 -0
  58. package/dist/infrastructure/network/DomainWhitelist.d.ts +111 -0
  59. package/dist/infrastructure/network/DomainWhitelist.d.ts.map +1 -0
  60. package/dist/infrastructure/network/DomainWhitelist.js +216 -0
  61. package/dist/infrastructure/network/DomainWhitelist.js.map +1 -0
  62. package/dist/infrastructure/network/NetworkPolicyManager.d.ts +97 -0
  63. package/dist/infrastructure/network/NetworkPolicyManager.d.ts.map +1 -0
  64. package/dist/infrastructure/network/NetworkPolicyManager.js +309 -0
  65. package/dist/infrastructure/network/NetworkPolicyManager.js.map +1 -0
  66. package/dist/infrastructure/network/index.d.ts +19 -0
  67. package/dist/infrastructure/network/index.d.ts.map +1 -0
  68. package/dist/infrastructure/network/index.js +46 -0
  69. package/dist/infrastructure/network/index.js.map +1 -0
  70. package/dist/infrastructure/network/policies/default-policies.d.ts +78 -0
  71. package/dist/infrastructure/network/policies/default-policies.d.ts.map +1 -0
  72. package/dist/infrastructure/network/policies/default-policies.js +312 -0
  73. package/dist/infrastructure/network/policies/default-policies.js.map +1 -0
  74. package/dist/infrastructure/network/types.d.ts +214 -0
  75. package/dist/infrastructure/network/types.d.ts.map +1 -0
  76. package/dist/infrastructure/network/types.js +25 -0
  77. package/dist/infrastructure/network/types.js.map +1 -0
  78. package/dist/infrastructure/sandbox/ResourceMonitor.d.ts +124 -0
  79. package/dist/infrastructure/sandbox/ResourceMonitor.d.ts.map +1 -0
  80. package/dist/infrastructure/sandbox/ResourceMonitor.js +305 -0
  81. package/dist/infrastructure/sandbox/ResourceMonitor.js.map +1 -0
  82. package/dist/infrastructure/sandbox/SandboxManager.d.ts +122 -0
  83. package/dist/infrastructure/sandbox/SandboxManager.d.ts.map +1 -0
  84. package/dist/infrastructure/sandbox/SandboxManager.js +527 -0
  85. package/dist/infrastructure/sandbox/SandboxManager.js.map +1 -0
  86. package/dist/infrastructure/sandbox/index.d.ts +18 -0
  87. package/dist/infrastructure/sandbox/index.d.ts.map +1 -0
  88. package/dist/infrastructure/sandbox/index.js +38 -0
  89. package/dist/infrastructure/sandbox/index.js.map +1 -0
  90. package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts +53 -0
  91. package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts.map +1 -0
  92. package/dist/infrastructure/sandbox/profiles/agent-profiles.js +433 -0
  93. package/dist/infrastructure/sandbox/profiles/agent-profiles.js.map +1 -0
  94. package/dist/infrastructure/sandbox/types.d.ts +227 -0
  95. package/dist/infrastructure/sandbox/types.d.ts.map +1 -0
  96. package/dist/infrastructure/sandbox/types.js +63 -0
  97. package/dist/infrastructure/sandbox/types.js.map +1 -0
  98. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
  99. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
  100. package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
  101. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
  102. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
  103. package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
  104. package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
  105. package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
  106. package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
  107. package/dist/mcp/handlers/ruvector/index.js +9 -0
  108. package/dist/mcp/handlers/ruvector/index.js.map +1 -0
  109. package/dist/mcp/server-instructions.d.ts +1 -1
  110. package/dist/mcp/server-instructions.js +1 -1
  111. package/dist/mcp/server.d.ts.map +1 -1
  112. package/dist/mcp/server.js +100 -22
  113. package/dist/mcp/server.js.map +1 -1
  114. package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
  115. package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
  116. package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
  117. package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
  118. package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
  119. package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
  120. package/dist/nervous-system/adapters/CircadianController.js +882 -0
  121. package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
  122. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
  123. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
  124. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
  125. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
  126. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
  127. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
  128. package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
  129. package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
  130. package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
  131. package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
  132. package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
  133. package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
  134. package/dist/nervous-system/index.d.ts +25 -0
  135. package/dist/nervous-system/index.d.ts.map +1 -0
  136. package/dist/nervous-system/index.js +80 -0
  137. package/dist/nervous-system/index.js.map +1 -0
  138. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
  139. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
  140. package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
  141. package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
  142. package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
  143. package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
  144. package/dist/nervous-system/integration/CircadianAgent.js +696 -0
  145. package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
  146. package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
  147. package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
  148. package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
  149. package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
  150. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
  151. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
  152. package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
  153. package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
  154. package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
  155. package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
  156. package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
  157. package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
  158. package/dist/nervous-system/integration/index.d.ts +22 -0
  159. package/dist/nervous-system/integration/index.d.ts.map +1 -0
  160. package/dist/nervous-system/integration/index.js +44 -0
  161. package/dist/nervous-system/integration/index.js.map +1 -0
  162. package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
  163. package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
  164. package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
  165. package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
  166. package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
  167. package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
  168. package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
  169. package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
  170. package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
  171. package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
  172. package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
  173. package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
  174. package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
  175. package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
  176. package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
  177. package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
  178. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
  179. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
  180. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
  181. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
  182. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
  183. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
  184. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
  185. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
  186. package/dist/nervous-system/persistence/index.d.ts +22 -0
  187. package/dist/nervous-system/persistence/index.d.ts.map +1 -0
  188. package/dist/nervous-system/persistence/index.js +45 -0
  189. package/dist/nervous-system/persistence/index.js.map +1 -0
  190. package/dist/nervous-system/wasm-loader.d.ts +52 -0
  191. package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
  192. package/dist/nervous-system/wasm-loader.js +188 -0
  193. package/dist/nervous-system/wasm-loader.js.map +1 -0
  194. package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
  195. package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
  196. package/dist/persistence/HybridPersistenceProvider.js +1086 -0
  197. package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
  198. package/dist/persistence/IPersistenceProvider.d.ts +657 -0
  199. package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
  200. package/dist/persistence/IPersistenceProvider.js +11 -0
  201. package/dist/persistence/IPersistenceProvider.js.map +1 -0
  202. package/dist/persistence/SupabaseConfig.d.ts +176 -0
  203. package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
  204. package/dist/persistence/SupabaseConfig.js +277 -0
  205. package/dist/persistence/SupabaseConfig.js.map +1 -0
  206. package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
  207. package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
  208. package/dist/persistence/SupabasePersistenceProvider.js +959 -0
  209. package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
  210. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
  211. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
  212. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
  213. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
  214. package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
  215. package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
  216. package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
  217. package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
  218. package/dist/persistence/adapters/index.d.ts +11 -0
  219. package/dist/persistence/adapters/index.d.ts.map +1 -0
  220. package/dist/persistence/adapters/index.js +20 -0
  221. package/dist/persistence/adapters/index.js.map +1 -0
  222. package/dist/persistence/index.d.ts +14 -0
  223. package/dist/persistence/index.d.ts.map +1 -1
  224. package/dist/persistence/index.js +36 -1
  225. package/dist/persistence/index.js.map +1 -1
  226. package/package.json +7 -1
@@ -0,0 +1,444 @@
1
+ /**
2
+ * HDC Memory Adapter for RuVector Nervous System Integration
3
+ *
4
+ * Provides high-level interface to Hyperdimensional Computing (HDC) memory
5
+ * for QE agent pattern storage and retrieval. HDC enables:
6
+ * - Noise-tolerant pattern matching
7
+ * - One-shot learning of test patterns
8
+ * - Sub-microsecond similarity queries (<100ns target)
9
+ * - Distributed pattern representation (10,000-bit hypervectors)
10
+ *
11
+ * @module nervous-system/adapters/HdcMemoryAdapter
12
+ * @see https://github.com/ruvector/nervous-system-wasm
13
+ */
14
+ import { Hypervector } from '../wasm-loader.js';
15
+ import type { TestPattern, PatternType, PatternCategory, TestFramework } from '../../types/pattern.types.js';
16
+ /**
17
+ * Configuration options for HdcMemoryAdapter
18
+ */
19
+ export interface HdcMemoryConfig {
20
+ /** Similarity threshold for pattern retrieval (0.0 to 1.0) */
21
+ similarityThreshold: number;
22
+ /** Maximum number of results to return from retrieval */
23
+ maxRetrievalResults: number;
24
+ /** Enable automatic WASM initialization */
25
+ autoInit: boolean;
26
+ }
27
+ /**
28
+ * Default configuration values
29
+ */
30
+ export declare const DEFAULT_HDC_CONFIG: HdcMemoryConfig;
31
+ /**
32
+ * Result from pattern retrieval operations
33
+ */
34
+ export interface RetrievalResult {
35
+ /** Pattern key/label */
36
+ key: string;
37
+ /** Similarity score (0.0 to 1.0) */
38
+ similarity: number;
39
+ /** The hypervector (if requested) */
40
+ vector?: Hypervector;
41
+ }
42
+ /**
43
+ * Simplified pattern interface for HDC encoding
44
+ * Used when the full TestPattern interface is not needed
45
+ */
46
+ export interface SimplePattern {
47
+ /** Pattern type identifier */
48
+ type: string;
49
+ /** Domain/category of the pattern */
50
+ domain: string;
51
+ /** Content or description */
52
+ content: string;
53
+ /** Optional metadata */
54
+ metadata?: Record<string, unknown>;
55
+ }
56
+ /**
57
+ * Interface for HDC Memory operations
58
+ * Defines the contract for hyperdimensional computing memory adapters
59
+ */
60
+ export interface IHdcMemory {
61
+ /**
62
+ * Initialize the WASM module (required before any operations)
63
+ */
64
+ initialize(): Promise<void>;
65
+ /**
66
+ * Check if the adapter is initialized
67
+ */
68
+ isInitialized(): boolean;
69
+ /**
70
+ * Create a new random hypervector (10,000 bits)
71
+ * @param seed Optional seed for reproducibility (as bigint)
72
+ * @returns New hypervector
73
+ */
74
+ createHypervector(seed?: bigint): Hypervector;
75
+ /**
76
+ * Bind two hypervectors using XOR operation
77
+ * Binding creates associations: bind(A, B) encodes "A relates to B"
78
+ * Properties: associative, commutative, self-inverse (bind(A,A) = identity)
79
+ * @param a First hypervector
80
+ * @param b Second hypervector
81
+ * @returns Bound hypervector
82
+ */
83
+ bind(a: Hypervector, b: Hypervector): Hypervector;
84
+ /**
85
+ * Bundle multiple hypervectors using majority voting
86
+ * Bundling creates superpositions: bundle([A,B,C]) encodes "A or B or C"
87
+ * @param vectors Array of hypervectors to bundle (minimum 3)
88
+ * @returns Bundled hypervector
89
+ */
90
+ bundle(vectors: Hypervector[]): Hypervector;
91
+ /**
92
+ * Compute similarity between two hypervectors
93
+ * Returns value in [-1.0, 1.0]:
94
+ * 1.0 = identical vectors
95
+ * 0.0 = random/orthogonal vectors
96
+ * -1.0 = completely opposite vectors
97
+ * @param a First hypervector
98
+ * @param b Second hypervector
99
+ * @returns Similarity score
100
+ */
101
+ similarity(a: Hypervector, b: Hypervector): number;
102
+ /**
103
+ * Store a hypervector with a key in associative memory
104
+ * @param key Unique identifier for the pattern
105
+ * @param vector Hypervector to store
106
+ */
107
+ store(key: string, vector: Hypervector): void;
108
+ /**
109
+ * Retrieve patterns similar to query above threshold
110
+ * @param query Query hypervector
111
+ * @param threshold Minimum similarity threshold (0.0 to 1.0)
112
+ * @returns Array of matching results with similarity scores
113
+ */
114
+ retrieve(query: Hypervector, threshold?: number): RetrievalResult[];
115
+ /**
116
+ * Get a stored hypervector by key
117
+ * @param key Pattern key
118
+ * @returns Hypervector if found, undefined otherwise
119
+ */
120
+ get(key: string): Hypervector | undefined;
121
+ /**
122
+ * Check if a key exists in memory
123
+ * @param key Pattern key
124
+ * @returns True if key exists
125
+ */
126
+ has(key: string): boolean;
127
+ /**
128
+ * Clear all stored patterns
129
+ */
130
+ clear(): void;
131
+ /**
132
+ * Get number of stored patterns
133
+ */
134
+ size(): number;
135
+ /**
136
+ * Encode a QE TestPattern to a hypervector
137
+ * @param pattern Test pattern to encode
138
+ * @returns Encoded hypervector
139
+ */
140
+ encodePattern(pattern: TestPattern | SimplePattern): Hypervector;
141
+ /**
142
+ * Decode a hypervector to partial pattern information
143
+ * Note: HDC is lossy, so only approximate reconstruction is possible
144
+ * @param vector Hypervector to decode
145
+ * @returns Partial pattern with best-match type and domain
146
+ */
147
+ decodePattern(vector: Hypervector): Partial<SimplePattern>;
148
+ /**
149
+ * Find top-k most similar patterns to query
150
+ * @param query Query hypervector
151
+ * @param k Number of results to return
152
+ * @returns Array of top-k matching results
153
+ */
154
+ topK(query: Hypervector, k: number): RetrievalResult[];
155
+ }
156
+ /**
157
+ * HDC Memory Adapter Implementation
158
+ *
159
+ * Wraps the WASM Hypervector and HdcMemory classes to provide
160
+ * a high-level interface for QE agent pattern operations.
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const adapter = new HdcMemoryAdapter();
165
+ * await adapter.initialize();
166
+ *
167
+ * // Create and store patterns
168
+ * const pattern: SimplePattern = {
169
+ * type: 'edge-case',
170
+ * domain: 'unit-test',
171
+ * content: 'null input handling'
172
+ * };
173
+ * const vector = adapter.encodePattern(pattern);
174
+ * adapter.store('pattern-001', vector);
175
+ *
176
+ * // Query for similar patterns
177
+ * const results = adapter.retrieve(vector, 0.8);
178
+ * console.log(`Found ${results.length} similar patterns`);
179
+ * ```
180
+ */
181
+ export declare class HdcMemoryAdapter implements IHdcMemory {
182
+ private memory;
183
+ private initialized;
184
+ private readonly config;
185
+ /**
186
+ * Codebook for encoding pattern types to hypervectors
187
+ * Each type gets a unique random hypervector for binding
188
+ */
189
+ private typeCodebook;
190
+ /**
191
+ * Codebook for encoding domains/categories to hypervectors
192
+ */
193
+ private domainCodebook;
194
+ /**
195
+ * Codebook for encoding frameworks to hypervectors
196
+ */
197
+ private frameworkCodebook;
198
+ /**
199
+ * Base vectors for role encoding (TYPE, DOMAIN, CONTENT, FRAMEWORK)
200
+ */
201
+ private roleVectors;
202
+ /**
203
+ * Local tracking of stored patterns for serialization
204
+ * (WASM HdcMemory doesn't expose pattern iteration)
205
+ */
206
+ private storedPatterns;
207
+ /**
208
+ * Create a new HdcMemoryAdapter
209
+ * @param config Optional configuration overrides
210
+ */
211
+ constructor(config?: Partial<HdcMemoryConfig>);
212
+ /**
213
+ * Initialize the WASM module for Node.js environment
214
+ *
215
+ * Must be called before any other operations.
216
+ * Loads the WASM binary and initializes all codebooks.
217
+ *
218
+ * @throws Error if WASM file cannot be loaded
219
+ */
220
+ initialize(): Promise<void>;
221
+ /**
222
+ * Initialize codebooks with predefined pattern types and domains
223
+ */
224
+ private initializeCodebooks;
225
+ /**
226
+ * Check if the adapter is initialized
227
+ */
228
+ isInitialized(): boolean;
229
+ /**
230
+ * Ensure the adapter is initialized before operations
231
+ */
232
+ private ensureInitialized;
233
+ /**
234
+ * Create a new hypervector
235
+ * @param seed Optional seed for reproducibility
236
+ * @returns New 10,000-bit hypervector
237
+ */
238
+ createHypervector(seed?: bigint): Hypervector;
239
+ /**
240
+ * Bind two hypervectors using XOR
241
+ * @param a First hypervector
242
+ * @param b Second hypervector
243
+ * @returns Bound hypervector
244
+ */
245
+ bind(a: Hypervector, b: Hypervector): Hypervector;
246
+ /**
247
+ * Bundle multiple hypervectors using majority voting
248
+ *
249
+ * For arrays smaller than 3, uses repeated bundling with padding.
250
+ * For larger arrays, chains bundle_3 operations.
251
+ *
252
+ * @param vectors Array of hypervectors to bundle
253
+ * @returns Bundled hypervector
254
+ * @throws Error if vectors array is empty
255
+ */
256
+ bundle(vectors: Hypervector[]): Hypervector;
257
+ /**
258
+ * Compute similarity between two hypervectors
259
+ * @param a First hypervector
260
+ * @param b Second hypervector
261
+ * @returns Similarity score in [-1.0, 1.0]
262
+ */
263
+ similarity(a: Hypervector, b: Hypervector): number;
264
+ /**
265
+ * Store a hypervector with a key
266
+ *
267
+ * Note: The WASM store operation consumes the vector (move semantics).
268
+ * If you need to keep using the vector after storing, create a clone first
269
+ * using `Hypervector.from_bytes(vector.to_bytes())`.
270
+ *
271
+ * @param key Unique identifier
272
+ * @param vector Hypervector to store (will be consumed)
273
+ */
274
+ store(key: string, vector: Hypervector): void;
275
+ /**
276
+ * Retrieve patterns similar to query
277
+ * @param query Query hypervector
278
+ * @param threshold Minimum similarity (default from config)
279
+ * @returns Array of matching results
280
+ */
281
+ retrieve(query: Hypervector, threshold?: number): RetrievalResult[];
282
+ /**
283
+ * Get a stored hypervector by key
284
+ * @param key Pattern key
285
+ * @returns Hypervector if found
286
+ */
287
+ get(key: string): Hypervector | undefined;
288
+ /**
289
+ * Check if a key exists
290
+ * @param key Pattern key
291
+ * @returns True if exists
292
+ */
293
+ has(key: string): boolean;
294
+ /**
295
+ * Clear all stored patterns
296
+ */
297
+ clear(): void;
298
+ /**
299
+ * Get number of stored patterns
300
+ */
301
+ size(): number;
302
+ /**
303
+ * Find top-k most similar patterns
304
+ * @param query Query hypervector
305
+ * @param k Number of results
306
+ * @returns Top-k matching results
307
+ */
308
+ topK(query: Hypervector, k: number): RetrievalResult[];
309
+ /**
310
+ * Encode a pattern to a hypervector
311
+ *
312
+ * Uses structured encoding with role-filler binding:
313
+ * - TYPE role bound to type hypervector
314
+ * - DOMAIN role bound to domain hypervector
315
+ * - CONTENT encoded via hash-based seeding
316
+ * - FRAMEWORK role bound to framework hypervector (if present)
317
+ *
318
+ * Final pattern is the bundle of all role-filler pairs.
319
+ *
320
+ * @param pattern Pattern to encode
321
+ * @returns Encoded hypervector
322
+ */
323
+ encodePattern(pattern: TestPattern | SimplePattern): Hypervector;
324
+ /**
325
+ * Type guard to check if pattern is a full TestPattern
326
+ */
327
+ private isTestPattern;
328
+ /**
329
+ * Decode a hypervector to partial pattern information
330
+ *
331
+ * Since HDC encoding is lossy, this performs best-match retrieval
332
+ * against the codebooks to determine the most likely type and domain.
333
+ *
334
+ * @param vector Hypervector to decode
335
+ * @returns Partial pattern with best-match type and domain
336
+ */
337
+ decodePattern(vector: Hypervector): Partial<SimplePattern>;
338
+ /**
339
+ * Get or create a codebook entry for a value
340
+ */
341
+ private getOrCreateCodebookEntry;
342
+ /**
343
+ * Extract type string from pattern
344
+ */
345
+ private getPatternType;
346
+ /**
347
+ * Extract domain string from pattern
348
+ */
349
+ private getPatternDomain;
350
+ /**
351
+ * Extract content string from pattern
352
+ */
353
+ private getPatternContent;
354
+ /**
355
+ * Hash a string to a bigint seed for reproducible hypervector generation
356
+ * Uses FNV-1a hash algorithm for good distribution
357
+ */
358
+ private hashString;
359
+ /**
360
+ * Get the current configuration
361
+ */
362
+ getConfig(): HdcMemoryConfig;
363
+ /**
364
+ * Update configuration
365
+ * @param updates Partial configuration updates
366
+ */
367
+ updateConfig(updates: Partial<HdcMemoryConfig>): void;
368
+ /**
369
+ * Get statistics about the memory state
370
+ */
371
+ getStats(): {
372
+ initialized: boolean;
373
+ size: number;
374
+ typeCodebookSize: number;
375
+ domainCodebookSize: number;
376
+ frameworkCodebookSize: number;
377
+ };
378
+ /**
379
+ * Dispose of WASM resources
380
+ * Call this when done using the adapter to free memory
381
+ */
382
+ dispose(): void;
383
+ /**
384
+ * Get codebooks for serialization
385
+ * @returns Object containing all codebooks
386
+ */
387
+ getCodebooks(): {
388
+ type: Map<string, Hypervector>;
389
+ domain: Map<string, Hypervector>;
390
+ framework: Map<string, Hypervector>;
391
+ };
392
+ /**
393
+ * Get role vectors for serialization
394
+ * @returns Object containing all role vectors
395
+ */
396
+ getRoleVectors(): {
397
+ type: Hypervector;
398
+ domain: Hypervector;
399
+ content: Hypervector;
400
+ framework: Hypervector;
401
+ };
402
+ /**
403
+ * Get all stored patterns for serialization
404
+ * @returns Map of pattern keys to vectors and metadata
405
+ */
406
+ getStoredPatterns(): Map<string, {
407
+ vector: Hypervector;
408
+ metadata?: Record<string, unknown>;
409
+ }>;
410
+ /**
411
+ * Get the hypervector dimension
412
+ * @returns Dimension (default 10000)
413
+ */
414
+ getDimension(): number;
415
+ /**
416
+ * Restore codebooks from serialized state
417
+ * @param codebooks Codebook maps to restore
418
+ */
419
+ restoreCodebooks(codebooks: {
420
+ type: Map<string, Hypervector>;
421
+ domain: Map<string, Hypervector>;
422
+ framework: Map<string, Hypervector>;
423
+ }): void;
424
+ /**
425
+ * Restore role vectors from serialized state
426
+ * @param roleVectors Role vectors to restore
427
+ */
428
+ restoreRoleVectors(roleVectors: {
429
+ type: Hypervector;
430
+ domain: Hypervector;
431
+ content: Hypervector;
432
+ framework: Hypervector;
433
+ }): void;
434
+ /**
435
+ * Restore patterns from serialized state
436
+ * @param patterns Map of patterns to restore
437
+ */
438
+ restorePatterns(patterns: Map<string, {
439
+ vector: Hypervector;
440
+ metadata?: Record<string, unknown>;
441
+ }>): void;
442
+ }
443
+ export type { TestPattern, PatternType, PatternCategory, TestFramework };
444
+ //# sourceMappingURL=HdcMemoryAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HdcMemoryAdapter.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/adapters/HdcMemoryAdapter.ts"],"names":[],"mappings":"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"}