@zokizuan/satori-mcp 4.11.7 → 4.11.8

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 (67) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/install.js +1 -0
  3. package/dist/config.js +1 -1
  4. package/dist/core/handlers.d.ts +32 -238
  5. package/dist/core/handlers.js +801 -7703
  6. package/dist/core/manage-indexing-handlers.d.ts +90 -0
  7. package/dist/core/manage-indexing-handlers.js +425 -0
  8. package/dist/core/manage-maintenance-handlers.d.ts +61 -0
  9. package/dist/core/manage-maintenance-handlers.js +467 -0
  10. package/dist/core/navigation-handlers.d.ts +138 -0
  11. package/dist/core/navigation-handlers.js +675 -0
  12. package/dist/core/python-call-fallback.d.ts +42 -0
  13. package/dist/core/python-call-fallback.js +383 -0
  14. package/dist/core/registry-file-outline.d.ts +26 -0
  15. package/dist/core/registry-file-outline.js +162 -0
  16. package/dist/core/relationship-backed-call-graph.d.ts +56 -0
  17. package/dist/core/relationship-backed-call-graph.js +322 -0
  18. package/dist/core/search-debug-helpers.d.ts +29 -0
  19. package/dist/core/search-debug-helpers.js +150 -0
  20. package/dist/core/search-exact-fast-path.d.ts +100 -0
  21. package/dist/core/search-exact-fast-path.js +163 -0
  22. package/dist/core/search-exact-registry-hit.d.ts +53 -0
  23. package/dist/core/search-exact-registry-hit.js +98 -0
  24. package/dist/core/search-execution.d.ts +144 -0
  25. package/dist/core/search-execution.js +404 -0
  26. package/dist/core/search-frontdoor.d.ts +50 -0
  27. package/dist/core/search-frontdoor.js +140 -0
  28. package/dist/core/search-group-ordering.d.ts +6 -0
  29. package/dist/core/search-group-ordering.js +96 -0
  30. package/dist/core/search-group-results.d.ts +141 -0
  31. package/dist/core/search-group-results.js +383 -0
  32. package/dist/core/search-grouping.d.ts +18 -0
  33. package/dist/core/search-grouping.js +69 -0
  34. package/dist/core/search-lexical-scoring.d.ts +39 -0
  35. package/dist/core/search-lexical-scoring.js +241 -0
  36. package/dist/core/search-navigation.d.ts +44 -0
  37. package/dist/core/search-navigation.js +196 -0
  38. package/dist/core/search-owner-resolution.d.ts +27 -0
  39. package/dist/core/search-owner-resolution.js +252 -0
  40. package/dist/core/search-query-planning.d.ts +13 -0
  41. package/dist/core/search-query-planning.js +320 -0
  42. package/dist/core/search-query-support.d.ts +123 -0
  43. package/dist/core/search-query-support.js +883 -0
  44. package/dist/core/search-ranking-policy.d.ts +64 -0
  45. package/dist/core/search-ranking-policy.js +342 -0
  46. package/dist/core/search-response-envelopes.d.ts +29 -0
  47. package/dist/core/search-response-envelopes.js +65 -0
  48. package/dist/core/search-response-helpers.d.ts +39 -0
  49. package/dist/core/search-response-helpers.js +446 -0
  50. package/dist/core/search-result-finalization.d.ts +96 -0
  51. package/dist/core/search-result-finalization.js +207 -0
  52. package/dist/core/search-types.d.ts +1 -1
  53. package/dist/core/snapshot.d.ts +8 -0
  54. package/dist/core/snapshot.js +48 -10
  55. package/dist/core/sync.js +6 -2
  56. package/dist/core/tool-response-builders.d.ts +121 -0
  57. package/dist/core/tool-response-builders.js +395 -0
  58. package/dist/core/tracked-root-readiness.d.ts +132 -0
  59. package/dist/core/tracked-root-readiness.js +278 -0
  60. package/dist/core/vector-backend-maintenance.d.ts +37 -0
  61. package/dist/core/vector-backend-maintenance.js +247 -0
  62. package/dist/core/working-tree-state.d.ts +43 -0
  63. package/dist/core/working-tree-state.js +136 -0
  64. package/dist/server/bootstrap-stdio.js +1 -1
  65. package/dist/tools/list_codebases.js +29 -1
  66. package/dist/tools/read_file.js +38 -8
  67. 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@0.4.6 install --client all
11
+ npx -y @zokizuan/satori-cli@0.4.6 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@0.4.6 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.8 --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.
@@ -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.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@0.4.6 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
@@ -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;
@@ -70,6 +74,7 @@ export declare class ToolHandlers {
70
74
  private getSnapshotIndexingProgress;
71
75
  private ensureSnapshotFingerprintCompatibility;
72
76
  private saveSnapshotIfSupported;
77
+ private canonicalizeCodebasePath;
73
78
  private fallbackCollectionName;
74
79
  private resolveCollectionName;
75
80
  private resolveStagedCollectionName;
@@ -82,12 +87,7 @@ export declare class ToolHandlers {
82
87
  private clearIndexCompletionMarker;
83
88
  private pruneIndexedCollectionFamily;
84
89
  private markCodebaseCleared;
85
- private buildManageResponseEnvelope;
86
- private buildCompactManageMessage;
87
90
  private stringifyToolJson;
88
- private manageResponseFromEnvelope;
89
- private manageResponse;
90
- private manageVectorBackendResponse;
91
91
  private buildRuntimeOwnerConflictResponseIfBlocked;
92
92
  private buildRuntimeOwnerConflictResponse;
93
93
  private buildIndexingMetadata;
@@ -104,19 +104,8 @@ export declare class ToolHandlers {
104
104
  private refreshSnapshotStateFromDisk;
105
105
  private isPathWithinCodebase;
106
106
  private getTrackedRootEntryForPath;
107
- private resolveTrackedRoot;
108
107
  private probeLocalSearchCollectionState;
109
108
  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
109
  private summarizeFingerprint;
121
110
  private fingerprintsEqual;
122
111
  private isRuntimeFingerprintMismatch;
@@ -124,7 +113,6 @@ export declare class ToolHandlers {
124
113
  private buildCompatibilityDiagnostics;
125
114
  private buildCompatibilityStatusLines;
126
115
  private buildRequiresReindexPayload;
127
- private buildRequiresReindexSearchResponse;
128
116
  private buildRequiresReindexCallGraphPayload;
129
117
  private buildNotReadySearchPayload;
130
118
  private buildFreshnessBlockedSearchPayload;
@@ -138,107 +126,27 @@ export declare class ToolHandlers {
138
126
  private buildInvalidCallGraphRequestPayload;
139
127
  private getMatchingBlockedRoot;
140
128
  private enforceFingerprintGate;
141
- private buildSearchExcludeMatcher;
142
- private applySearchExcludeMatcher;
143
- private normalizeBreadcrumbs;
144
- private getBreadcrumbMergeKey;
145
- private formatScopeLine;
146
129
  private normalizeSearchPath;
147
130
  private hasPathSegment;
148
- private hasLeadingPathSegment;
149
131
  private isTestPath;
150
132
  private isDocPath;
151
133
  private isGeneratedPath;
152
134
  private isFixturePath;
153
- private isArtifactPath;
154
- private isLandingPath;
155
- private isExamplePath;
156
- private isAdapterPath;
157
- private isEntrypointPath;
158
- private isScriptRuntimePath;
159
135
  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
136
  private parseGitStatusChangedPaths;
202
137
  private getChangedFilesForCodebase;
203
138
  private getWorkingTreeChangedPathsForPreflight;
204
139
  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
140
  private parseIndexedAtMs;
216
- private getStalenessBucket;
217
- private compareNullableNumbersAsc;
218
- private compareNullableStringsAsc;
219
- private compareSearchCandidates;
220
- private sortSearchCandidates;
221
- private compareGroupedSearchResults;
141
+ private shouldIncludeCategoryInScope;
222
142
  private sortGroupedSearchResults;
223
- private buildSearchCandidateProvenance;
224
- private buildExactRegistryGroupResult;
225
- private isDeclarationSearchGroup;
226
- private normalizeDeclarationGroupKey;
227
- private collapseDuplicateDeclarationGroups;
228
- private buildFallbackGroupId;
229
143
  private isCallGraphLanguageSupported;
230
144
  private isFileOutlineLanguageSupported;
231
145
  private isPartialIndexNavigationUnavailable;
232
146
  private loadRegistryValidatedCallGraphSidecar;
233
- private buildRelationshipCallGraphHint;
234
147
  private sanitizeIndexedRelativeFilePath;
235
- private buildSearchOwnerChunk;
236
- private resolveBestOverlappingSearchSymbol;
237
148
  private resolveSearchOwnerFromRegistry;
238
- private buildSearchOpenSymbolAction;
239
- private shouldAllowPreviewReadFallback;
240
- private buildNavigationFallback;
241
- private buildSearchNextActions;
149
+ private getSearchNavigationHelpers;
242
150
  private buildChangedCodeDebug;
243
151
  private buildGeneratedArtifactsVerificationHint;
244
152
  private normalizeRelativeFilePath;
@@ -248,77 +156,15 @@ export declare class ToolHandlers {
248
156
  private getRegistryFileFreshness;
249
157
  private buildStaleSymbolRefCallGraphPayload;
250
158
  private getOutlineStatusForLanguage;
251
- private sortFileOutlineSymbols;
252
- private sortRegistrySymbols;
253
- private buildVisibleRegistrySymbolState;
254
- private findExactRegistrySymbols;
255
159
  private buildRegistrySymbolCallGraphHint;
256
- private buildRegistryFileOutlinePayload;
257
- private buildSearchGroupCallGraphHint;
258
- private buildSearchPassWarning;
259
- private buildSearchWarningDetails;
260
- private buildSearchWarningDetail;
261
- private buildSearchSpanWarningCodes;
262
160
  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
161
  private isSearchPassFaultInjectionEnabled;
283
162
  private getForcedFailedSearchPassId;
284
163
  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
164
  private buildRelationshipBackedCallGraph;
308
- private getContextIgnorePatterns;
309
165
  private rebuildCallGraphForIndex;
310
166
  private rebuildCallGraphForSyncDelta;
311
- private getVectorStore;
312
- private isSatoriCodeCollection;
313
- private getVectorBackendInfo;
314
167
  private isZillizBackend;
315
- private listCollectionDetailsWithFallback;
316
- private parseCodebaseFromMetadata;
317
- private resolveCollectionCodebasePath;
318
- private formatCollectionTimestamp;
319
- private parseTimestampMs;
320
- private resolveCollectionSortTimestampMs;
321
- private buildZillizCollectionLimitGuidance;
322
168
  private buildCollectionLimitMessage;
323
169
  private dropZillizCollectionForCreate;
324
170
  handleIndexCodebase(args: IndexCodebaseArgs): Promise<{
@@ -326,13 +172,14 @@ export declare class ToolHandlers {
326
172
  type: "text";
327
173
  text: string;
328
174
  }>;
175
+ isError?: boolean;
329
176
  }>;
330
- private startBackgroundIndexing;
331
177
  handleReindexCodebase(args: ReindexCodebaseArgs): Promise<{
332
178
  content: Array<{
333
179
  type: "text";
334
180
  text: string;
335
181
  }>;
182
+ isError?: boolean;
336
183
  }>;
337
184
  handleSearchCode(args: ToolArgs): Promise<{
338
185
  content: {
@@ -342,28 +189,14 @@ export declare class ToolHandlers {
342
189
  isError: boolean;
343
190
  meta?: undefined;
344
191
  } | {
192
+ meta: {
193
+ searchDiagnostics: SearchDiagnostics;
194
+ };
195
+ isError?: boolean | undefined;
345
196
  content: {
346
197
  type: string;
347
198
  text: string;
348
199
  }[];
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
200
  } | {
368
201
  content: {
369
202
  type: string;
@@ -389,29 +222,6 @@ export declare class ToolHandlers {
389
222
  };
390
223
  };
391
224
  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
225
  } | {
416
226
  content: {
417
227
  type: string;
@@ -424,51 +234,34 @@ export declare class ToolHandlers {
424
234
  };
425
235
  };
426
236
  isError?: undefined;
427
- } | {
428
- content: {
429
- type: string;
430
- text: string;
431
- }[];
432
- isError?: undefined;
433
- meta?: undefined;
434
237
  }>;
435
238
  handleFileOutline(args: FileOutlineInput): Promise<{
436
- content: {
437
- type: string;
438
- text: string;
439
- }[];
440
- isError: boolean;
441
- } | {
442
- content: {
443
- type: string;
239
+ content: Array<{
240
+ type: "text";
444
241
  text: string;
445
- }[];
446
- isError?: undefined;
242
+ }>;
243
+ isError?: boolean;
447
244
  }>;
448
245
  handleCallGraph(args: ToolArgs): Promise<{
449
- content: {
450
- type: string;
451
- text: string;
452
- }[];
453
- isError: boolean;
454
- } | {
455
- content: {
456
- type: string;
246
+ content: Array<{
247
+ type: "text";
457
248
  text: string;
458
- }[];
459
- isError?: undefined;
249
+ }>;
250
+ isError?: boolean;
460
251
  }>;
461
252
  handleClearIndex(args: ToolArgs): Promise<{
462
253
  content: Array<{
463
254
  type: "text";
464
255
  text: string;
465
256
  }>;
257
+ isError?: boolean;
466
258
  }>;
467
259
  handleGetIndexingStatus(args: ToolArgs): Promise<{
468
260
  content: Array<{
469
261
  type: "text";
470
262
  text: string;
471
263
  }>;
264
+ isError?: boolean;
472
265
  }>;
473
266
  /**
474
267
  * Handle sync request - manually trigger incremental sync for a codebase
@@ -478,6 +271,7 @@ export declare class ToolHandlers {
478
271
  type: "text";
479
272
  text: string;
480
273
  }>;
274
+ isError?: boolean;
481
275
  }>;
482
276
  handleReadCode(args: ToolArgs): Promise<{
483
277
  content: {