@rce-mcp/retrieval-core 0.1.0 → 0.1.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/AGENTS.md +1 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/chunking.js +5 -4
- package/dist/index.d.ts +220 -4
- package/dist/index.js +1929 -176
- package/dist/indexing-ignore.d.ts +9 -0
- package/dist/indexing-ignore.js +151 -0
- package/dist/remote-sync.js +12 -5
- package/package.json +8 -6
- package/src/chunking.ts +5 -4
- package/src/index.ts +2399 -208
- package/src/indexing-ignore.ts +179 -0
- package/src/remote-sync.ts +14 -6
- package/test/benchmark.thresholds.test.ts +55 -0
- package/test/chunking.config.test.ts +28 -0
- package/test/chunking.language-aware.test.ts +23 -4
- package/test/chunking.parser-availability.poc.test.ts +3 -3
- package/test/claude-agent-provider.test.ts +209 -0
- package/test/embedding-provider.test.ts +450 -1
- package/test/enhance-confidence.test.ts +275 -3
- package/test/integration.test.ts +185 -1
- package/test/mcp-search-quality.regression.test.ts +322 -0
- package/test/remote-sync.integration.test.ts +51 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
import type { EnhancePromptInput, EnhancePromptOutput, SearchContextInput, SearchContextOutput } from "@rce-mcp/contracts";
|
|
1
|
+
import type { EnhancePromptInput, EnhancePromptOutput, EnhancePromptStyle, SearchContextInput, SearchContextOutput } from "@rce-mcp/contracts";
|
|
2
2
|
import { type CandidateScoreWeights, type IndexRepository, type QueryCache, type WorkspaceRecord } from "@rce-mcp/data-plane";
|
|
3
3
|
import { type Observability } from "@rce-mcp/observability";
|
|
4
4
|
import { type ChunkingStrategy } from "./chunking.js";
|
|
5
|
+
type ContextRef = EnhancePromptOutput["context_refs"][number];
|
|
5
6
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_BASE_URL = "https://router.tumuer.me/v1";
|
|
6
7
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-4B";
|
|
7
8
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_DIMENSIONS = 2560;
|
|
8
9
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_TIMEOUT_MS = 10000;
|
|
9
10
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_BATCH_SIZE = 64;
|
|
10
11
|
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_MAX_RETRIES = 2;
|
|
12
|
+
export declare const DEFAULT_OPENAI_COMPATIBLE_EMBEDDING_TRANSIENT_403_MAX_RETRIES = 4;
|
|
13
|
+
export declare const DEFAULT_OPENAI_COMPATIBLE_RERANKER_BASE_URL = "https://router.tumuer.me/v1";
|
|
14
|
+
export declare const DEFAULT_OPENAI_COMPATIBLE_RERANKER_MODEL = "Qwen/Qwen3-Reranker-4B";
|
|
15
|
+
export declare const DEFAULT_OPENAI_COMPATIBLE_RERANKER_TIMEOUT_MS = 2500;
|
|
16
|
+
export declare const DEFAULT_SEARCH_RERANKER_TOP_N = 30;
|
|
17
|
+
export declare const DEFAULT_PROVIDER_MAX_REQUESTS_PER_MINUTE = 90;
|
|
18
|
+
export declare const DEFAULT_PROVIDER_LIMIT_INDEX_MAX_WAIT_MS = 120000;
|
|
19
|
+
export declare const DEFAULT_PROVIDER_LIMIT_QUERY_MAX_WAIT_MS = 1000;
|
|
20
|
+
export declare const DEFAULT_PROVIDER_LIMIT_RERANK_MAX_WAIT_MS = 500;
|
|
21
|
+
export declare const DEFAULT_CLAUDE_ENHANCER_MODEL = "claude-3-5-sonnet-latest";
|
|
11
22
|
export interface RetrievalPathBiasConfig {
|
|
12
23
|
source_path_boost: number;
|
|
13
24
|
low_priority_prefix_penalty: number;
|
|
@@ -36,6 +47,10 @@ export interface RetrievalPathBiasConfig {
|
|
|
36
47
|
negation_avoid_tests_penalty: number;
|
|
37
48
|
negation_avoid_examples_penalty: number;
|
|
38
49
|
negation_avoid_archive_penalty: number;
|
|
50
|
+
security_trace_meta_penalty: number;
|
|
51
|
+
literal_path_boost: number;
|
|
52
|
+
literal_snippet_boost: number;
|
|
53
|
+
literal_max_boost: number;
|
|
39
54
|
min_total_bias: number;
|
|
40
55
|
max_total_bias: number;
|
|
41
56
|
}
|
|
@@ -56,9 +71,18 @@ export interface RetrievalEnhancerConfig {
|
|
|
56
71
|
max_candidates_pre_rerank: number;
|
|
57
72
|
rerank_timeout_ms: number;
|
|
58
73
|
}
|
|
74
|
+
export type EnhancerToolMode = "none" | "read_only";
|
|
75
|
+
export interface RetrievalEnhancerGenerationConfig {
|
|
76
|
+
timeout_ms: number;
|
|
77
|
+
max_retries: number;
|
|
78
|
+
tool_mode: EnhancerToolMode;
|
|
79
|
+
max_context_snippets: number;
|
|
80
|
+
}
|
|
59
81
|
export interface RetrievalChunkingConfig {
|
|
60
82
|
strategy: ChunkingStrategy;
|
|
61
83
|
fallback_strategy: "sliding";
|
|
84
|
+
target_chunk_tokens: number;
|
|
85
|
+
chunk_overlap_tokens: number;
|
|
62
86
|
parse_timeout_ms: number;
|
|
63
87
|
enabled_languages: string[];
|
|
64
88
|
}
|
|
@@ -68,15 +92,19 @@ export type RetrievalScoringConfigInput = Partial<{
|
|
|
68
92
|
rerank: Partial<RetrievalRerankConfig>;
|
|
69
93
|
}>;
|
|
70
94
|
export type RetrievalEnhancerConfigInput = Partial<RetrievalEnhancerConfig>;
|
|
95
|
+
export type RetrievalEnhancerGenerationConfigInput = Partial<RetrievalEnhancerGenerationConfig>;
|
|
71
96
|
export type RetrievalChunkingConfigInput = Partial<{
|
|
72
97
|
strategy: ChunkingStrategy;
|
|
73
98
|
fallback_strategy: "sliding";
|
|
99
|
+
target_chunk_tokens: number;
|
|
100
|
+
chunk_overlap_tokens: number;
|
|
74
101
|
parse_timeout_ms: number;
|
|
75
102
|
enabled_languages: string[];
|
|
76
103
|
}>;
|
|
77
104
|
export declare const BASELINE_RETRIEVAL_SCORING_CONFIG: RetrievalScoringConfig;
|
|
78
105
|
export declare const CONSERVATIVE_RETRIEVAL_SCORING_CONFIG: RetrievalScoringConfig;
|
|
79
106
|
export declare const DEFAULT_RETRIEVAL_ENHANCER_CONFIG: RetrievalEnhancerConfig;
|
|
107
|
+
export declare const DEFAULT_RETRIEVAL_ENHANCER_GENERATION_CONFIG: RetrievalEnhancerGenerationConfig;
|
|
80
108
|
export declare const DEFAULT_RETRIEVAL_CHUNKING_CONFIG: RetrievalChunkingConfig;
|
|
81
109
|
declare const BUILTIN_RETRIEVAL_SCORING_PROFILES: {
|
|
82
110
|
readonly baseline: RetrievalScoringConfig;
|
|
@@ -89,12 +117,13 @@ export declare function resolveRetrievalScoringProfile(profile_id: string | unde
|
|
|
89
117
|
};
|
|
90
118
|
export declare function mergeRetrievalScoringConfig(base: RetrievalScoringConfig, overrides?: RetrievalScoringConfigInput): RetrievalScoringConfig;
|
|
91
119
|
export declare function mergeRetrievalEnhancerConfig(base: RetrievalEnhancerConfig, overrides?: RetrievalEnhancerConfigInput): RetrievalEnhancerConfig;
|
|
120
|
+
export declare function mergeRetrievalEnhancerGenerationConfig(base: RetrievalEnhancerGenerationConfig, overrides?: RetrievalEnhancerGenerationConfigInput): RetrievalEnhancerGenerationConfig;
|
|
92
121
|
export declare function mergeRetrievalChunkingConfig(base: RetrievalChunkingConfig, overrides?: RetrievalChunkingConfigInput): RetrievalChunkingConfig;
|
|
93
|
-
declare const REASON_STRINGS: readonly ["semantic match", "exact
|
|
122
|
+
declare const REASON_STRINGS: readonly ["semantic match", "exact literal match", "path token overlap", "recently modified relevant module"];
|
|
94
123
|
export type RetrievalReason = (typeof REASON_STRINGS)[number];
|
|
95
124
|
export declare class RetrievalError extends Error {
|
|
96
|
-
readonly code: "INVALID_ARGUMENT" | "NOT_FOUND" | "UPSTREAM_FAILURE";
|
|
97
|
-
constructor(code: "INVALID_ARGUMENT" | "NOT_FOUND" | "UPSTREAM_FAILURE", message: string);
|
|
125
|
+
readonly code: "INVALID_ARGUMENT" | "NOT_FOUND" | "RATE_LIMITED" | "UPSTREAM_FAILURE";
|
|
126
|
+
constructor(code: "INVALID_ARGUMENT" | "NOT_FOUND" | "RATE_LIMITED" | "UPSTREAM_FAILURE", message: string);
|
|
98
127
|
}
|
|
99
128
|
export interface RawFile {
|
|
100
129
|
path: string;
|
|
@@ -161,13 +190,18 @@ export interface IndexingReport {
|
|
|
161
190
|
}
|
|
162
191
|
export interface RetrievalCoreOptions {
|
|
163
192
|
cacheTtlSeconds?: number;
|
|
193
|
+
internalCandidateDepth?: number;
|
|
164
194
|
embeddingProvider?: EmbeddingProvider;
|
|
165
195
|
embeddingDescriptor?: EmbeddingDescriptor;
|
|
196
|
+
rerankerProvider?: RerankerProvider;
|
|
197
|
+
rerankerTopN?: number;
|
|
198
|
+
enhancerProvider?: EnhancerGenerationProvider;
|
|
166
199
|
observability?: Observability;
|
|
167
200
|
scoringProfile?: BuiltinRetrievalScoringProfileId;
|
|
168
201
|
scoringProfileId?: string;
|
|
169
202
|
scoringConfig?: RetrievalScoringConfigInput;
|
|
170
203
|
enhancerConfig?: RetrievalEnhancerConfigInput;
|
|
204
|
+
enhancerGenerationConfig?: RetrievalEnhancerGenerationConfigInput;
|
|
171
205
|
chunkingConfig?: RetrievalChunkingConfigInput;
|
|
172
206
|
enhancerDecisionTraceEnabled?: boolean;
|
|
173
207
|
}
|
|
@@ -185,6 +219,62 @@ export interface EmbeddingProvider {
|
|
|
185
219
|
}): Promise<number[][]>;
|
|
186
220
|
describe?(): EmbeddingDescriptor;
|
|
187
221
|
}
|
|
222
|
+
export interface RerankerDescriptor {
|
|
223
|
+
provider: string;
|
|
224
|
+
model?: string;
|
|
225
|
+
}
|
|
226
|
+
export interface RerankerResult {
|
|
227
|
+
index: number;
|
|
228
|
+
relevance_score: number;
|
|
229
|
+
}
|
|
230
|
+
export interface RerankerProvider {
|
|
231
|
+
rerank(input: {
|
|
232
|
+
query: string;
|
|
233
|
+
documents: string[];
|
|
234
|
+
top_n: number;
|
|
235
|
+
}): Promise<RerankerResult[]>;
|
|
236
|
+
describe?(): RerankerDescriptor;
|
|
237
|
+
}
|
|
238
|
+
export type EnhancerIntent = "bugfix" | "feature" | "refactor" | "docs" | "tests" | "unknown";
|
|
239
|
+
export type EnhancerOutputLanguage = "en" | "es" | "zh";
|
|
240
|
+
type ResolvedEnhancerPromptStyle = Exclude<EnhancePromptStyle, "auto">;
|
|
241
|
+
export interface EnhancerContextSnippet {
|
|
242
|
+
path: string;
|
|
243
|
+
start_line: number;
|
|
244
|
+
end_line: number;
|
|
245
|
+
reason: string;
|
|
246
|
+
snippet: string;
|
|
247
|
+
score: number;
|
|
248
|
+
}
|
|
249
|
+
export interface EnhancerGenerationRequest {
|
|
250
|
+
trace_id: string;
|
|
251
|
+
tenant_id: string;
|
|
252
|
+
workspace_id?: string;
|
|
253
|
+
request: EnhancePromptInput;
|
|
254
|
+
style_requested: EnhancePromptStyle;
|
|
255
|
+
style_resolved: ResolvedEnhancerPromptStyle;
|
|
256
|
+
intent: EnhancerIntent;
|
|
257
|
+
query_intent: "symbol-heavy" | "impl-focused" | "conceptual";
|
|
258
|
+
language: EnhancerOutputLanguage;
|
|
259
|
+
context_refs: ContextRef[];
|
|
260
|
+
context_snippets: EnhancerContextSnippet[];
|
|
261
|
+
warnings: string[];
|
|
262
|
+
questions: string[];
|
|
263
|
+
tool_mode: EnhancerToolMode;
|
|
264
|
+
abort_signal?: AbortSignal;
|
|
265
|
+
on_progress?: () => void;
|
|
266
|
+
}
|
|
267
|
+
export interface EnhancerGenerationResult {
|
|
268
|
+
enhanced_prompt: string;
|
|
269
|
+
}
|
|
270
|
+
export interface EnhancerProviderDescriptor {
|
|
271
|
+
provider: string;
|
|
272
|
+
model?: string;
|
|
273
|
+
}
|
|
274
|
+
export interface EnhancerGenerationProvider {
|
|
275
|
+
generate(input: EnhancerGenerationRequest): Promise<EnhancerGenerationResult>;
|
|
276
|
+
describe?(): EnhancerProviderDescriptor;
|
|
277
|
+
}
|
|
188
278
|
export interface DeterministicEmbeddingProviderOptions {
|
|
189
279
|
dimensions?: number;
|
|
190
280
|
model?: string;
|
|
@@ -198,8 +288,82 @@ export interface OpenAICompatibleEmbeddingProviderOptions {
|
|
|
198
288
|
timeout_ms?: number;
|
|
199
289
|
batch_size?: number;
|
|
200
290
|
max_retries?: number;
|
|
291
|
+
transient_forbidden_max_retries?: number;
|
|
292
|
+
request_limiter?: ProviderRequestLimiter;
|
|
293
|
+
request_limit_scope_id?: string;
|
|
294
|
+
max_requests_per_minute?: number;
|
|
295
|
+
index_max_wait_ms?: number;
|
|
296
|
+
query_max_wait_ms?: number;
|
|
297
|
+
observability?: Observability;
|
|
298
|
+
}
|
|
299
|
+
export interface OpenAICompatibleRerankerProviderOptions {
|
|
300
|
+
base_url: string;
|
|
301
|
+
api_key: string;
|
|
302
|
+
model?: string;
|
|
303
|
+
timeout_ms?: number;
|
|
304
|
+
request_limiter?: ProviderRequestLimiter;
|
|
305
|
+
request_limit_scope_id?: string;
|
|
306
|
+
max_requests_per_minute?: number;
|
|
307
|
+
rerank_max_wait_ms?: number;
|
|
201
308
|
observability?: Observability;
|
|
202
309
|
}
|
|
310
|
+
export interface ClaudeAgentEnhancerProviderOptions {
|
|
311
|
+
api_key: string;
|
|
312
|
+
model?: string;
|
|
313
|
+
base_url?: string;
|
|
314
|
+
max_tokens?: number;
|
|
315
|
+
path_to_claude_code_executable?: string;
|
|
316
|
+
permission_mode?: ClaudeCodePermissionMode;
|
|
317
|
+
}
|
|
318
|
+
export type ClaudeCodePermissionMode = "default" | "acceptEdits" | "bypassPermissions" | "plan";
|
|
319
|
+
export interface ProviderRateLimitAcquireInput {
|
|
320
|
+
scope: string;
|
|
321
|
+
max_requests_per_minute: number;
|
|
322
|
+
max_wait_ms: number;
|
|
323
|
+
}
|
|
324
|
+
export interface ProviderRateLimitAcquireResult {
|
|
325
|
+
wait_ms: number;
|
|
326
|
+
}
|
|
327
|
+
export interface ProviderRequestLimiter {
|
|
328
|
+
readonly mode?: "local" | "redis" | "custom";
|
|
329
|
+
acquire(input: ProviderRateLimitAcquireInput): Promise<ProviderRateLimitAcquireResult>;
|
|
330
|
+
}
|
|
331
|
+
export interface RedisProviderRequestLimiterClient {
|
|
332
|
+
eval(script: string, numKeys: number, ...args: Array<string | number>): Promise<unknown>;
|
|
333
|
+
}
|
|
334
|
+
export interface RedisProviderRequestLimiterOptions {
|
|
335
|
+
redis: RedisProviderRequestLimiterClient;
|
|
336
|
+
key_prefix?: string;
|
|
337
|
+
window_ms?: number;
|
|
338
|
+
now?: () => number;
|
|
339
|
+
sleeper?: (ms: number) => Promise<void>;
|
|
340
|
+
}
|
|
341
|
+
export declare class ProviderRateLimitExceededError extends Error {
|
|
342
|
+
readonly retry_after_ms: number;
|
|
343
|
+
constructor(message: string, retry_after_ms: number);
|
|
344
|
+
}
|
|
345
|
+
export declare class LocalProviderRequestLimiter implements ProviderRequestLimiter {
|
|
346
|
+
readonly mode: "local";
|
|
347
|
+
private readonly buckets;
|
|
348
|
+
private readonly now;
|
|
349
|
+
private readonly sleeper;
|
|
350
|
+
constructor(options?: {
|
|
351
|
+
now?: () => number;
|
|
352
|
+
sleeper?: (ms: number) => Promise<void>;
|
|
353
|
+
});
|
|
354
|
+
acquire(input: ProviderRateLimitAcquireInput): Promise<ProviderRateLimitAcquireResult>;
|
|
355
|
+
}
|
|
356
|
+
export declare class RedisProviderRequestLimiter implements ProviderRequestLimiter {
|
|
357
|
+
readonly mode: "redis";
|
|
358
|
+
private readonly redis;
|
|
359
|
+
private readonly keyPrefix;
|
|
360
|
+
private readonly windowMs;
|
|
361
|
+
private readonly now;
|
|
362
|
+
private readonly sleeper;
|
|
363
|
+
constructor(options: RedisProviderRequestLimiterOptions);
|
|
364
|
+
acquire(input: ProviderRateLimitAcquireInput): Promise<ProviderRateLimitAcquireResult>;
|
|
365
|
+
private reserveAttempt;
|
|
366
|
+
}
|
|
203
367
|
export declare class DeterministicEmbeddingProvider implements EmbeddingProvider {
|
|
204
368
|
private readonly dimensions;
|
|
205
369
|
private readonly model;
|
|
@@ -220,6 +384,12 @@ export declare class OpenAICompatibleEmbeddingProvider implements EmbeddingProvi
|
|
|
220
384
|
private readonly timeoutMs;
|
|
221
385
|
private readonly batchSize;
|
|
222
386
|
private readonly maxRetries;
|
|
387
|
+
private readonly transientForbiddenMaxRetries;
|
|
388
|
+
private readonly requestLimiter?;
|
|
389
|
+
private readonly requestLimitScope;
|
|
390
|
+
private readonly maxRequestsPerMinute;
|
|
391
|
+
private readonly indexMaxWaitMs;
|
|
392
|
+
private readonly queryMaxWaitMs;
|
|
223
393
|
private readonly observability;
|
|
224
394
|
constructor(options: OpenAICompatibleEmbeddingProviderOptions);
|
|
225
395
|
describe(): EmbeddingDescriptor;
|
|
@@ -228,10 +398,43 @@ export declare class OpenAICompatibleEmbeddingProvider implements EmbeddingProvi
|
|
|
228
398
|
purpose: EmbeddingPurpose;
|
|
229
399
|
}): Promise<number[][]>;
|
|
230
400
|
private embedBatchWithRetries;
|
|
401
|
+
private enforceRequestLimit;
|
|
231
402
|
private embedBatchOnce;
|
|
403
|
+
private maxRetriesForReason;
|
|
232
404
|
private retryDelayMs;
|
|
405
|
+
private isTransientForbidden;
|
|
233
406
|
private toProviderFailure;
|
|
234
407
|
}
|
|
408
|
+
export declare class OpenAICompatibleRerankerProvider implements RerankerProvider {
|
|
409
|
+
private readonly endpoint;
|
|
410
|
+
private readonly apiKey;
|
|
411
|
+
private readonly model;
|
|
412
|
+
private readonly timeoutMs;
|
|
413
|
+
private readonly requestLimiter?;
|
|
414
|
+
private readonly requestLimitScope;
|
|
415
|
+
private readonly maxRequestsPerMinute;
|
|
416
|
+
private readonly rerankMaxWaitMs;
|
|
417
|
+
private readonly observability;
|
|
418
|
+
constructor(options: OpenAICompatibleRerankerProviderOptions);
|
|
419
|
+
describe(): RerankerDescriptor;
|
|
420
|
+
rerank(input: {
|
|
421
|
+
query: string;
|
|
422
|
+
documents: string[];
|
|
423
|
+
top_n: number;
|
|
424
|
+
}): Promise<RerankerResult[]>;
|
|
425
|
+
private enforceRequestLimit;
|
|
426
|
+
}
|
|
427
|
+
export declare class ClaudeAgentEnhancerProvider implements EnhancerGenerationProvider {
|
|
428
|
+
private readonly apiKey;
|
|
429
|
+
private readonly model;
|
|
430
|
+
private readonly maxTokens;
|
|
431
|
+
private readonly baseUrl?;
|
|
432
|
+
private readonly pathToClaudeCodeExecutable?;
|
|
433
|
+
private readonly permissionMode;
|
|
434
|
+
constructor(options: ClaudeAgentEnhancerProviderOptions);
|
|
435
|
+
describe(): EnhancerProviderDescriptor;
|
|
436
|
+
generate(input: EnhancerGenerationRequest): Promise<EnhancerGenerationResult>;
|
|
437
|
+
}
|
|
235
438
|
export declare class InMemoryIndexStore implements IndexRepository {
|
|
236
439
|
private readonly workspaces;
|
|
237
440
|
private readonly workspacesByPath;
|
|
@@ -350,13 +553,21 @@ export declare class RetrievalCore {
|
|
|
350
553
|
private readonly store;
|
|
351
554
|
private readonly cache;
|
|
352
555
|
private readonly cacheTtlSeconds;
|
|
556
|
+
private readonly internalCandidateDepth;
|
|
353
557
|
private readonly embeddingProvider;
|
|
354
558
|
private readonly embeddingDescriptor;
|
|
559
|
+
private readonly rerankerProvider?;
|
|
560
|
+
private readonly rerankerDescriptor?;
|
|
561
|
+
private readonly rerankerTopN;
|
|
562
|
+
private readonly rerankerCacheVariant;
|
|
355
563
|
private readonly observability;
|
|
356
564
|
private readonly scoringConfig;
|
|
357
565
|
private readonly scoringProfileId;
|
|
358
566
|
private readonly scoringConfigChecksum;
|
|
567
|
+
private readonly enhancerProvider?;
|
|
568
|
+
private readonly enhancerProviderDescriptor?;
|
|
359
569
|
private readonly enhancerConfig;
|
|
570
|
+
private readonly enhancerGenerationConfig;
|
|
360
571
|
private readonly chunkingConfig;
|
|
361
572
|
private readonly enhancerDecisionTraceEnabled;
|
|
362
573
|
private cacheHits;
|
|
@@ -372,12 +583,16 @@ export declare class RetrievalCore {
|
|
|
372
583
|
index_id: string;
|
|
373
584
|
status: "indexing" | "ready" | "failed";
|
|
374
585
|
} | undefined>;
|
|
586
|
+
private applyLearnedReranker;
|
|
375
587
|
searchContext(input: {
|
|
376
588
|
trace_id: string;
|
|
377
589
|
tenant_id: string;
|
|
378
590
|
workspace_id: string;
|
|
379
591
|
request: SearchContextInput;
|
|
380
592
|
}): Promise<SearchContextOutput>;
|
|
593
|
+
private enhancerProviderLabels;
|
|
594
|
+
private buildEnhancerContextSnippets;
|
|
595
|
+
private generateEnhancedPrompt;
|
|
381
596
|
enhancePrompt(input: {
|
|
382
597
|
trace_id: string;
|
|
383
598
|
tenant_id: string;
|
|
@@ -388,3 +603,4 @@ export declare class RetrievalCore {
|
|
|
388
603
|
export declare function createDefaultRetrievalCore(): RetrievalCore;
|
|
389
604
|
export declare function seedWorkspaceIndex(core: RetrievalCore, artifact: IndexUploadArtifact): Promise<IndexingReport>;
|
|
390
605
|
export * from "./remote-sync.js";
|
|
606
|
+
export * from "./indexing-ignore.js";
|