cursor-recursive-rag 0.2.0-alpha.2 → 0.2.0
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/README.md +179 -203
- package/dist/adapters/llm/anthropic.d.ts +27 -0
- package/dist/adapters/llm/anthropic.d.ts.map +1 -0
- package/dist/adapters/llm/anthropic.js +287 -0
- package/dist/adapters/llm/anthropic.js.map +1 -0
- package/dist/adapters/llm/base.d.ts +62 -0
- package/dist/adapters/llm/base.d.ts.map +1 -0
- package/dist/adapters/llm/base.js +140 -0
- package/dist/adapters/llm/base.js.map +1 -0
- package/dist/adapters/llm/deepseek.d.ts +24 -0
- package/dist/adapters/llm/deepseek.d.ts.map +1 -0
- package/dist/adapters/llm/deepseek.js +228 -0
- package/dist/adapters/llm/deepseek.js.map +1 -0
- package/dist/adapters/llm/groq.d.ts +25 -0
- package/dist/adapters/llm/groq.d.ts.map +1 -0
- package/dist/adapters/llm/groq.js +265 -0
- package/dist/adapters/llm/groq.js.map +1 -0
- package/dist/adapters/llm/index.d.ts +62 -0
- package/dist/adapters/llm/index.d.ts.map +1 -0
- package/dist/adapters/llm/index.js +380 -0
- package/dist/adapters/llm/index.js.map +1 -0
- package/dist/adapters/llm/ollama.d.ts +23 -0
- package/dist/adapters/llm/ollama.d.ts.map +1 -0
- package/dist/adapters/llm/ollama.js +261 -0
- package/dist/adapters/llm/ollama.js.map +1 -0
- package/dist/adapters/llm/openai.d.ts +22 -0
- package/dist/adapters/llm/openai.d.ts.map +1 -0
- package/dist/adapters/llm/openai.js +232 -0
- package/dist/adapters/llm/openai.js.map +1 -0
- package/dist/adapters/llm/openrouter.d.ts +27 -0
- package/dist/adapters/llm/openrouter.d.ts.map +1 -0
- package/dist/adapters/llm/openrouter.js +305 -0
- package/dist/adapters/llm/openrouter.js.map +1 -0
- package/dist/adapters/vector/index.d.ts.map +1 -1
- package/dist/adapters/vector/index.js +8 -0
- package/dist/adapters/vector/index.js.map +1 -1
- package/dist/adapters/vector/redis-native.d.ts +35 -0
- package/dist/adapters/vector/redis-native.d.ts.map +1 -0
- package/dist/adapters/vector/redis-native.js +170 -0
- package/dist/adapters/vector/redis-native.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +4 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +374 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +4 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +237 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/rules.d.ts +9 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +639 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/setup.js +5 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/memoryConfig.d.ts +427 -0
- package/dist/config/memoryConfig.d.ts.map +1 -0
- package/dist/config/memoryConfig.js +258 -0
- package/dist/config/memoryConfig.js.map +1 -0
- package/dist/config/rulesConfig.d.ts +486 -0
- package/dist/config/rulesConfig.d.ts.map +1 -0
- package/dist/config/rulesConfig.js +345 -0
- package/dist/config/rulesConfig.js.map +1 -0
- package/dist/dashboard/coreTools.d.ts +14 -0
- package/dist/dashboard/coreTools.d.ts.map +1 -0
- package/dist/dashboard/coreTools.js +413 -0
- package/dist/dashboard/coreTools.js.map +1 -0
- package/dist/dashboard/public/index.html +1982 -13
- package/dist/dashboard/server.d.ts +1 -8
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +846 -13
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/toolRegistry.d.ts +192 -0
- package/dist/dashboard/toolRegistry.d.ts.map +1 -0
- package/dist/dashboard/toolRegistry.js +322 -0
- package/dist/dashboard/toolRegistry.js.map +1 -0
- package/dist/proxy/index.d.ts +1 -1
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js +9 -6
- package/dist/proxy/index.js.map +1 -1
- package/dist/server/index.js +21 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/tools/crawl.d.ts.map +1 -1
- package/dist/server/tools/crawl.js +8 -0
- package/dist/server/tools/crawl.js.map +1 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +19 -1
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/ingest.d.ts.map +1 -1
- package/dist/server/tools/ingest.js +5 -0
- package/dist/server/tools/ingest.js.map +1 -1
- package/dist/server/tools/memory.d.ts +250 -0
- package/dist/server/tools/memory.d.ts.map +1 -0
- package/dist/server/tools/memory.js +472 -0
- package/dist/server/tools/memory.js.map +1 -0
- package/dist/server/tools/recursive-query.d.ts.map +1 -1
- package/dist/server/tools/recursive-query.js +6 -0
- package/dist/server/tools/recursive-query.js.map +1 -1
- package/dist/server/tools/search.d.ts.map +1 -1
- package/dist/server/tools/search.js +6 -0
- package/dist/server/tools/search.js.map +1 -1
- package/dist/services/activity-log.d.ts +10 -0
- package/dist/services/activity-log.d.ts.map +1 -0
- package/dist/services/activity-log.js +53 -0
- package/dist/services/activity-log.js.map +1 -0
- package/dist/services/categoryManager.d.ts +110 -0
- package/dist/services/categoryManager.d.ts.map +1 -0
- package/dist/services/categoryManager.js +549 -0
- package/dist/services/categoryManager.js.map +1 -0
- package/dist/services/contextEnvironment.d.ts +206 -0
- package/dist/services/contextEnvironment.d.ts.map +1 -0
- package/dist/services/contextEnvironment.js +481 -0
- package/dist/services/contextEnvironment.js.map +1 -0
- package/dist/services/conversationProcessor.d.ts +99 -0
- package/dist/services/conversationProcessor.d.ts.map +1 -0
- package/dist/services/conversationProcessor.js +311 -0
- package/dist/services/conversationProcessor.js.map +1 -0
- package/dist/services/cursorChatReader.d.ts +129 -0
- package/dist/services/cursorChatReader.d.ts.map +1 -0
- package/dist/services/cursorChatReader.js +419 -0
- package/dist/services/cursorChatReader.js.map +1 -0
- package/dist/services/decayCalculator.d.ts +85 -0
- package/dist/services/decayCalculator.d.ts.map +1 -0
- package/dist/services/decayCalculator.js +182 -0
- package/dist/services/decayCalculator.js.map +1 -0
- package/dist/services/enhancedVectorStore.d.ts +102 -0
- package/dist/services/enhancedVectorStore.d.ts.map +1 -0
- package/dist/services/enhancedVectorStore.js +245 -0
- package/dist/services/enhancedVectorStore.js.map +1 -0
- package/dist/services/hybridScorer.d.ts +120 -0
- package/dist/services/hybridScorer.d.ts.map +1 -0
- package/dist/services/hybridScorer.js +334 -0
- package/dist/services/hybridScorer.js.map +1 -0
- package/dist/services/knowledgeExtractor.d.ts +45 -0
- package/dist/services/knowledgeExtractor.d.ts.map +1 -0
- package/dist/services/knowledgeExtractor.js +436 -0
- package/dist/services/knowledgeExtractor.js.map +1 -0
- package/dist/services/knowledgeStorage.d.ts +102 -0
- package/dist/services/knowledgeStorage.d.ts.map +1 -0
- package/dist/services/knowledgeStorage.js +383 -0
- package/dist/services/knowledgeStorage.js.map +1 -0
- package/dist/services/maintenanceScheduler.d.ts +89 -0
- package/dist/services/maintenanceScheduler.d.ts.map +1 -0
- package/dist/services/maintenanceScheduler.js +479 -0
- package/dist/services/maintenanceScheduler.js.map +1 -0
- package/dist/services/memoryMetadataStore.d.ts +62 -0
- package/dist/services/memoryMetadataStore.d.ts.map +1 -0
- package/dist/services/memoryMetadataStore.js +570 -0
- package/dist/services/memoryMetadataStore.js.map +1 -0
- package/dist/services/recursiveRetrieval.d.ts +122 -0
- package/dist/services/recursiveRetrieval.d.ts.map +1 -0
- package/dist/services/recursiveRetrieval.js +443 -0
- package/dist/services/recursiveRetrieval.js.map +1 -0
- package/dist/services/relationshipGraph.d.ts +77 -0
- package/dist/services/relationshipGraph.d.ts.map +1 -0
- package/dist/services/relationshipGraph.js +411 -0
- package/dist/services/relationshipGraph.js.map +1 -0
- package/dist/services/rlmSafeguards.d.ts +273 -0
- package/dist/services/rlmSafeguards.d.ts.map +1 -0
- package/dist/services/rlmSafeguards.js +705 -0
- package/dist/services/rlmSafeguards.js.map +1 -0
- package/dist/services/rulesAnalyzer.d.ts +119 -0
- package/dist/services/rulesAnalyzer.d.ts.map +1 -0
- package/dist/services/rulesAnalyzer.js +768 -0
- package/dist/services/rulesAnalyzer.js.map +1 -0
- package/dist/services/rulesMerger.d.ts +75 -0
- package/dist/services/rulesMerger.d.ts.map +1 -0
- package/dist/services/rulesMerger.js +404 -0
- package/dist/services/rulesMerger.js.map +1 -0
- package/dist/services/rulesParser.d.ts +127 -0
- package/dist/services/rulesParser.d.ts.map +1 -0
- package/dist/services/rulesParser.js +594 -0
- package/dist/services/rulesParser.js.map +1 -0
- package/dist/services/smartChunker.d.ts +110 -0
- package/dist/services/smartChunker.d.ts.map +1 -0
- package/dist/services/smartChunker.js +520 -0
- package/dist/services/smartChunker.js.map +1 -0
- package/dist/types/categories.d.ts +105 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +108 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/extractedKnowledge.d.ts +233 -0
- package/dist/types/extractedKnowledge.d.ts.map +1 -0
- package/dist/types/extractedKnowledge.js +56 -0
- package/dist/types/extractedKnowledge.js.map +1 -0
- package/dist/types/index.d.ts +9 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +12 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/llmProvider.d.ts +282 -0
- package/dist/types/llmProvider.d.ts.map +1 -0
- package/dist/types/llmProvider.js +48 -0
- package/dist/types/llmProvider.js.map +1 -0
- package/dist/types/memory.d.ts +227 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +76 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/relationships.d.ts +167 -0
- package/dist/types/relationships.d.ts.map +1 -0
- package/dist/types/relationships.js +106 -0
- package/dist/types/relationships.js.map +1 -0
- package/dist/types/rulesOptimizer.d.ts +345 -0
- package/dist/types/rulesOptimizer.d.ts.map +1 -0
- package/dist/types/rulesOptimizer.js +22 -0
- package/dist/types/rulesOptimizer.js.map +1 -0
- package/docs/cursor-recursive-rag-memory-spec.md +4569 -0
- package/docs/cursor-recursive-rag-tasks.md +1355 -0
- package/package.json +6 -3
- package/restart-rag.sh +16 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RLM Safeguards - Anti-Pattern Mitigations
|
|
3
|
+
*
|
|
4
|
+
* Based on the Recursive Language Models paper's Negative Results (Appendix A),
|
|
5
|
+
* this service implements safeguards to prevent common anti-patterns:
|
|
6
|
+
*
|
|
7
|
+
* 1. Model-specific configurations (not one-size-fits-all)
|
|
8
|
+
* 2. Capability detection for code execution ability
|
|
9
|
+
* 3. Token budget management (reserve for answers)
|
|
10
|
+
* 4. Multi-signal termination detection (not just tags)
|
|
11
|
+
* 5. Sub-call throttling and caching
|
|
12
|
+
* 6. Circuit breaker for runaway trajectories
|
|
13
|
+
* 7. Model prior-based pre-filtering
|
|
14
|
+
*/
|
|
15
|
+
import type { EnhancedChunk } from '../types/memory.js';
|
|
16
|
+
import type { LLMService } from './contextEnvironment.js';
|
|
17
|
+
export type CodeExecutionCapability = 'excellent' | 'good' | 'limited' | 'none';
|
|
18
|
+
export type RetrievalStrategy = 'direct' | 'iterative' | 'recursive';
|
|
19
|
+
export type CircuitBreakerState = 'closed' | 'open' | 'half-open';
|
|
20
|
+
export interface ModelCapabilities {
|
|
21
|
+
codeExecution: CodeExecutionCapability;
|
|
22
|
+
contextWindow: number;
|
|
23
|
+
outputTokens: number;
|
|
24
|
+
supportsStreaming: boolean;
|
|
25
|
+
supportsToolUse: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ModelConfig {
|
|
28
|
+
maxSubCalls: number;
|
|
29
|
+
maxIterations: number;
|
|
30
|
+
warnOnExcessiveCalls: boolean;
|
|
31
|
+
costMultiplier: number;
|
|
32
|
+
requiresExtraWarnings: boolean;
|
|
33
|
+
preferredChunkSize: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const DEFAULT_MODEL_CAPABILITIES: ModelCapabilities;
|
|
36
|
+
export declare const MODEL_CONFIGS: Record<string, ModelConfig>;
|
|
37
|
+
export declare const MODEL_CAPABILITIES: Record<string, ModelCapabilities>;
|
|
38
|
+
export interface TokenBudget {
|
|
39
|
+
totalOutputTokens: number;
|
|
40
|
+
reservedForAnswer: number;
|
|
41
|
+
maxThinkingTokens: number;
|
|
42
|
+
currentUsed: number;
|
|
43
|
+
}
|
|
44
|
+
export interface TerminationSignals {
|
|
45
|
+
explicitTag: boolean;
|
|
46
|
+
confidenceStatement: boolean;
|
|
47
|
+
noMoreActions: boolean;
|
|
48
|
+
answerValidation: boolean;
|
|
49
|
+
iterationLimitReached: boolean;
|
|
50
|
+
budgetExhausted: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface ValidationResult {
|
|
53
|
+
valid: boolean;
|
|
54
|
+
reason?: string;
|
|
55
|
+
confidence?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get model configuration, with fallback to default
|
|
59
|
+
*/
|
|
60
|
+
export declare function getModelConfig(modelName: string): ModelConfig;
|
|
61
|
+
/**
|
|
62
|
+
* Get model capabilities, with fallback to default
|
|
63
|
+
*/
|
|
64
|
+
export declare function getModelCapabilities(modelName: string): ModelCapabilities;
|
|
65
|
+
/**
|
|
66
|
+
* Choose retrieval strategy based on model capabilities and query complexity
|
|
67
|
+
*/
|
|
68
|
+
export declare function chooseRetrievalStrategy(capabilities: ModelCapabilities, queryComplexity: 'simple' | 'moderate' | 'complex'): RetrievalStrategy;
|
|
69
|
+
/**
|
|
70
|
+
* Token Budget Manager
|
|
71
|
+
* Reserves output tokens for final answers to prevent running out
|
|
72
|
+
*/
|
|
73
|
+
export declare class TokenBudgetManager {
|
|
74
|
+
private budget;
|
|
75
|
+
constructor(modelName: string, reserveRatio?: number);
|
|
76
|
+
canUseTokens(count: number): boolean;
|
|
77
|
+
useTokens(count: number): void;
|
|
78
|
+
getRemainingThinkingTokens(): number;
|
|
79
|
+
getReservedForAnswer(): number;
|
|
80
|
+
getBudget(): TokenBudget;
|
|
81
|
+
reset(): void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Multi-Signal Termination Detector
|
|
85
|
+
* Uses multiple signals to determine when to terminate, not just tags
|
|
86
|
+
*/
|
|
87
|
+
export declare class TerminationDetector {
|
|
88
|
+
private signals;
|
|
89
|
+
private requiredSignals;
|
|
90
|
+
constructor(requiredSignals?: number);
|
|
91
|
+
/**
|
|
92
|
+
* Check if response contains explicit termination tags
|
|
93
|
+
*/
|
|
94
|
+
checkExplicitTag(response: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Check if response expresses confidence in the answer
|
|
97
|
+
*/
|
|
98
|
+
checkConfidenceStatement(response: string): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Check if response doesn't request more operations
|
|
101
|
+
*/
|
|
102
|
+
checkNoMoreActions(response: string): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Validate that answer is actually an answer, not a plan
|
|
105
|
+
*/
|
|
106
|
+
validateAnswer(answer: string, query: string): ValidationResult;
|
|
107
|
+
/**
|
|
108
|
+
* Set iteration limit reached
|
|
109
|
+
*/
|
|
110
|
+
setIterationLimitReached(): void;
|
|
111
|
+
/**
|
|
112
|
+
* Set budget exhausted
|
|
113
|
+
*/
|
|
114
|
+
setBudgetExhausted(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Check if we should terminate based on multiple signals
|
|
117
|
+
*/
|
|
118
|
+
shouldTerminate(): {
|
|
119
|
+
terminate: boolean;
|
|
120
|
+
reason: string;
|
|
121
|
+
confidence: number;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Get current signals
|
|
125
|
+
*/
|
|
126
|
+
getSignals(): TerminationSignals;
|
|
127
|
+
/**
|
|
128
|
+
* Reset signals
|
|
129
|
+
*/
|
|
130
|
+
reset(): void;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Circuit Breaker for runaway trajectories
|
|
134
|
+
* Prevents excessive failures from consuming resources
|
|
135
|
+
*/
|
|
136
|
+
export declare class CircuitBreaker {
|
|
137
|
+
private failures;
|
|
138
|
+
private lastFailure;
|
|
139
|
+
private state;
|
|
140
|
+
private threshold;
|
|
141
|
+
private resetTimeMs;
|
|
142
|
+
constructor(threshold?: number, resetTimeMs?: number);
|
|
143
|
+
execute<T>(operation: () => Promise<T>): Promise<T>;
|
|
144
|
+
private onSuccess;
|
|
145
|
+
private onFailure;
|
|
146
|
+
getState(): CircuitBreakerState;
|
|
147
|
+
getFailures(): number;
|
|
148
|
+
reset(): void;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Sub-Call Throttler with Caching
|
|
152
|
+
* Prevents excessive sub-calls and caches results
|
|
153
|
+
*/
|
|
154
|
+
export declare class SubCallThrottler {
|
|
155
|
+
private callCounts;
|
|
156
|
+
private cache;
|
|
157
|
+
private maxCallsPerKey;
|
|
158
|
+
private cacheTtlMs;
|
|
159
|
+
constructor(maxCallsPerKey?: number, cacheTtlMs?: number);
|
|
160
|
+
throttledCall(key: string, llm: LLMService, prompt: string, options?: {
|
|
161
|
+
maxTokens?: number;
|
|
162
|
+
temperature?: number;
|
|
163
|
+
}): Promise<string>;
|
|
164
|
+
private hashPrompt;
|
|
165
|
+
getCallCount(key: string): number;
|
|
166
|
+
getCacheSize(): number;
|
|
167
|
+
clearCache(): void;
|
|
168
|
+
reset(): void;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Model Prior-Based Pre-Filter
|
|
172
|
+
* Filters context using patterns before semantic analysis
|
|
173
|
+
*/
|
|
174
|
+
export declare class PriorBasedFilter {
|
|
175
|
+
/**
|
|
176
|
+
* Pre-filter chunks using keyword patterns
|
|
177
|
+
*/
|
|
178
|
+
filterByKeywords(chunks: EnhancedChunk[], keywords: string[], options?: {
|
|
179
|
+
matchAll?: boolean;
|
|
180
|
+
caseSensitive?: boolean;
|
|
181
|
+
}): EnhancedChunk[];
|
|
182
|
+
/**
|
|
183
|
+
* Extract keywords from query using heuristics
|
|
184
|
+
*/
|
|
185
|
+
extractQueryKeywords(query: string): string[];
|
|
186
|
+
/**
|
|
187
|
+
* Smart pre-filter that combines multiple strategies
|
|
188
|
+
*/
|
|
189
|
+
smartPreFilter(chunks: EnhancedChunk[], query: string, maxChunks?: number): EnhancedChunk[];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* RLM Safeguards Coordinator
|
|
193
|
+
* Combines all safeguards into a single interface
|
|
194
|
+
*/
|
|
195
|
+
export declare class RLMSafeguards {
|
|
196
|
+
private tokenBudget;
|
|
197
|
+
private terminationDetector;
|
|
198
|
+
private circuitBreaker;
|
|
199
|
+
private throttler;
|
|
200
|
+
private priorFilter;
|
|
201
|
+
private modelConfig;
|
|
202
|
+
private modelCapabilities;
|
|
203
|
+
constructor(modelName: string, options?: {
|
|
204
|
+
requiredTerminationSignals?: number;
|
|
205
|
+
circuitBreakerThreshold?: number;
|
|
206
|
+
circuitBreakerResetMs?: number;
|
|
207
|
+
maxSubCallsPerKey?: number;
|
|
208
|
+
cacheTtlMs?: number;
|
|
209
|
+
});
|
|
210
|
+
/**
|
|
211
|
+
* Choose appropriate retrieval strategy
|
|
212
|
+
*/
|
|
213
|
+
chooseStrategy(queryComplexity: 'simple' | 'moderate' | 'complex'): RetrievalStrategy;
|
|
214
|
+
/**
|
|
215
|
+
* Pre-filter chunks before processing
|
|
216
|
+
*/
|
|
217
|
+
preFilter(chunks: EnhancedChunk[], query: string, maxChunks?: number): EnhancedChunk[];
|
|
218
|
+
/**
|
|
219
|
+
* Execute a sub-call with all safeguards
|
|
220
|
+
*/
|
|
221
|
+
safeSubCall(key: string, llm: LLMService, prompt: string, options?: {
|
|
222
|
+
maxTokens?: number;
|
|
223
|
+
temperature?: number;
|
|
224
|
+
}): Promise<string>;
|
|
225
|
+
/**
|
|
226
|
+
* Check response and update termination signals
|
|
227
|
+
*/
|
|
228
|
+
checkResponse(response: string, query: string): {
|
|
229
|
+
terminate: boolean;
|
|
230
|
+
reason: string;
|
|
231
|
+
confidence: number;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Mark iteration limit reached
|
|
235
|
+
*/
|
|
236
|
+
markIterationLimitReached(): void;
|
|
237
|
+
/**
|
|
238
|
+
* Mark budget exhausted
|
|
239
|
+
*/
|
|
240
|
+
markBudgetExhausted(): void;
|
|
241
|
+
/**
|
|
242
|
+
* Get model configuration
|
|
243
|
+
*/
|
|
244
|
+
getModelConfig(): ModelConfig;
|
|
245
|
+
/**
|
|
246
|
+
* Get model capabilities
|
|
247
|
+
*/
|
|
248
|
+
getModelCapabilities(): ModelCapabilities;
|
|
249
|
+
/**
|
|
250
|
+
* Get current state
|
|
251
|
+
*/
|
|
252
|
+
getState(): {
|
|
253
|
+
tokenBudget: TokenBudget;
|
|
254
|
+
terminationSignals: TerminationSignals;
|
|
255
|
+
circuitBreakerState: CircuitBreakerState;
|
|
256
|
+
cacheSize: number;
|
|
257
|
+
};
|
|
258
|
+
/**
|
|
259
|
+
* Reset all state
|
|
260
|
+
*/
|
|
261
|
+
reset(): void;
|
|
262
|
+
}
|
|
263
|
+
export interface RLMSafeguardsOptions {
|
|
264
|
+
requiredTerminationSignals?: number;
|
|
265
|
+
circuitBreakerThreshold?: number;
|
|
266
|
+
circuitBreakerResetMs?: number;
|
|
267
|
+
maxSubCallsPerKey?: number;
|
|
268
|
+
cacheTtlMs?: number;
|
|
269
|
+
}
|
|
270
|
+
export declare function createRLMSafeguards(modelName: string, options?: RLMSafeguardsOptions): RLMSafeguards;
|
|
271
|
+
export declare function getRLMSafeguards(modelName?: string, options?: RLMSafeguardsOptions): RLMSafeguards;
|
|
272
|
+
export declare function resetRLMSafeguards(): void;
|
|
273
|
+
//# sourceMappingURL=rlmSafeguards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rlmSafeguards.d.ts","sourceRoot":"","sources":["../../src/services/rlmSafeguards.ts"],"names":[],"mappings":"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"}
|