@hazeljs/rag 0.2.0-beta.1

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 (174) hide show
  1. package/README.md +379 -0
  2. package/dist/agentic/agentic-rag.service.d.ts +49 -0
  3. package/dist/agentic/agentic-rag.service.d.ts.map +1 -0
  4. package/dist/agentic/agentic-rag.service.js +149 -0
  5. package/dist/agentic/agentic-rag.service.js.map +1 -0
  6. package/dist/agentic/decorators/active-learning.decorator.d.ts +19 -0
  7. package/dist/agentic/decorators/active-learning.decorator.d.ts.map +1 -0
  8. package/dist/agentic/decorators/active-learning.decorator.js +98 -0
  9. package/dist/agentic/decorators/active-learning.decorator.js.map +1 -0
  10. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts +16 -0
  11. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts.map +1 -0
  12. package/dist/agentic/decorators/adaptive-retrieval.decorator.js +114 -0
  13. package/dist/agentic/decorators/adaptive-retrieval.decorator.js.map +1 -0
  14. package/dist/agentic/decorators/cached.decorator.d.ts +18 -0
  15. package/dist/agentic/decorators/cached.decorator.d.ts.map +1 -0
  16. package/dist/agentic/decorators/cached.decorator.js +93 -0
  17. package/dist/agentic/decorators/cached.decorator.js.map +1 -0
  18. package/dist/agentic/decorators/context-aware.decorator.d.ts +16 -0
  19. package/dist/agentic/decorators/context-aware.decorator.d.ts.map +1 -0
  20. package/dist/agentic/decorators/context-aware.decorator.js +169 -0
  21. package/dist/agentic/decorators/context-aware.decorator.js.map +1 -0
  22. package/dist/agentic/decorators/corrective-rag.decorator.d.ts +15 -0
  23. package/dist/agentic/decorators/corrective-rag.decorator.d.ts.map +1 -0
  24. package/dist/agentic/decorators/corrective-rag.decorator.js +146 -0
  25. package/dist/agentic/decorators/corrective-rag.decorator.js.map +1 -0
  26. package/dist/agentic/decorators/hyde.decorator.d.ts +14 -0
  27. package/dist/agentic/decorators/hyde.decorator.d.ts.map +1 -0
  28. package/dist/agentic/decorators/hyde.decorator.js +90 -0
  29. package/dist/agentic/decorators/hyde.decorator.js.map +1 -0
  30. package/dist/agentic/decorators/index.d.ts +16 -0
  31. package/dist/agentic/decorators/index.d.ts.map +1 -0
  32. package/dist/agentic/decorators/index.js +32 -0
  33. package/dist/agentic/decorators/index.js.map +1 -0
  34. package/dist/agentic/decorators/multi-hop.decorator.d.ts +14 -0
  35. package/dist/agentic/decorators/multi-hop.decorator.d.ts.map +1 -0
  36. package/dist/agentic/decorators/multi-hop.decorator.js +120 -0
  37. package/dist/agentic/decorators/multi-hop.decorator.js.map +1 -0
  38. package/dist/agentic/decorators/query-planner.decorator.d.ts +19 -0
  39. package/dist/agentic/decorators/query-planner.decorator.d.ts.map +1 -0
  40. package/dist/agentic/decorators/query-planner.decorator.js +227 -0
  41. package/dist/agentic/decorators/query-planner.decorator.js.map +1 -0
  42. package/dist/agentic/decorators/query-rewriter.decorator.d.ts +15 -0
  43. package/dist/agentic/decorators/query-rewriter.decorator.d.ts.map +1 -0
  44. package/dist/agentic/decorators/query-rewriter.decorator.js +140 -0
  45. package/dist/agentic/decorators/query-rewriter.decorator.js.map +1 -0
  46. package/dist/agentic/decorators/self-reflective.decorator.d.ts +18 -0
  47. package/dist/agentic/decorators/self-reflective.decorator.d.ts.map +1 -0
  48. package/dist/agentic/decorators/self-reflective.decorator.js +210 -0
  49. package/dist/agentic/decorators/self-reflective.decorator.js.map +1 -0
  50. package/dist/agentic/decorators/source-verification.decorator.d.ts +15 -0
  51. package/dist/agentic/decorators/source-verification.decorator.d.ts.map +1 -0
  52. package/dist/agentic/decorators/source-verification.decorator.js +121 -0
  53. package/dist/agentic/decorators/source-verification.decorator.js.map +1 -0
  54. package/dist/agentic/index.d.ts +9 -0
  55. package/dist/agentic/index.d.ts.map +1 -0
  56. package/dist/agentic/index.js +25 -0
  57. package/dist/agentic/index.js.map +1 -0
  58. package/dist/agentic/types.d.ts +209 -0
  59. package/dist/agentic/types.d.ts.map +1 -0
  60. package/dist/agentic/types.js +7 -0
  61. package/dist/agentic/types.js.map +1 -0
  62. package/dist/decorators/embeddable.decorator.d.ts +31 -0
  63. package/dist/decorators/embeddable.decorator.d.ts.map +1 -0
  64. package/dist/decorators/embeddable.decorator.js +44 -0
  65. package/dist/decorators/embeddable.decorator.js.map +1 -0
  66. package/dist/decorators/rag.decorator.d.ts +58 -0
  67. package/dist/decorators/rag.decorator.d.ts.map +1 -0
  68. package/dist/decorators/rag.decorator.js +78 -0
  69. package/dist/decorators/rag.decorator.js.map +1 -0
  70. package/dist/decorators/semantic-search.decorator.d.ts +69 -0
  71. package/dist/decorators/semantic-search.decorator.d.ts.map +1 -0
  72. package/dist/decorators/semantic-search.decorator.js +116 -0
  73. package/dist/decorators/semantic-search.decorator.js.map +1 -0
  74. package/dist/embeddings/cohere-embeddings.d.ts +33 -0
  75. package/dist/embeddings/cohere-embeddings.d.ts.map +1 -0
  76. package/dist/embeddings/cohere-embeddings.js +91 -0
  77. package/dist/embeddings/cohere-embeddings.js.map +1 -0
  78. package/dist/embeddings/openai-embeddings.d.ts +21 -0
  79. package/dist/embeddings/openai-embeddings.d.ts.map +1 -0
  80. package/dist/embeddings/openai-embeddings.js +53 -0
  81. package/dist/embeddings/openai-embeddings.js.map +1 -0
  82. package/dist/index.d.ts +27 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +54 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/memory/index.d.ts +11 -0
  87. package/dist/memory/index.d.ts.map +1 -0
  88. package/dist/memory/index.js +31 -0
  89. package/dist/memory/index.js.map +1 -0
  90. package/dist/memory/memory-manager.d.ts +96 -0
  91. package/dist/memory/memory-manager.d.ts.map +1 -0
  92. package/dist/memory/memory-manager.js +369 -0
  93. package/dist/memory/memory-manager.js.map +1 -0
  94. package/dist/memory/memory-store.interface.d.ts +73 -0
  95. package/dist/memory/memory-store.interface.d.ts.map +1 -0
  96. package/dist/memory/memory-store.interface.js +6 -0
  97. package/dist/memory/memory-store.interface.js.map +1 -0
  98. package/dist/memory/stores/buffer-memory.d.ts +47 -0
  99. package/dist/memory/stores/buffer-memory.d.ts.map +1 -0
  100. package/dist/memory/stores/buffer-memory.js +280 -0
  101. package/dist/memory/stores/buffer-memory.js.map +1 -0
  102. package/dist/memory/stores/hybrid-memory.d.ts +49 -0
  103. package/dist/memory/stores/hybrid-memory.d.ts.map +1 -0
  104. package/dist/memory/stores/hybrid-memory.js +194 -0
  105. package/dist/memory/stores/hybrid-memory.js.map +1 -0
  106. package/dist/memory/stores/vector-memory.d.ts +48 -0
  107. package/dist/memory/stores/vector-memory.d.ts.map +1 -0
  108. package/dist/memory/stores/vector-memory.js +312 -0
  109. package/dist/memory/stores/vector-memory.js.map +1 -0
  110. package/dist/memory/types.d.ts +119 -0
  111. package/dist/memory/types.d.ts.map +1 -0
  112. package/dist/memory/types.js +18 -0
  113. package/dist/memory/types.js.map +1 -0
  114. package/dist/rag-pipeline-with-memory.d.ts +68 -0
  115. package/dist/rag-pipeline-with-memory.d.ts.map +1 -0
  116. package/dist/rag-pipeline-with-memory.js +186 -0
  117. package/dist/rag-pipeline-with-memory.js.map +1 -0
  118. package/dist/rag-pipeline.d.ts +59 -0
  119. package/dist/rag-pipeline.d.ts.map +1 -0
  120. package/dist/rag-pipeline.js +181 -0
  121. package/dist/rag-pipeline.js.map +1 -0
  122. package/dist/rag.module.d.ts +26 -0
  123. package/dist/rag.module.d.ts.map +1 -0
  124. package/dist/rag.module.js +40 -0
  125. package/dist/rag.module.js.map +1 -0
  126. package/dist/rag.service.d.ts +95 -0
  127. package/dist/rag.service.d.ts.map +1 -0
  128. package/dist/rag.service.js +174 -0
  129. package/dist/rag.service.js.map +1 -0
  130. package/dist/retrieval/bm25.d.ts +57 -0
  131. package/dist/retrieval/bm25.d.ts.map +1 -0
  132. package/dist/retrieval/bm25.js +106 -0
  133. package/dist/retrieval/bm25.js.map +1 -0
  134. package/dist/retrieval/hybrid-search.d.ts +48 -0
  135. package/dist/retrieval/hybrid-search.d.ts.map +1 -0
  136. package/dist/retrieval/hybrid-search.js +123 -0
  137. package/dist/retrieval/hybrid-search.js.map +1 -0
  138. package/dist/retrieval/multi-query.d.ts +38 -0
  139. package/dist/retrieval/multi-query.d.ts.map +1 -0
  140. package/dist/retrieval/multi-query.js +135 -0
  141. package/dist/retrieval/multi-query.js.map +1 -0
  142. package/dist/text-splitters/recursive-text-splitter.d.ts +21 -0
  143. package/dist/text-splitters/recursive-text-splitter.d.ts.map +1 -0
  144. package/dist/text-splitters/recursive-text-splitter.js +95 -0
  145. package/dist/text-splitters/recursive-text-splitter.js.map +1 -0
  146. package/dist/types/index.d.ts +144 -0
  147. package/dist/types/index.d.ts.map +1 -0
  148. package/dist/types/index.js +16 -0
  149. package/dist/types/index.js.map +1 -0
  150. package/dist/utils/similarity.d.ts +16 -0
  151. package/dist/utils/similarity.d.ts.map +1 -0
  152. package/dist/utils/similarity.js +58 -0
  153. package/dist/utils/similarity.js.map +1 -0
  154. package/dist/vector-stores/chroma.store.d.ts +42 -0
  155. package/dist/vector-stores/chroma.store.d.ts.map +1 -0
  156. package/dist/vector-stores/chroma.store.js +242 -0
  157. package/dist/vector-stores/chroma.store.js.map +1 -0
  158. package/dist/vector-stores/memory-vector-store.d.ts +20 -0
  159. package/dist/vector-stores/memory-vector-store.d.ts.map +1 -0
  160. package/dist/vector-stores/memory-vector-store.js +94 -0
  161. package/dist/vector-stores/memory-vector-store.js.map +1 -0
  162. package/dist/vector-stores/pinecone.store.d.ts +34 -0
  163. package/dist/vector-stores/pinecone.store.d.ts.map +1 -0
  164. package/dist/vector-stores/pinecone.store.js +146 -0
  165. package/dist/vector-stores/pinecone.store.js.map +1 -0
  166. package/dist/vector-stores/qdrant.store.d.ts +31 -0
  167. package/dist/vector-stores/qdrant.store.d.ts.map +1 -0
  168. package/dist/vector-stores/qdrant.store.js +173 -0
  169. package/dist/vector-stores/qdrant.store.js.map +1 -0
  170. package/dist/vector-stores/weaviate.store.d.ts +37 -0
  171. package/dist/vector-stores/weaviate.store.d.ts.map +1 -0
  172. package/dist/vector-stores/weaviate.store.js +226 -0
  173. package/dist/vector-stores/weaviate.store.js.map +1 -0
  174. package/package.json +87 -0
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * Active Learning Decorator
4
+ * Learns from user feedback to improve retrieval
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ActiveLearning = ActiveLearning;
8
+ exports.Feedback = Feedback;
9
+ exports.getFeedbackStats = getFeedbackStats;
10
+ exports.clearFeedback = clearFeedback;
11
+ require("reflect-metadata");
12
+ const feedbackStore = new Map();
13
+ function ActiveLearning(config = {}) {
14
+ return function (target, propertyKey, descriptor) {
15
+ const originalMethod = descriptor.value;
16
+ descriptor.value = async function (...args) {
17
+ const results = await originalMethod.apply(this, args);
18
+ if (!config.feedbackEnabled) {
19
+ return results;
20
+ }
21
+ // Apply learned adjustments
22
+ const adjusted = applyLearning(results, config);
23
+ return adjusted;
24
+ };
25
+ return descriptor;
26
+ };
27
+ }
28
+ function Feedback() {
29
+ return function (target, propertyKey, descriptor) {
30
+ const originalMethod = descriptor.value;
31
+ descriptor.value = async function (...args) {
32
+ const feedbackData = args[0];
33
+ // Store feedback
34
+ storeFeedback(feedbackData);
35
+ // Execute original method if any
36
+ if (originalMethod) {
37
+ return originalMethod.apply(this, args);
38
+ }
39
+ };
40
+ return descriptor;
41
+ };
42
+ }
43
+ function applyLearning(results, config) {
44
+ if (!Array.isArray(results)) {
45
+ return results;
46
+ }
47
+ const storageKey = config.storageKey || 'default';
48
+ const feedback = feedbackStore.get(storageKey) || [];
49
+ if (feedback.length === 0) {
50
+ return results;
51
+ }
52
+ // Adjust scores based on feedback
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ return results
55
+ .map((result) => {
56
+ const relevantFeedback = feedback.filter((f) => f.resultId === result.id);
57
+ if (relevantFeedback.length === 0) {
58
+ return result;
59
+ }
60
+ const avgRating = relevantFeedback.reduce((sum, f) => sum + f.rating, 0) / relevantFeedback.length;
61
+ const relevanceBoost = (avgRating - 3) / 5; // Normalize to -0.4 to 0.4
62
+ return {
63
+ ...result,
64
+ score: Math.max(0, Math.min(1, (result.score || 0.5) + relevanceBoost)),
65
+ feedbackCount: relevantFeedback.length,
66
+ avgRating,
67
+ };
68
+ })
69
+ .sort((a, b) => (b.score || 0) - (a.score || 0));
70
+ }
71
+ function storeFeedback(feedback) {
72
+ const storageKey = 'default';
73
+ const existing = feedbackStore.get(storageKey) || [];
74
+ existing.push(feedback);
75
+ // Keep only recent feedback
76
+ const maxFeedback = 1000;
77
+ if (existing.length > maxFeedback) {
78
+ existing.splice(0, existing.length - maxFeedback);
79
+ }
80
+ feedbackStore.set(storageKey, existing);
81
+ }
82
+ function getFeedbackStats(storageKey = 'default') {
83
+ const feedback = feedbackStore.get(storageKey) || [];
84
+ if (feedback.length === 0) {
85
+ return { totalFeedback: 0, avgRating: 0, relevantCount: 0 };
86
+ }
87
+ const avgRating = feedback.reduce((sum, f) => sum + f.rating, 0) / feedback.length;
88
+ const relevantCount = feedback.filter((f) => f.relevant).length;
89
+ return {
90
+ totalFeedback: feedback.length,
91
+ avgRating,
92
+ relevantCount,
93
+ };
94
+ }
95
+ function clearFeedback(storageKey = 'default') {
96
+ feedbackStore.delete(storageKey);
97
+ }
98
+ //# sourceMappingURL=active-learning.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-learning.decorator.js","sourceRoot":"","sources":["../../../src/agentic/decorators/active-learning.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Adaptive Retrieval Decorator
3
+ * Automatically selects the best retrieval strategy
4
+ */
5
+ import 'reflect-metadata';
6
+ import { AdaptiveStrategyResult, AgenticLLMProvider } from '../types';
7
+ import { RetrievalStrategy } from '../../types';
8
+ export interface AdaptiveRetrievalConfig {
9
+ strategies?: RetrievalStrategy[];
10
+ autoSelect?: boolean;
11
+ contextAware?: boolean;
12
+ llmProvider?: AgenticLLMProvider;
13
+ }
14
+ export declare function AdaptiveRetrieval(config?: AdaptiveRetrievalConfig): MethodDecorator;
15
+ export declare function getAdaptiveStrategy(target: object, propertyKey: string | symbol): AdaptiveStrategyResult | undefined;
16
+ //# sourceMappingURL=adaptive-retrieval.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-retrieval.decorator.d.ts","sourceRoot":"","sources":["../../../src/agentic/decorators/adaptive-retrieval.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAID,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,eAAe,CA4BvF;AAwGD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,GAC3B,sBAAsB,GAAG,SAAS,CAEpC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /**
3
+ * Adaptive Retrieval Decorator
4
+ * Automatically selects the best retrieval strategy
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AdaptiveRetrieval = AdaptiveRetrieval;
8
+ exports.getAdaptiveStrategy = getAdaptiveStrategy;
9
+ require("reflect-metadata");
10
+ const types_1 = require("../../types");
11
+ const ADAPTIVE_METADATA_KEY = Symbol('adaptive');
12
+ function AdaptiveRetrieval(config = {}) {
13
+ return function (target, propertyKey, descriptor) {
14
+ const originalMethod = descriptor.value;
15
+ descriptor.value = async function (...args) {
16
+ const query = args[0];
17
+ if (!config.autoSelect) {
18
+ return originalMethod.apply(this, args);
19
+ }
20
+ // Select best strategy
21
+ const strategyResult = await selectStrategy(query, config);
22
+ // Store metadata
23
+ Reflect.defineMetadata(ADAPTIVE_METADATA_KEY, strategyResult, target, propertyKey);
24
+ // Execute with selected strategy
25
+ const modifiedArgs = [...args];
26
+ if (modifiedArgs[1] && typeof modifiedArgs[1] === 'object') {
27
+ modifiedArgs[1] = { ...modifiedArgs[1], strategy: strategyResult.selectedStrategy };
28
+ }
29
+ return originalMethod.apply(this, modifiedArgs);
30
+ };
31
+ return descriptor;
32
+ };
33
+ }
34
+ async function selectStrategy(query, config) {
35
+ const strategies = config.strategies || [
36
+ types_1.RetrievalStrategy.SIMILARITY,
37
+ types_1.RetrievalStrategy.HYBRID,
38
+ types_1.RetrievalStrategy.MMR,
39
+ ];
40
+ if (config.llmProvider) {
41
+ return selectStrategyWithLLM(query, strategies, config);
42
+ }
43
+ return selectStrategyHeuristic(query, strategies);
44
+ }
45
+ async function selectStrategyWithLLM(query, strategies, config) {
46
+ const prompt = `Select the best retrieval strategy for this query:
47
+
48
+ Query: ${query}
49
+
50
+ Available strategies:
51
+ - similarity: Best for semantic similarity
52
+ - hybrid: Combines keyword and semantic search
53
+ - mmr: Maximizes diversity while maintaining relevance
54
+
55
+ Respond in JSON:
56
+ {
57
+ "selectedStrategy": "similarity|hybrid|mmr",
58
+ "reason": "explanation",
59
+ "confidence": 0.0-1.0
60
+ }`;
61
+ try {
62
+ const result = await config.llmProvider.generateStructured(prompt, {});
63
+ return {
64
+ ...result,
65
+ alternatives: strategies
66
+ .filter((s) => s !== result.selectedStrategy)
67
+ .map((s) => ({ strategy: s, score: 0.5 })),
68
+ };
69
+ }
70
+ catch {
71
+ return selectStrategyHeuristic(query, strategies);
72
+ }
73
+ }
74
+ function selectStrategyHeuristic(query, strategies) {
75
+ const lowerQuery = query.toLowerCase();
76
+ // Check for diversity needs
77
+ if (lowerQuery.includes('different') ||
78
+ lowerQuery.includes('various') ||
79
+ lowerQuery.includes('diverse')) {
80
+ return {
81
+ selectedStrategy: types_1.RetrievalStrategy.MMR,
82
+ reason: 'Query requires diverse results',
83
+ confidence: 0.8,
84
+ alternatives: strategies
85
+ .filter((s) => s !== types_1.RetrievalStrategy.MMR)
86
+ .map((s) => ({ strategy: s, score: 0.5 })),
87
+ };
88
+ }
89
+ // Check for keyword-heavy queries
90
+ const hasSpecificTerms = /\b(exact|specific|precise|"[^"]+")/.test(query);
91
+ if (hasSpecificTerms) {
92
+ return {
93
+ selectedStrategy: types_1.RetrievalStrategy.HYBRID,
94
+ reason: 'Query contains specific terms requiring keyword matching',
95
+ confidence: 0.85,
96
+ alternatives: strategies
97
+ .filter((s) => s !== types_1.RetrievalStrategy.HYBRID)
98
+ .map((s) => ({ strategy: s, score: 0.6 })),
99
+ };
100
+ }
101
+ // Default to similarity
102
+ return {
103
+ selectedStrategy: types_1.RetrievalStrategy.SIMILARITY,
104
+ reason: 'General semantic search',
105
+ confidence: 0.7,
106
+ alternatives: strategies
107
+ .filter((s) => s !== types_1.RetrievalStrategy.SIMILARITY)
108
+ .map((s) => ({ strategy: s, score: 0.5 })),
109
+ };
110
+ }
111
+ function getAdaptiveStrategy(target, propertyKey) {
112
+ return Reflect.getMetadata(ADAPTIVE_METADATA_KEY, target, propertyKey);
113
+ }
114
+ //# sourceMappingURL=adaptive-retrieval.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-retrieval.decorator.js","sourceRoot":"","sources":["../../../src/agentic/decorators/adaptive-retrieval.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Cached Decorator
3
+ * Caches retrieval results for performance
4
+ */
5
+ import 'reflect-metadata';
6
+ export interface CachedConfig {
7
+ ttl?: number;
8
+ maxSize?: number;
9
+ keyGenerator?: (args: unknown[]) => string;
10
+ }
11
+ export declare function Cached(config?: CachedConfig): MethodDecorator;
12
+ export declare function getCacheStats(): {
13
+ size: number;
14
+ totalHits: number;
15
+ hitRate: number;
16
+ };
17
+ export declare function clearCache(): void;
18
+ //# sourceMappingURL=cached.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cached.decorator.d.ts","sourceRoot":"","sources":["../../../src/agentic/decorators/cached.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CAC5C;AAKD,wBAAgB,MAAM,CAAC,MAAM,GAAE,YAAiB,GAAG,eAAe,CA4CjE;AAmCD,wBAAgB,aAAa,IAAI;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAcA;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Cached Decorator
4
+ * Caches retrieval results for performance
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Cached = Cached;
8
+ exports.getCacheStats = getCacheStats;
9
+ exports.clearCache = clearCache;
10
+ require("reflect-metadata");
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ const cache = new Map();
13
+ function Cached(config = {}) {
14
+ return function (target, propertyKey, descriptor) {
15
+ const originalMethod = descriptor.value;
16
+ const ttl = (config.ttl || 3600) * 1000; // Convert to ms
17
+ const maxSize = config.maxSize || 100;
18
+ descriptor.value = async function (...args) {
19
+ // Generate cache key
20
+ const key = config.keyGenerator
21
+ ? config.keyGenerator(args)
22
+ : generateCacheKey(propertyKey, args);
23
+ // Check cache
24
+ const cached = cache.get(key);
25
+ if (cached && !isExpired(cached)) {
26
+ cached.hits++;
27
+ return cached.value;
28
+ }
29
+ // Execute method
30
+ const result = await originalMethod.apply(this, args);
31
+ // Store in cache
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ const entry = {
34
+ key,
35
+ value: result,
36
+ timestamp: Date.now(),
37
+ ttl,
38
+ hits: 0,
39
+ };
40
+ cache.set(key, entry);
41
+ // Enforce max size
42
+ if (cache.size > maxSize) {
43
+ evictLRU();
44
+ }
45
+ return result;
46
+ };
47
+ return descriptor;
48
+ };
49
+ }
50
+ function generateCacheKey(method, args) {
51
+ const argsStr = JSON.stringify(args);
52
+ return `${String(method)}:${argsStr}`;
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ function isExpired(entry) {
56
+ return Date.now() - entry.timestamp > entry.ttl;
57
+ }
58
+ function evictLRU() {
59
+ let oldestKey = null;
60
+ let oldestTime = Infinity;
61
+ let lowestHits = Infinity;
62
+ for (const [key, entry] of cache.entries()) {
63
+ if (isExpired(entry)) {
64
+ cache.delete(key);
65
+ continue;
66
+ }
67
+ if (entry.hits < lowestHits || (entry.hits === lowestHits && entry.timestamp < oldestTime)) {
68
+ oldestKey = key;
69
+ oldestTime = entry.timestamp;
70
+ lowestHits = entry.hits;
71
+ }
72
+ }
73
+ if (oldestKey) {
74
+ cache.delete(oldestKey);
75
+ }
76
+ }
77
+ function getCacheStats() {
78
+ let totalHits = 0;
79
+ let totalRequests = 0;
80
+ for (const entry of cache.values()) {
81
+ totalHits += entry.hits;
82
+ totalRequests += entry.hits + 1; // +1 for initial miss
83
+ }
84
+ return {
85
+ size: cache.size,
86
+ totalHits,
87
+ hitRate: totalRequests > 0 ? totalHits / totalRequests : 0,
88
+ };
89
+ }
90
+ function clearCache() {
91
+ cache.clear();
92
+ }
93
+ //# sourceMappingURL=cached.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cached.decorator.js","sourceRoot":"","sources":["../../../src/agentic/decorators/cached.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Context-Aware Decorator
3
+ * Maintains conversation context for improved retrieval
4
+ */
5
+ import 'reflect-metadata';
6
+ import { Context } from '../types';
7
+ export interface ContextAwareConfig {
8
+ windowSize?: number;
9
+ entityTracking?: boolean;
10
+ topicModeling?: boolean;
11
+ sessionId?: string;
12
+ }
13
+ export declare function ContextAware(config?: ContextAwareConfig): MethodDecorator;
14
+ export declare function getContext(target: object, propertyKey: string | symbol): Context | undefined;
15
+ export declare function clearContext(sessionId: string): void;
16
+ //# sourceMappingURL=context-aware.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-aware.decorator.d.ts","sourceRoot":"","sources":["../../../src/agentic/decorators/context-aware.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB,GAAG,eAAe,CA0E7E;AA0GD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5F;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEpD"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * Context-Aware Decorator
4
+ * Maintains conversation context for improved retrieval
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ContextAware = ContextAware;
8
+ exports.getContext = getContext;
9
+ exports.clearContext = clearContext;
10
+ require("reflect-metadata");
11
+ const CONTEXT_METADATA_KEY = Symbol('contextAware');
12
+ const contextStore = new Map();
13
+ function ContextAware(config = {}) {
14
+ return function (target, propertyKey, descriptor) {
15
+ const originalMethod = descriptor.value;
16
+ descriptor.value = async function (...args) {
17
+ const query = args[0];
18
+ const sessionId = (typeof args[1] === 'object' && args[1] !== null && 'sessionId' in args[1]
19
+ ? args[1].sessionId
20
+ : undefined) ||
21
+ config.sessionId ||
22
+ 'default';
23
+ // Get or create context
24
+ let context = contextStore.get(sessionId);
25
+ if (!context) {
26
+ context = {
27
+ sessionId,
28
+ conversationHistory: [],
29
+ entities: [],
30
+ topics: [],
31
+ metadata: {},
32
+ };
33
+ contextStore.set(sessionId, context);
34
+ }
35
+ // Update context with current query
36
+ context.conversationHistory.push({
37
+ role: 'user',
38
+ content: query,
39
+ timestamp: new Date(),
40
+ });
41
+ // Maintain window size
42
+ const windowSize = config.windowSize || 5;
43
+ if (context.conversationHistory.length > windowSize * 2) {
44
+ context.conversationHistory = context.conversationHistory.slice(-windowSize * 2);
45
+ }
46
+ // Extract entities if enabled
47
+ if (config.entityTracking) {
48
+ const entities = extractEntities(query);
49
+ updateEntities(context, entities);
50
+ }
51
+ // Extract topics if enabled
52
+ if (config.topicModeling) {
53
+ const topics = extractTopics(query, context);
54
+ updateTopics(context, topics);
55
+ }
56
+ // Enhance query with context
57
+ const enhancedQuery = enhanceQueryWithContext(query, context);
58
+ // Execute with enhanced query
59
+ const modifiedArgs = [enhancedQuery, ...args.slice(1)];
60
+ const results = await originalMethod.apply(this, modifiedArgs);
61
+ // Store assistant response in context
62
+ if (results) {
63
+ context.conversationHistory.push({
64
+ role: 'assistant',
65
+ content: JSON.stringify(results).slice(0, 500),
66
+ timestamp: new Date(),
67
+ });
68
+ }
69
+ Reflect.defineMetadata(CONTEXT_METADATA_KEY, context, target, propertyKey);
70
+ return results;
71
+ };
72
+ return descriptor;
73
+ };
74
+ }
75
+ function extractEntities(text) {
76
+ const entities = [];
77
+ // Simple named entity extraction (capitalized words)
78
+ const words = text.split(/\s+/);
79
+ const capitalizedWords = words.filter((w) => /^[A-Z][a-z]+/.test(w));
80
+ const entityCounts = new Map();
81
+ capitalizedWords.forEach((word) => {
82
+ entityCounts.set(word, (entityCounts.get(word) || 0) + 1);
83
+ });
84
+ entityCounts.forEach((count, name) => {
85
+ entities.push({
86
+ name,
87
+ type: 'UNKNOWN',
88
+ mentions: count,
89
+ lastSeen: new Date(),
90
+ attributes: {},
91
+ });
92
+ });
93
+ return entities;
94
+ }
95
+ function updateEntities(context, newEntities) {
96
+ newEntities.forEach((newEntity) => {
97
+ const existing = context.entities.find((e) => e.name === newEntity.name);
98
+ if (existing) {
99
+ existing.mentions += newEntity.mentions;
100
+ existing.lastSeen = new Date();
101
+ }
102
+ else {
103
+ context.entities.push(newEntity);
104
+ }
105
+ });
106
+ // Keep only recent entities
107
+ context.entities = context.entities
108
+ .sort((a, b) => b.lastSeen.getTime() - a.lastSeen.getTime())
109
+ .slice(0, 20);
110
+ }
111
+ function extractTopics(query, _context) {
112
+ const topics = [];
113
+ // Extract keywords
114
+ const words = query.toLowerCase().split(/\s+/);
115
+ const stopWords = new Set(['the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for']);
116
+ const keywords = words.filter((w) => w.length > 3 && !stopWords.has(w));
117
+ // Group into topics
118
+ const topicMap = new Map();
119
+ keywords.forEach((keyword) => {
120
+ const topic = keyword.slice(0, 5); // Simple topic grouping
121
+ if (!topicMap.has(topic)) {
122
+ topicMap.set(topic, []);
123
+ }
124
+ topicMap.get(topic).push(keyword);
125
+ });
126
+ topicMap.forEach((keywords, name) => {
127
+ topics.push({
128
+ name,
129
+ relevance: keywords.length / words.length,
130
+ keywords,
131
+ });
132
+ });
133
+ return topics;
134
+ }
135
+ function updateTopics(context, newTopics) {
136
+ newTopics.forEach((newTopic) => {
137
+ const existing = context.topics.find((t) => t.name === newTopic.name);
138
+ if (existing) {
139
+ existing.relevance = (existing.relevance + newTopic.relevance) / 2;
140
+ existing.keywords = [...new Set([...existing.keywords, ...newTopic.keywords])];
141
+ }
142
+ else {
143
+ context.topics.push(newTopic);
144
+ }
145
+ });
146
+ // Keep top topics
147
+ context.topics = context.topics.sort((a, b) => b.relevance - a.relevance).slice(0, 10);
148
+ }
149
+ function enhanceQueryWithContext(query, context) {
150
+ const enhancements = [query];
151
+ // Add recent entities
152
+ const topEntities = context.entities.slice(0, 3).map((e) => e.name);
153
+ if (topEntities.length > 0) {
154
+ enhancements.push(`Context entities: ${topEntities.join(', ')}`);
155
+ }
156
+ // Add recent topics
157
+ const topTopics = context.topics.slice(0, 2).map((t) => t.keywords[0]);
158
+ if (topTopics.length > 0) {
159
+ enhancements.push(`Related topics: ${topTopics.join(', ')}`);
160
+ }
161
+ return enhancements.join(' | ');
162
+ }
163
+ function getContext(target, propertyKey) {
164
+ return Reflect.getMetadata(CONTEXT_METADATA_KEY, target, propertyKey);
165
+ }
166
+ function clearContext(sessionId) {
167
+ contextStore.delete(sessionId);
168
+ }
169
+ //# sourceMappingURL=context-aware.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-aware.decorator.js","sourceRoot":"","sources":["../../../src/agentic/decorators/context-aware.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Corrective RAG (CRAG) Decorator
3
+ * Self-corrects retrieval errors with fallback mechanisms
4
+ */
5
+ import 'reflect-metadata';
6
+ import { CorrectiveRAGResult, AgenticLLMProvider } from '../types';
7
+ export interface CorrectiveRAGConfig {
8
+ relevanceThreshold?: number;
9
+ fallbackToWeb?: boolean;
10
+ maxCorrections?: number;
11
+ llmProvider?: AgenticLLMProvider;
12
+ }
13
+ export declare function CorrectiveRAG(config?: CorrectiveRAGConfig): MethodDecorator;
14
+ export declare function getCorrectiveRAGResult(target: object, propertyKey: string | symbol): CorrectiveRAGResult | undefined;
15
+ //# sourceMappingURL=corrective-rag.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corrective-rag.decorator.d.ts","sourceRoot":"","sources":["../../../src/agentic/decorators/corrective-rag.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAc,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAID,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB,GAAG,eAAe,CAgD/E;AAuHD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,GAC3B,mBAAmB,GAAG,SAAS,CAEjC"}