@zokizuan/satori-mcp 4.11.7 → 4.11.13

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 (73) hide show
  1. package/README.md +6 -6
  2. package/dist/cli/install.js +1 -0
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.js +1 -1
  5. package/dist/core/backend-diagnostics.js +5 -2
  6. package/dist/core/handlers.d.ts +45 -239
  7. package/dist/core/handlers.js +894 -7710
  8. package/dist/core/manage-indexing-handlers.d.ts +94 -0
  9. package/dist/core/manage-indexing-handlers.js +529 -0
  10. package/dist/core/manage-maintenance-handlers.d.ts +63 -0
  11. package/dist/core/manage-maintenance-handlers.js +471 -0
  12. package/dist/core/manage-types.d.ts +2 -2
  13. package/dist/core/navigation-handlers.d.ts +138 -0
  14. package/dist/core/navigation-handlers.js +675 -0
  15. package/dist/core/python-call-fallback.d.ts +42 -0
  16. package/dist/core/python-call-fallback.js +383 -0
  17. package/dist/core/registry-file-outline.d.ts +26 -0
  18. package/dist/core/registry-file-outline.js +162 -0
  19. package/dist/core/relationship-backed-call-graph.d.ts +56 -0
  20. package/dist/core/relationship-backed-call-graph.js +322 -0
  21. package/dist/core/search-debug-helpers.d.ts +29 -0
  22. package/dist/core/search-debug-helpers.js +150 -0
  23. package/dist/core/search-exact-fast-path.d.ts +100 -0
  24. package/dist/core/search-exact-fast-path.js +163 -0
  25. package/dist/core/search-exact-registry-hit.d.ts +53 -0
  26. package/dist/core/search-exact-registry-hit.js +98 -0
  27. package/dist/core/search-execution.d.ts +144 -0
  28. package/dist/core/search-execution.js +404 -0
  29. package/dist/core/search-frontdoor.d.ts +65 -0
  30. package/dist/core/search-frontdoor.js +153 -0
  31. package/dist/core/search-group-ordering.d.ts +6 -0
  32. package/dist/core/search-group-ordering.js +96 -0
  33. package/dist/core/search-group-results.d.ts +141 -0
  34. package/dist/core/search-group-results.js +383 -0
  35. package/dist/core/search-grouping.d.ts +18 -0
  36. package/dist/core/search-grouping.js +69 -0
  37. package/dist/core/search-lexical-scoring.d.ts +39 -0
  38. package/dist/core/search-lexical-scoring.js +241 -0
  39. package/dist/core/search-navigation.d.ts +44 -0
  40. package/dist/core/search-navigation.js +196 -0
  41. package/dist/core/search-owner-resolution.d.ts +27 -0
  42. package/dist/core/search-owner-resolution.js +252 -0
  43. package/dist/core/search-query-planning.d.ts +13 -0
  44. package/dist/core/search-query-planning.js +320 -0
  45. package/dist/core/search-query-support.d.ts +123 -0
  46. package/dist/core/search-query-support.js +883 -0
  47. package/dist/core/search-ranking-policy.d.ts +64 -0
  48. package/dist/core/search-ranking-policy.js +342 -0
  49. package/dist/core/search-response-envelopes.d.ts +29 -0
  50. package/dist/core/search-response-envelopes.js +65 -0
  51. package/dist/core/search-response-helpers.d.ts +39 -0
  52. package/dist/core/search-response-helpers.js +446 -0
  53. package/dist/core/search-result-finalization.d.ts +96 -0
  54. package/dist/core/search-result-finalization.js +207 -0
  55. package/dist/core/search-types.d.ts +1 -1
  56. package/dist/core/snapshot.d.ts +11 -2
  57. package/dist/core/snapshot.js +71 -12
  58. package/dist/core/sync.d.ts +1 -0
  59. package/dist/core/sync.js +13 -4
  60. package/dist/core/tool-response-builders.d.ts +128 -0
  61. package/dist/core/tool-response-builders.js +399 -0
  62. package/dist/core/tracked-root-readiness.d.ts +132 -0
  63. package/dist/core/tracked-root-readiness.js +278 -0
  64. package/dist/core/vector-backend-maintenance.d.ts +37 -0
  65. package/dist/core/vector-backend-maintenance.js +246 -0
  66. package/dist/core/working-tree-state.d.ts +43 -0
  67. package/dist/core/working-tree-state.js +136 -0
  68. package/dist/server/bootstrap-stdio.js +1 -1
  69. package/dist/server/start-server.js +4 -1
  70. package/dist/tools/list_codebases.js +29 -1
  71. package/dist/tools/manage_index.js +6 -3
  72. package/dist/tools/read_file.js +38 -8
  73. package/package.json +4 -4
package/README.md CHANGED
@@ -7,8 +7,8 @@ Read-only MCP server for Satori. It gives coding agents six deterministic tools
7
7
  Use the CLI installer for normal setup:
8
8
 
9
9
  ```bash
10
- npx -y @zokizuan/satori-cli@0.4.5 install --client all
11
- npx -y @zokizuan/satori-cli@0.4.5 doctor
10
+ npx -y @zokizuan/satori-cli@latest install --client all
11
+ npx -y @zokizuan/satori-cli@latest doctor
12
12
  ```
13
13
 
14
14
  The CLI installer supports `codex`, `claude`, `opencode`, and `all`. It creates the runtime cache, writes the stable launcher, and writes client config for you. Avoid using `npx` as the resident MCP server command; first-run package resolution can exceed normal MCP startup timeouts.
@@ -16,7 +16,7 @@ The CLI installer supports `codex`, `claude`, `opencode`, and `all`. It creates
16
16
  Use `--profile default|minimal|all-text` to write repo-local `satori.toml` during install:
17
17
 
18
18
  ```bash
19
- npx -y @zokizuan/satori-cli@0.4.5 install --client all --profile minimal
19
+ npx -y @zokizuan/satori-cli@latest install --client all --profile minimal
20
20
  ```
21
21
 
22
22
  Profiles control indexing breadth, not search scope. `default` is safe-broad, `minimal` indexes source plus docs/text, and `all-text` indexes additional UTF-8 text files under the size limit. `search_codebase` still defaults to `scope=runtime`.
@@ -45,7 +45,7 @@ For Codex, add `--install-guidance-hook` only when you want an installer-managed
45
45
  Advanced direct execution is available through the package bin:
46
46
 
47
47
  ```bash
48
- npx -y @zokizuan/satori-mcp@4.11.7 --help
48
+ npx -y @zokizuan/satori-mcp@4.11.13 --help
49
49
  ```
50
50
 
51
51
  Use direct package execution for inspection, smoke tests, or unsupported harnesses. For supported clients, prefer `satori-cli install` so startup does not depend on package-manager resolution.
@@ -131,11 +131,11 @@ The full generated tool reference below is kept in the npm README for MCP client
131
131
 
132
132
  ### `manage_index`
133
133
 
134
- Manage index lifecycle operations (create/reindex/sync/status/clear) for a codebase path. Ignore-rule edits in repo-root .satoriignore/.gitignore reconcile automatically in the normal sync path. Use action="sync" for immediate convergence and action="reindex" for full rebuild recovery (preflight may block unnecessary ignore-only reindex churn unless allowUnnecessaryReindex=true). create/reindex return the kickoff response immediately and do not poll to terminal state; use action="status" to observe progress.
134
+ Manage index lifecycle operations (create/reindex/sync/status/clear/repair) for a codebase path. repair rebuilds local readiness only when existing vector payload and trusted runtime fingerprint proof match; otherwise it refuses and asks for create/reindex. Ignore-rule edits in repo-root .satoriignore/.gitignore reconcile automatically in the normal sync path. Use action="sync" for immediate convergence and action="reindex" for full rebuild recovery (preflight may block unnecessary ignore-only reindex churn unless allowUnnecessaryReindex=true). create/reindex return the kickoff response immediately and do not poll to terminal state; use action="status" to observe progress.
135
135
 
136
136
  | Parameter | Type | Required | Default | Description |
137
137
  |---|---|---|---|---|
138
- | `action` | enum("create", "reindex", "sync", "status", "clear") | yes | | Required operation to run. |
138
+ | `action` | enum("create", "reindex", "sync", "status", "clear", "repair") | yes | | Required operation to run. |
139
139
  | `path` | string | yes | | ABSOLUTE path to the target codebase. |
140
140
  | `force` | boolean | no | | Only for action='create'. Force rebuild from scratch. |
141
141
  | `allowUnnecessaryReindex` | boolean | no | | Only for action='reindex'. Override preflight block when reindex is detected as unnecessary ignore-only churn. |
@@ -395,6 +395,7 @@ function installManagedRuntimeCommand(homeDir, packageSpecifier, execImpl) {
395
395
  "--ignore-scripts",
396
396
  "--no-audit",
397
397
  "--no-fund",
398
+ "--",
398
399
  packageSpecifier,
399
400
  ], {
400
401
  encoding: "utf8",
package/dist/config.d.ts CHANGED
@@ -54,6 +54,7 @@ export interface CodebaseSnapshotV1 {
54
54
  }
55
55
  interface CodebaseInfoBase {
56
56
  lastUpdated: string;
57
+ collectionName?: string;
57
58
  indexFingerprint?: IndexFingerprint;
58
59
  fingerprintSource?: FingerprintSource;
59
60
  reindexReason?: 'legacy_unverified_fingerprint' | 'fingerprint_mismatch' | 'missing_fingerprint' | 'navigation_recovery_failed';
package/dist/config.js CHANGED
@@ -209,7 +209,7 @@ Environment Variables:
209
209
 
210
210
  Examples:
211
211
  # Install resident MCP config without package-manager startup on every client launch
212
- npx -y @zokizuan/satori-cli@0.4.5 install --client all
212
+ npx -y @zokizuan/satori-cli@latest install --client all
213
213
 
214
214
  # Start MCP server with OpenAI and explicit Milvus address
215
215
  OPENAI_API_KEY=sk-xxx MILVUS_ADDRESS=localhost:19530 satori
@@ -36,7 +36,7 @@ function createVectorBackendDiagnostic(code) {
36
36
  case "ZILLIZ_CLUSTER_STOPPED":
37
37
  return {
38
38
  code,
39
- message: "Vector backend is unavailable because the Zilliz Cloud cluster is stopped.",
39
+ message: "Zilliz Cloud cluster is stopped. Resume it in Zilliz Cloud, then retry the tool call.",
40
40
  hints: {
41
41
  backend: {
42
42
  code,
@@ -101,13 +101,16 @@ function createVectorBackendDiagnostic(code) {
101
101
  case "VECTOR_BACKEND_CONNECTION_CLOSED":
102
102
  return {
103
103
  code,
104
- message: "Vector backend connection closed before the tool call completed.",
104
+ message: "Vector backend connection closed before the tool call completed. Check backend health, provider environment, network connectivity, or an MCP process restart in the previous log lines.",
105
105
  hints: {
106
106
  backend: {
107
107
  code,
108
108
  provider: "unknown",
109
109
  retryable: true,
110
110
  nextSteps: [
111
+ "If the previous response mentions ZILLIZ_CLUSTER_STOPPED, resume the Zilliz cluster at https://cloud.zilliz.com.",
112
+ "If the previous response mentions MISSING_PROVIDER_CONFIG, set the missing env values in the MCP client environment and restart the client.",
113
+ "For non-Zilliz Milvus-compatible backends, confirm the service is running and reachable at MILVUS_ADDRESS.",
111
114
  "Retry the MCP tool call after confirming the backend is healthy.",
112
115
  "Restart the MCP client/session if the MCP process exited after the transport failure.",
113
116
  ],
@@ -4,9 +4,9 @@ import { SnapshotManager } from "./snapshot.js";
4
4
  import { SyncManager } from "./sync.js";
5
5
  import { IndexFingerprint } from "../config.js";
6
6
  import { FileOutlineInput } from "./search-types.js";
7
- import { ManageReindexPreflightOutcome } from "./manage-types.js";
8
- import { WarningCode } from "./warnings.js";
9
7
  import { CallGraphSidecarManager } from "./call-graph.js";
8
+ import { type ReindexPreflightResult } from "./working-tree-state.js";
9
+ import { type SearchDiagnostics } from "./search-execution.js";
10
10
  import type { RuntimeOwnerMutationGate } from "./runtime-owner.js";
11
11
  type IndexCodebaseArgs = {
12
12
  path: string;
@@ -24,12 +24,6 @@ type ReindexCodebaseArgs = {
24
24
  allowUnnecessaryReindex?: boolean;
25
25
  };
26
26
  type ToolArgs = Record<string, unknown>;
27
- type ReindexPreflightResult = {
28
- outcome: ManageReindexPreflightOutcome;
29
- warnings: WarningCode[];
30
- confidence: "high" | "low";
31
- probeFailed?: boolean;
32
- };
33
27
  export declare class ToolHandlers {
34
28
  private readonly runtimeOwnerGate;
35
29
  private context;
@@ -46,7 +40,17 @@ export declare class ToolHandlers {
46
40
  private readonly changedFilesCache;
47
41
  private readonly rootGitignoreMatcherCache;
48
42
  private readonly gitignoreForceReloadEveryN;
43
+ private readonly searchQuerySupport;
44
+ private readonly trackedRootReadiness;
45
+ private readonly navigationHandlers;
46
+ private readonly manageMaintenanceHandlers;
47
+ private readonly manageIndexingHandlers;
48
+ private readonly vectorBackendMaintenance;
49
+ private readonly relationshipBackedCallGraph;
50
+ private readonly toolResponseBuilders;
49
51
  constructor(context: Context, snapshotManager: SnapshotManager, syncManager: SyncManager, runtimeFingerprint: IndexFingerprint, capabilities: CapabilityResolver, now?: () => number, callGraphManager?: CallGraphSidecarManager, reranker?: VoyageAIReranker | null, gitignoreForceReloadEveryN?: number, navigationStore?: NavigationStore, runtimeOwnerGate?: RuntimeOwnerMutationGate | null);
52
+ private setIndexingStats;
53
+ private clearIndexingStats;
50
54
  private createSearchPhaseTimings;
51
55
  private searchPhaseNowMs;
52
56
  private addSearchPhaseTiming;
@@ -54,6 +58,8 @@ export declare class ToolHandlers {
54
58
  private buildReindexInstruction;
55
59
  private buildReindexHint;
56
60
  private buildCreateHint;
61
+ private buildSyncHint;
62
+ private buildRepairHint;
57
63
  private buildManageIndexRecommendedAction;
58
64
  private buildStatusHint;
59
65
  private buildManageRequiresReindexHints;
@@ -70,6 +76,7 @@ export declare class ToolHandlers {
70
76
  private getSnapshotIndexingProgress;
71
77
  private ensureSnapshotFingerprintCompatibility;
72
78
  private saveSnapshotIfSupported;
79
+ private canonicalizeCodebasePath;
73
80
  private fallbackCollectionName;
74
81
  private resolveCollectionName;
75
82
  private resolveStagedCollectionName;
@@ -78,16 +85,11 @@ export declare class ToolHandlers {
78
85
  private getContextActiveIgnorePatterns;
79
86
  private getContextIndexedExtensions;
80
87
  private getContextTrackedRelativePaths;
81
- private writeIndexCompletionMarker;
82
88
  private clearIndexCompletionMarker;
83
89
  private pruneIndexedCollectionFamily;
90
+ private pruneUnprovenStagedCollectionFamily;
84
91
  private markCodebaseCleared;
85
- private buildManageResponseEnvelope;
86
- private buildCompactManageMessage;
87
92
  private stringifyToolJson;
88
- private manageResponseFromEnvelope;
89
- private manageResponse;
90
- private manageVectorBackendResponse;
91
93
  private buildRuntimeOwnerConflictResponseIfBlocked;
92
94
  private buildRuntimeOwnerConflictResponse;
93
95
  private buildIndexingMetadata;
@@ -96,27 +98,19 @@ export declare class ToolHandlers {
96
98
  private buildManageActionBlockedMessage;
97
99
  private getManageRetryAfterMs;
98
100
  private buildStaleLocalHint;
101
+ private getSnapshotCollectionName;
102
+ private canSyncStaleLocal;
99
103
  private buildStaleLocalMessage;
100
104
  private withProofDebugHint;
101
105
  private validateCompletionProof;
102
106
  private extractIndexedRecoveryFromCompletionProof;
103
107
  private recoverIndexedSnapshotFromCompletionProof;
108
+ private getActiveIndexedCollectionNameForSnapshotRecovery;
104
109
  private refreshSnapshotStateFromDisk;
105
110
  private isPathWithinCodebase;
106
111
  private getTrackedRootEntryForPath;
107
- private resolveTrackedRoot;
108
112
  private probeLocalSearchCollectionState;
109
113
  private markCodebaseSearchStateMissing;
110
- private buildMissingLocalCollectionMessage;
111
- private buildMissingLocalCollectionSearchPayload;
112
- private buildIndexingFailureMetadata;
113
- private buildIndexFailedMessage;
114
- private buildIndexFailedSearchPayload;
115
- private buildIndexFailedFileOutlinePayload;
116
- private buildIndexFailedCallGraphPayload;
117
- private buildMissingLocalCollectionFileOutlinePayload;
118
- private buildMissingLocalCollectionCallGraphPayload;
119
- private prepareTrackedRootForRead;
120
114
  private summarizeFingerprint;
121
115
  private fingerprintsEqual;
122
116
  private isRuntimeFingerprintMismatch;
@@ -124,7 +118,6 @@ export declare class ToolHandlers {
124
118
  private buildCompatibilityDiagnostics;
125
119
  private buildCompatibilityStatusLines;
126
120
  private buildRequiresReindexPayload;
127
- private buildRequiresReindexSearchResponse;
128
121
  private buildRequiresReindexCallGraphPayload;
129
122
  private buildNotReadySearchPayload;
130
123
  private buildFreshnessBlockedSearchPayload;
@@ -138,107 +131,27 @@ export declare class ToolHandlers {
138
131
  private buildInvalidCallGraphRequestPayload;
139
132
  private getMatchingBlockedRoot;
140
133
  private enforceFingerprintGate;
141
- private buildSearchExcludeMatcher;
142
- private applySearchExcludeMatcher;
143
- private normalizeBreadcrumbs;
144
- private getBreadcrumbMergeKey;
145
- private formatScopeLine;
146
134
  private normalizeSearchPath;
147
135
  private hasPathSegment;
148
- private hasLeadingPathSegment;
149
136
  private isTestPath;
150
137
  private isDocPath;
151
138
  private isGeneratedPath;
152
139
  private isFixturePath;
153
- private isArtifactPath;
154
- private isLandingPath;
155
- private isExamplePath;
156
- private isAdapterPath;
157
- private isEntrypointPath;
158
- private isScriptRuntimePath;
159
140
  private classifyPathCategory;
160
- private classifyNoiseCategory;
161
- private roundRatio;
162
- private normalizeRelativePathForIgnoreCheck;
163
- private isExactSearchPathFilter;
164
- private activeIgnorePatternsExcludePath;
165
- private buildLivePathScopedSearchResults;
166
- private shouldRunTrackedLexicalSearch;
167
- private buildTrackedLexicalSearchResults;
168
- private findBestLivePathLexicalLineIndex;
169
- private trimTrailingSeparators;
170
- private canonicalizeCodebasePath;
171
- private loadRootGitignoreMatcher;
172
- private patternMatchesAnyPath;
173
- private filterNoiseHintPatternsByRootGitignore;
174
- private buildNoiseMitigationHint;
175
- private tokenizeQueryPrefix;
176
- private unquoteOperatorValue;
177
- private deriveOperatorOnlySemanticQuery;
178
- private parseSearchOperators;
179
- private tokenizeLexicalTerms;
180
- private isIdentifierLikeToken;
181
- private extractQuotedLiteralPhrases;
182
- private buildSearchQueryPlan;
183
- private escapeLexicalRegex;
184
- private hasTokenBoundaryMatch;
185
- private getReferenceUsageKind;
186
- private hasDeclarationMatch;
187
- private getLexicalTermFactor;
188
- private isHighSignalStructuralAnchorTerm;
189
- private extractNormalizedCandidateTokens;
190
- private splitStructuralAnchorSegments;
191
- private isSiblingStructuralAnchorNearMiss;
192
- private scoreCandidateLexicalEvidence;
193
- private pathMatchesAnyPattern;
194
- private buildSearchPathMatcher;
195
- private tokenMatchesAnyField;
196
- private resolveRerankDecision;
197
- private buildExactRegistrySymbolFilter;
198
- private buildUnavailableExactRegistryDebug;
199
- private buildRerankDocument;
200
- private buildOperatorSummary;
201
141
  private parseGitStatusChangedPaths;
202
142
  private getChangedFilesForCodebase;
203
143
  private getWorkingTreeChangedPathsForPreflight;
204
144
  private evaluateReindexPreflight;
205
- private applyGroupDiversity;
206
- private shouldIncludeCategoryInScope;
207
- private isImplementationPathCategory;
208
- private shouldApplyChangedFilesBoost;
209
- private classifyAgentFitSymbolRole;
210
- private isWriterOwnerResult;
211
- private isStrongWriterOwnerResult;
212
- private isWriterActionTerm;
213
- private countCandidateDomainTermMatches;
214
- private resolveAgentFitMultiplier;
215
145
  private parseIndexedAtMs;
216
- private getStalenessBucket;
217
- private compareNullableNumbersAsc;
218
- private compareNullableStringsAsc;
219
- private compareSearchCandidates;
220
- private sortSearchCandidates;
221
- private compareGroupedSearchResults;
146
+ private shouldIncludeCategoryInScope;
222
147
  private sortGroupedSearchResults;
223
- private buildSearchCandidateProvenance;
224
- private buildExactRegistryGroupResult;
225
- private isDeclarationSearchGroup;
226
- private normalizeDeclarationGroupKey;
227
- private collapseDuplicateDeclarationGroups;
228
- private buildFallbackGroupId;
229
148
  private isCallGraphLanguageSupported;
230
149
  private isFileOutlineLanguageSupported;
231
150
  private isPartialIndexNavigationUnavailable;
232
151
  private loadRegistryValidatedCallGraphSidecar;
233
- private buildRelationshipCallGraphHint;
234
152
  private sanitizeIndexedRelativeFilePath;
235
- private buildSearchOwnerChunk;
236
- private resolveBestOverlappingSearchSymbol;
237
153
  private resolveSearchOwnerFromRegistry;
238
- private buildSearchOpenSymbolAction;
239
- private shouldAllowPreviewReadFallback;
240
- private buildNavigationFallback;
241
- private buildSearchNextActions;
154
+ private getSearchNavigationHelpers;
242
155
  private buildChangedCodeDebug;
243
156
  private buildGeneratedArtifactsVerificationHint;
244
157
  private normalizeRelativeFilePath;
@@ -248,77 +161,15 @@ export declare class ToolHandlers {
248
161
  private getRegistryFileFreshness;
249
162
  private buildStaleSymbolRefCallGraphPayload;
250
163
  private getOutlineStatusForLanguage;
251
- private sortFileOutlineSymbols;
252
- private sortRegistrySymbols;
253
- private buildVisibleRegistrySymbolState;
254
- private findExactRegistrySymbols;
255
164
  private buildRegistrySymbolCallGraphHint;
256
- private buildRegistryFileOutlinePayload;
257
- private buildSearchGroupCallGraphHint;
258
- private buildSearchPassWarning;
259
- private buildSearchWarningDetails;
260
- private buildSearchWarningDetail;
261
- private buildSearchSpanWarningCodes;
262
165
  private buildOutlineSpanWarningCodes;
263
- private buildSearchDebugSummary;
264
- private buildSearchResultCapabilities;
265
- private buildSearchGroupRecommendedAction;
266
- private buildTopRecommendedSearchAction;
267
- private buildTopRecommendedRawSearchAction;
268
- private buildSearchGroupFallbacks;
269
- private buildExactSymbolFallbackQuery;
270
- private extractIdentifierFromSymbolLabel;
271
- private buildDisplaySymbolLabel;
272
- private normalizeSearchSymbolLabel;
273
- private buildSearchGroupPreview;
274
- private normalizeSearchPreviewLine;
275
- private isSearchPreviewNoiseLine;
276
- private isSearchPreviewDeclarationLine;
277
- private isSearchPreviewOpenSignatureLine;
278
- private isSearchPreviewSignatureContinuationLine;
279
- private isSearchPreviewSignatureContinuationEndLine;
280
- private isSearchPreviewNeighborDeclarationLine;
281
- private isSearchPreviewPureDuplicateDeclarationLine;
282
166
  private isSearchPassFaultInjectionEnabled;
283
167
  private getForcedFailedSearchPassId;
284
168
  private shouldForceSearchPassFailure;
285
- private sortRelationshipBackedCallGraphNodes;
286
- private compareRelationshipBackedCallGraphEdges;
287
- private sortRelationshipBackedCallGraphEdges;
288
- private sortRelationshipBackedCallGraphNotes;
289
- private mapRelationshipConfidenceToCallGraphConfidence;
290
- private createCallGraphNodeFromRegistrySymbol;
291
- private countPythonIndent;
292
- private escapeRegExp;
293
- private isPythonHeaderTerminated;
294
- private findPythonDefinitionIndexByName;
295
- private findPythonDefinitionIndexNearSpan;
296
- private findPythonDecoratedDefinitionStart;
297
- private findPythonSourceBackedBlockEnd;
298
- private repairSourceBackedPythonSpan;
299
- private repairSourceBackedPythonSpans;
300
- private extractDirectCallNamesFromLine;
301
- private resolveUnambiguousDirectCallTarget;
302
- private buildDirectCallTargetIndex;
303
- private readSafeCodebaseFileLines;
304
- private buildSourceBackedPythonCalleeFallback;
305
- private buildSourceBackedPythonCallerFallback;
306
- private buildSuppressedLowConfidenceCallGraphNotes;
307
169
  private buildRelationshipBackedCallGraph;
308
- private getContextIgnorePatterns;
309
170
  private rebuildCallGraphForIndex;
310
171
  private rebuildCallGraphForSyncDelta;
311
- private getVectorStore;
312
- private isSatoriCodeCollection;
313
- private getVectorBackendInfo;
314
172
  private isZillizBackend;
315
- private listCollectionDetailsWithFallback;
316
- private parseCodebaseFromMetadata;
317
- private resolveCollectionCodebasePath;
318
- private formatCollectionTimestamp;
319
- private parseTimestampMs;
320
- private resolveCollectionSortTimestampMs;
321
- private buildZillizCollectionLimitGuidance;
322
173
  private buildCollectionLimitMessage;
323
174
  private dropZillizCollectionForCreate;
324
175
  handleIndexCodebase(args: IndexCodebaseArgs): Promise<{
@@ -326,13 +177,21 @@ export declare class ToolHandlers {
326
177
  type: "text";
327
178
  text: string;
328
179
  }>;
180
+ isError?: boolean;
329
181
  }>;
330
- private startBackgroundIndexing;
331
182
  handleReindexCodebase(args: ReindexCodebaseArgs): Promise<{
332
183
  content: Array<{
333
184
  type: "text";
334
185
  text: string;
335
186
  }>;
187
+ isError?: boolean;
188
+ }>;
189
+ handleRepairIndex(args: ToolArgs): Promise<{
190
+ content: Array<{
191
+ type: "text";
192
+ text: string;
193
+ }>;
194
+ isError?: boolean;
336
195
  }>;
337
196
  handleSearchCode(args: ToolArgs): Promise<{
338
197
  content: {
@@ -342,28 +201,14 @@ export declare class ToolHandlers {
342
201
  isError: boolean;
343
202
  meta?: undefined;
344
203
  } | {
204
+ meta: {
205
+ searchDiagnostics: SearchDiagnostics;
206
+ };
207
+ isError?: boolean | undefined;
345
208
  content: {
346
209
  type: string;
347
210
  text: string;
348
211
  }[];
349
- meta: {
350
- searchDiagnostics: {
351
- queryLength: number;
352
- limitRequested: number;
353
- resultsBeforeFilter: number;
354
- resultsAfterFilter: number;
355
- excludedByIgnore: number;
356
- excludedBySubdirectory: number;
357
- filterPass: "initial" | "expanded";
358
- freshnessMode: string | undefined;
359
- searchPassCount: number;
360
- searchPassSuccessCount: number;
361
- searchPassFailureCount: number;
362
- rerankerAttempted: boolean;
363
- rerankerUsed: boolean;
364
- };
365
- };
366
- isError?: undefined;
367
212
  } | {
368
213
  content: {
369
214
  type: string;
@@ -389,29 +234,6 @@ export declare class ToolHandlers {
389
234
  };
390
235
  };
391
236
  isError?: undefined;
392
- } | {
393
- content: {
394
- type: string;
395
- text: string;
396
- }[];
397
- isError: boolean;
398
- meta: {
399
- searchDiagnostics: {
400
- queryLength: number;
401
- limitRequested: number;
402
- resultsBeforeFilter: number;
403
- resultsAfterFilter: number;
404
- excludedByIgnore: number;
405
- excludedBySubdirectory: number;
406
- filterPass: "initial" | "expanded";
407
- freshnessMode: string | undefined;
408
- searchPassCount: number;
409
- searchPassSuccessCount: number;
410
- searchPassFailureCount: number;
411
- rerankerAttempted: boolean;
412
- rerankerUsed: boolean;
413
- };
414
- };
415
237
  } | {
416
238
  content: {
417
239
  type: string;
@@ -424,51 +246,34 @@ export declare class ToolHandlers {
424
246
  };
425
247
  };
426
248
  isError?: undefined;
427
- } | {
428
- content: {
429
- type: string;
430
- text: string;
431
- }[];
432
- isError?: undefined;
433
- meta?: undefined;
434
249
  }>;
435
250
  handleFileOutline(args: FileOutlineInput): Promise<{
436
- content: {
437
- type: string;
438
- text: string;
439
- }[];
440
- isError: boolean;
441
- } | {
442
- content: {
443
- type: string;
251
+ content: Array<{
252
+ type: "text";
444
253
  text: string;
445
- }[];
446
- isError?: undefined;
254
+ }>;
255
+ isError?: boolean;
447
256
  }>;
448
257
  handleCallGraph(args: ToolArgs): Promise<{
449
- content: {
450
- type: string;
451
- text: string;
452
- }[];
453
- isError: boolean;
454
- } | {
455
- content: {
456
- type: string;
258
+ content: Array<{
259
+ type: "text";
457
260
  text: string;
458
- }[];
459
- isError?: undefined;
261
+ }>;
262
+ isError?: boolean;
460
263
  }>;
461
264
  handleClearIndex(args: ToolArgs): Promise<{
462
265
  content: Array<{
463
266
  type: "text";
464
267
  text: string;
465
268
  }>;
269
+ isError?: boolean;
466
270
  }>;
467
271
  handleGetIndexingStatus(args: ToolArgs): Promise<{
468
272
  content: Array<{
469
273
  type: "text";
470
274
  text: string;
471
275
  }>;
276
+ isError?: boolean;
472
277
  }>;
473
278
  /**
474
279
  * Handle sync request - manually trigger incremental sync for a codebase
@@ -478,6 +283,7 @@ export declare class ToolHandlers {
478
283
  type: "text";
479
284
  text: string;
480
285
  }>;
286
+ isError?: boolean;
481
287
  }>;
482
288
  handleReadCode(args: ToolArgs): Promise<{
483
289
  content: {