@octocodeai/octocode-tools-core 17.0.2 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +48 -38
  2. package/dist/direct.js +52 -35
  3. package/dist/github/canonicalRepo.d.ts +14 -0
  4. package/dist/github/codeSearch/matchPositions.d.ts +11 -0
  5. package/dist/github/codeSearch.d.ts +2 -1
  6. package/dist/github/compare.d.ts +42 -0
  7. package/dist/github/dateWindow.d.ts +4 -0
  8. package/dist/github/discussions.d.ts +45 -0
  9. package/dist/github/githubAPI.d.ts +7 -13
  10. package/dist/github/history/commitFiles.d.ts +39 -0
  11. package/dist/github/history.d.ts +1 -0
  12. package/dist/github/issues/types.d.ts +8 -8
  13. package/dist/github/prTransformation.d.ts +24 -25
  14. package/dist/github/queryBuilders/base.d.ts +0 -1
  15. package/dist/github/queryBuilders/issues.d.ts +0 -6
  16. package/dist/github/releases.d.ts +9 -1
  17. package/dist/github/responseHeaders.d.ts +6 -0
  18. package/dist/index.d.ts +7 -6
  19. package/dist/index.js +56 -39
  20. package/dist/providers/github/githubPullRequests.d.ts +9 -0
  21. package/dist/providers/github/paginationMetadata.d.ts +6 -5
  22. package/dist/providers/providerQueries.d.ts +11 -6
  23. package/dist/providers/providerResults.d.ts +9 -1
  24. package/dist/schema.d.ts +0 -1
  25. package/dist/schema.js +1 -2
  26. package/dist/scheme/pagination.d.ts +5 -13
  27. package/dist/scheme/responseEnvelope.d.ts +28 -22
  28. package/dist/security/bridge.d.ts +3 -2
  29. package/dist/shared/config/index.d.ts +0 -1
  30. package/dist/shared/config/index.js +1 -1
  31. package/dist/shared/languageSelectors/classify.d.ts +2 -2
  32. package/dist/shared/languageSelectors/data.d.ts +4 -4
  33. package/dist/shared/languageSelectors.d.ts +1 -1
  34. package/dist/shared/paths.d.ts +1 -4
  35. package/dist/tools/directToolCatalog/toolCatalogDefinitions.d.ts +10 -11
  36. package/dist/tools/directToolCatalog/toolCatalogFormatters.d.ts +12 -0
  37. package/dist/tools/directToolCatalog.meta.d.ts +1 -0
  38. package/dist/tools/github_clone_repo/contentSize.d.ts +9 -0
  39. package/dist/tools/github_clone_repo/scheme.d.ts +26 -96
  40. package/dist/tools/github_fetch_content/finalizer/types.d.ts +2 -3
  41. package/dist/tools/github_fetch_content/scheme.d.ts +92 -140
  42. package/dist/tools/github_fetch_content/types.d.ts +2 -1
  43. package/dist/tools/github_search_code/scheme.d.ts +39 -87
  44. package/dist/tools/github_search_discussions/execution.d.ts +15 -0
  45. package/dist/tools/github_search_discussions/scheme.d.ts +16 -0
  46. package/dist/tools/github_search_pull_requests/contentResponse/fileSurfaces.d.ts +2 -16
  47. package/dist/tools/github_search_pull_requests/scheme.d.ts +97 -119
  48. package/dist/tools/github_search_pull_requests/splitExecutions.d.ts +8 -0
  49. package/dist/tools/github_search_pull_requests/splitSchemes.d.ts +216 -0
  50. package/dist/tools/github_search_pull_requests/types.d.ts +28 -29
  51. package/dist/tools/github_search_repos/execution.d.ts +0 -2
  52. package/dist/tools/github_search_repos/scheme.d.ts +36 -64
  53. package/dist/tools/github_view_repo_structure/scheme.d.ts +37 -66
  54. package/dist/tools/local_dead_code/deadCodeScan.d.ts +26 -0
  55. package/dist/tools/local_dead_code/entrypoints.d.ts +16 -0
  56. package/dist/tools/local_dead_code/execution.d.ts +4 -0
  57. package/dist/tools/local_dead_code/graphBuilder.d.ts +43 -0
  58. package/dist/tools/local_dead_code/importResolver.d.ts +6 -0
  59. package/dist/tools/local_dead_code/local_dead_code.d.ts +5 -0
  60. package/dist/tools/local_dead_code/reachability.d.ts +21 -0
  61. package/dist/tools/local_dead_code/retention.d.ts +22 -0
  62. package/dist/tools/local_dead_code/scheme.d.ts +51 -0
  63. package/dist/tools/local_dead_code/types.d.ts +56 -0
  64. package/dist/tools/local_fetch_content/execution.d.ts +0 -1
  65. package/dist/tools/local_fetch_content/fetchContent/extraction.d.ts +6 -0
  66. package/dist/tools/local_fetch_content/fetchContent/validation.d.ts +9 -1
  67. package/dist/tools/local_fetch_content/fetchContent.d.ts +0 -1
  68. package/dist/tools/local_fetch_content/scheme.d.ts +28 -90
  69. package/dist/tools/local_find_files/execution.d.ts +0 -1
  70. package/dist/tools/local_find_files/findFiles.d.ts +0 -3
  71. package/dist/tools/local_find_files/findFilesNext.d.ts +26 -0
  72. package/dist/tools/local_find_files/pathPatternBraces.d.ts +20 -0
  73. package/dist/tools/local_find_files/scheme.d.ts +19 -81
  74. package/dist/tools/local_ripgrep/captureBudget.d.ts +25 -0
  75. package/dist/tools/local_ripgrep/rankingProfile/rankingProfiles.d.ts +1 -0
  76. package/dist/tools/local_ripgrep/rankingProfile/rankingResults.d.ts +1 -0
  77. package/dist/tools/local_ripgrep/ripgrepResultBuilder/searchNext.d.ts +1 -1
  78. package/dist/tools/local_ripgrep/scheme.d.ts +89 -190
  79. package/dist/tools/local_view_structure/execution.d.ts +0 -1
  80. package/dist/tools/local_view_structure/local_view_structure.d.ts +0 -1
  81. package/dist/tools/local_view_structure/scheme.d.ts +34 -87
  82. package/dist/tools/local_view_structure/structureFilters.d.ts +2 -4
  83. package/dist/tools/local_view_structure/structureResponse.d.ts +1 -0
  84. package/dist/tools/local_view_structure/viewStructureNext.d.ts +25 -0
  85. package/dist/tools/lsp/semantic_content/index.d.ts +2 -1
  86. package/dist/tools/lsp/semantic_content/scheme.d.ts +167 -642
  87. package/dist/tools/lsp/semantic_content/semanticAnchored.d.ts +8 -2
  88. package/dist/tools/lsp/semantic_content/semanticEnvelopes/locationEnvelopes.d.ts +2 -1
  89. package/dist/tools/lsp/semantic_content/semanticFileOps/anchor.d.ts +17 -1
  90. package/dist/tools/lsp/semantic_content/semanticNext.d.ts +2 -0
  91. package/dist/tools/lsp/semantic_content/semanticPresentation.d.ts +1 -1
  92. package/dist/tools/lsp/shared/callHierarchyTraversal.d.ts +14 -2
  93. package/dist/tools/lsp/shared/semanticTypes.d.ts +14 -1
  94. package/dist/tools/package_search/execution.d.ts +9 -6
  95. package/dist/tools/package_search/queryHelpers.d.ts +8 -0
  96. package/dist/tools/package_search/scheme.d.ts +30 -86
  97. package/dist/tools/providerMappers/codeSearch.d.ts +0 -1
  98. package/dist/tools/providerMappers/pullRequests.d.ts +0 -13
  99. package/dist/tools/providerMappers/repoSearch.d.ts +1 -5
  100. package/dist/tools/providerMappers/repoStructure.d.ts +4 -0
  101. package/dist/tools/toolCatalogFactory.d.ts +25 -0
  102. package/dist/tools/toolConfig.d.ts +9 -24
  103. package/dist/tools/toolNames.d.ts +2 -2
  104. package/dist/tools/toolSchemaImports.d.ts +3 -1
  105. package/dist/types/execution.d.ts +1 -0
  106. package/dist/types/toolOutput.d.ts +38 -0
  107. package/dist/utils/contextUtils.d.ts +6 -0
  108. package/dist/utils/core/types.d.ts +4 -0
  109. package/dist/utils/jsSymbolNames.d.ts +6 -0
  110. package/package.json +4 -8
  111. package/dist/oql/adapters/compile.d.ts +0 -25
  112. package/dist/oql/adapters/github/execute.d.ts +0 -16
  113. package/dist/oql/adapters/github/provider-diagnostics.d.ts +0 -14
  114. package/dist/oql/adapters/github/shared.d.ts +0 -75
  115. package/dist/oql/adapters/github.d.ts +0 -14
  116. package/dist/oql/adapters/graphProof.d.ts +0 -6
  117. package/dist/oql/adapters/graphView/filters.d.ts +0 -25
  118. package/dist/oql/adapters/graphView/nativeEdges.d.ts +0 -5
  119. package/dist/oql/adapters/graphView.d.ts +0 -29
  120. package/dist/oql/adapters/local/code.d.ts +0 -3
  121. package/dist/oql/adapters/local/codeBoolean.d.ts +0 -3
  122. package/dist/oql/adapters/local/fileRowOps.d.ts +0 -11
  123. package/dist/oql/adapters/local/files.d.ts +0 -3
  124. package/dist/oql/adapters/local/filesBoolean.d.ts +0 -10
  125. package/dist/oql/adapters/local/filesContentLeaf.d.ts +0 -12
  126. package/dist/oql/adapters/local/filesUniverse.d.ts +0 -6
  127. package/dist/oql/adapters/local/findToolType.d.ts +0 -10
  128. package/dist/oql/adapters/local/predicates.d.ts +0 -18
  129. package/dist/oql/adapters/local/scope.d.ts +0 -14
  130. package/dist/oql/adapters/local/searchToolType.d.ts +0 -7
  131. package/dist/oql/adapters/local/structureContent.d.ts +0 -6
  132. package/dist/oql/adapters/local/types.d.ts +0 -34
  133. package/dist/oql/adapters/local.d.ts +0 -4
  134. package/dist/oql/adapters/materialize.d.ts +0 -11
  135. package/dist/oql/adapters/pagination.d.ts +0 -21
  136. package/dist/oql/adapters/researchTargets/diff.d.ts +0 -16
  137. package/dist/oql/adapters/researchTargets/graph.d.ts +0 -3
  138. package/dist/oql/adapters/researchTargets/history.d.ts +0 -20
  139. package/dist/oql/adapters/researchTargets/pagination.d.ts +0 -54
  140. package/dist/oql/adapters/researchTargets/repositories.d.ts +0 -4
  141. package/dist/oql/adapters/researchTargets/research.d.ts +0 -3
  142. package/dist/oql/adapters/researchTargets/rows.d.ts +0 -16
  143. package/dist/oql/adapters/researchTargets/semantics.d.ts +0 -3
  144. package/dist/oql/adapters/researchTargets/shared.d.ts +0 -11
  145. package/dist/oql/adapters/researchTargets.d.ts +0 -8
  146. package/dist/oql/adapters/resultMap.d.ts +0 -27
  147. package/dist/oql/adapters/ruleYaml.d.ts +0 -11
  148. package/dist/oql/adapters/runner.d.ts +0 -21
  149. package/dist/oql/capabilities.d.ts +0 -31
  150. package/dist/oql/defaults.d.ts +0 -26
  151. package/dist/oql/diagnostics.d.ts +0 -25
  152. package/dist/oql/diffLanes.d.ts +0 -29
  153. package/dist/oql/envelope.d.ts +0 -21
  154. package/dist/oql/features.d.ts +0 -7
  155. package/dist/oql/index.d.ts +0 -27
  156. package/dist/oql/index.js +0 -47
  157. package/dist/oql/normalize/batch.d.ts +0 -2
  158. package/dist/oql/normalize/materialize.d.ts +0 -2
  159. package/dist/oql/normalize/params.d.ts +0 -2
  160. package/dist/oql/normalize/query.d.ts +0 -2
  161. package/dist/oql/normalize/scope.d.ts +0 -2
  162. package/dist/oql/normalize/shared.d.ts +0 -7
  163. package/dist/oql/normalize/source.d.ts +0 -2
  164. package/dist/oql/normalize/where.d.ts +0 -2
  165. package/dist/oql/normalize.d.ts +0 -20
  166. package/dist/oql/planner/planDiagnostics.d.ts +0 -13
  167. package/dist/oql/planner/predicateRouting.d.ts +0 -35
  168. package/dist/oql/planner.d.ts +0 -7
  169. package/dist/oql/predicateUtils.d.ts +0 -3
  170. package/dist/oql/research/analyze/manifest-scan.d.ts +0 -4
  171. package/dist/oql/research/analyze/source-graph.d.ts +0 -7
  172. package/dist/oql/research/analyze/symbol-scoring.d.ts +0 -4
  173. package/dist/oql/research/analyze/types.d.ts +0 -163
  174. package/dist/oql/research/analyze/utils.d.ts +0 -16
  175. package/dist/oql/research/analyze.d.ts +0 -3
  176. package/dist/oql/research/packets/builders.d.ts +0 -4
  177. package/dist/oql/research/packets/types.d.ts +0 -91
  178. package/dist/oql/research/packets.d.ts +0 -21
  179. package/dist/oql/run/batch.d.ts +0 -3
  180. package/dist/oql/run/continuations/records.d.ts +0 -19
  181. package/dist/oql/run/continuations/registry.d.ts +0 -22
  182. package/dist/oql/run/continuations/semantics.d.ts +0 -3
  183. package/dist/oql/run/continuations/types.d.ts +0 -12
  184. package/dist/oql/run/dryRun.d.ts +0 -11
  185. package/dist/oql/run/paths.d.ts +0 -15
  186. package/dist/oql/run/proofGrades.d.ts +0 -8
  187. package/dist/oql/run/select.d.ts +0 -10
  188. package/dist/oql/run/single.d.ts +0 -22
  189. package/dist/oql/run.d.ts +0 -5
  190. package/dist/oql/schema/predicates.d.ts +0 -12
  191. package/dist/oql/schema.d.ts +0 -1049
  192. package/dist/oql/schemeText.d.ts +0 -152
  193. package/dist/oql/shorthand/predicates.d.ts +0 -15
  194. package/dist/oql/shorthand/query-controls.d.ts +0 -18
  195. package/dist/oql/shorthand/target-params.d.ts +0 -9
  196. package/dist/oql/shorthand/types.d.ts +0 -159
  197. package/dist/oql/shorthand/utils.d.ts +0 -7
  198. package/dist/oql/shorthand.d.ts +0 -8
  199. package/dist/oql/targetParams.d.ts +0 -7
  200. package/dist/oql/transformers/contract.d.ts +0 -19
  201. package/dist/oql/transformers/github/code.d.ts +0 -9
  202. package/dist/oql/transformers/github/common.d.ts +0 -14
  203. package/dist/oql/transformers/language.d.ts +0 -1
  204. package/dist/oql/transformers/registry.d.ts +0 -16
  205. package/dist/oql/transformers/types.d.ts +0 -11
  206. package/dist/oql/types/diagnostics.d.ts +0 -22
  207. package/dist/oql/types/envelope.d.ts +0 -78
  208. package/dist/oql/types/guards.d.ts +0 -9
  209. package/dist/oql/types/planner.d.ts +0 -46
  210. package/dist/oql/types/predicates.d.ts +0 -93
  211. package/dist/oql/types/query.d.ts +0 -143
  212. package/dist/oql/types/recordData.d.ts +0 -127
  213. package/dist/oql/types/recordRows.d.ts +0 -48
  214. package/dist/oql/types/results.d.ts +0 -118
  215. package/dist/oql/types/targets.d.ts +0 -22
  216. package/dist/oql/types.d.ts +0 -27
  217. package/dist/tools/oql_search/execution.d.ts +0 -7
  218. package/dist/tools/toolMetadata/descriptionOverrides.d.ts +0 -4
@@ -2,14 +2,13 @@ import type { PaginationInfo } from '../../types/toolResults.js';
2
2
  export interface GitHubPullRequestApiItem {
3
3
  number: number;
4
4
  title: string;
5
- url: string;
6
5
  state: 'open' | 'closed';
7
6
  draft: boolean;
8
7
  merged: boolean;
9
- created_at: string;
10
- updated_at: string;
11
- closed_at?: string;
12
- merged_at?: string;
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ closedAt?: string;
11
+ mergedAt?: string;
13
12
  author: string;
14
13
  assignees?: string[];
15
14
  labels?: Array<{
@@ -18,12 +17,12 @@ export interface GitHubPullRequestApiItem {
18
17
  color: string;
19
18
  description?: string;
20
19
  }>;
21
- head_ref: string;
22
- head_sha?: string;
23
- base_ref: string;
24
- base_sha?: string;
20
+ headRef: string;
21
+ headSha?: string;
22
+ baseRef: string;
23
+ baseSha?: string;
25
24
  body?: string | null;
26
- body_pagination?: {
25
+ bodyPagination?: {
27
26
  charOffset: number;
28
27
  charLength: number;
29
28
  totalChars: number;
@@ -31,25 +30,25 @@ export interface GitHubPullRequestApiItem {
31
30
  nextCharOffset?: number;
32
31
  };
33
32
  comments?: number;
34
- comment_details_breakdown?: {
35
- inline_review: number;
33
+ commentDetailsBreakdown?: {
34
+ inlineReview: number;
36
35
  discussion: number;
37
36
  };
38
37
  commits?: number;
39
38
  additions?: number;
40
39
  deletions?: number;
41
- changed_files?: number;
42
- comment_details?: Array<{
40
+ changedFiles?: number;
41
+ commentDetails?: Array<{
43
42
  id: string;
44
43
  user: string;
45
44
  body: string;
46
- created_at: string;
47
- updated_at: string;
45
+ createdAt: string;
46
+ updatedAt: string;
48
47
  commentType?: 'discussion' | 'review_inline';
49
48
  path?: string;
50
49
  line?: number;
51
- in_reply_to_id?: number | null;
52
- body_pagination?: {
50
+ inReplyToId?: number | null;
51
+ bodyPagination?: {
53
52
  charOffset: number;
54
53
  charLength: number;
55
54
  totalChars: number;
@@ -57,10 +56,10 @@ export interface GitHubPullRequestApiItem {
57
56
  nextCharOffset?: number;
58
57
  };
59
58
  }>;
60
- comment_details_shown?: number;
61
- comment_details_total?: number;
62
- comment_details_paginated?: boolean;
63
- file_changes?: Array<{
59
+ commentDetailsShown?: number;
60
+ commentDetailsTotal?: number;
61
+ commentDetailsPaginated?: boolean;
62
+ fileChanges?: Array<{
64
63
  filename: string;
65
64
  status: string;
66
65
  additions: number;
@@ -73,10 +72,10 @@ export interface GitHubPullRequestApiItem {
73
72
  user: string;
74
73
  state: string;
75
74
  body: string;
76
- submitted_at?: string;
77
- commit_id?: string;
75
+ submittedAt?: string;
76
+ commitId?: string;
78
77
  }>;
79
- commit_details?: Array<{
78
+ commitDetails?: Array<{
80
79
  sha: string;
81
80
  message: string;
82
81
  author: string;
@@ -90,14 +89,14 @@ export interface GitHubPullRequestApiItem {
90
89
  patch?: string;
91
90
  }>;
92
91
  }>;
93
- _sanitization_warnings?: string[];
92
+ sanitizationWarnings?: string[];
94
93
  }
95
94
  export interface GitHubPullRequestSearchApiData {
96
95
  owner?: string;
97
96
  repo?: string;
98
- pull_requests?: GitHubPullRequestApiItem[];
99
- total_count?: number;
100
- incomplete_results?: boolean;
97
+ pullRequests?: GitHubPullRequestApiItem[];
98
+ totalCount?: number;
99
+ incompleteResults?: boolean;
101
100
  effectiveQuery?: string;
102
101
  pagination?: PaginationInfo;
103
102
  outputPagination?: {
@@ -1,7 +1,5 @@
1
1
  import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
- import type { GitHubRepositoryOutput } from '@octocodeai/octocode-core/extra-types';
3
2
  import type { ToolExecutionArgs } from '../../types/execution.js';
4
3
  import { type PartialReposSearchQuery } from './execution/queryVariants.js';
5
4
  export { buildMergedPagination, buildPartialFailureWarnings, buildResultPagination, } from './execution/pagination.js';
6
- export declare function formatRepoLine(repo: GitHubRepositoryOutput): string;
7
5
  export declare function searchMultipleGitHubRepos(args: ToolExecutionArgs<PartialReposSearchQuery>): Promise<CallToolResult>;
@@ -1,13 +1,17 @@
1
1
  import { z } from 'zod';
2
+ import type { ItemPagination, ToolContinuation } from '../../scheme/pagination.js';
3
+ import type { BulkToolOutput } from '../../types/toolOutput.js';
2
4
  export declare const GitHubReposSearchSingleQueryLocalSchema: z.ZodObject<{
3
5
  keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
6
  topicsToSearch: z.ZodOptional<z.ZodArray<z.ZodString>>;
5
7
  language: z.ZodOptional<z.ZodString>;
6
8
  owner: z.ZodOptional<z.ZodString>;
7
9
  stars: z.ZodOptional<z.ZodString>;
8
- size: z.ZodOptional<z.ZodString>;
9
- created: z.ZodOptional<z.ZodString>;
10
+ forks: z.ZodOptional<z.ZodString>;
11
+ goodFirstIssues: z.ZodOptional<z.ZodString>;
10
12
  updated: z.ZodOptional<z.ZodString>;
13
+ created: z.ZodOptional<z.ZodString>;
14
+ size: z.ZodOptional<z.ZodString>;
11
15
  match: z.ZodOptional<z.ZodArray<z.ZodEnum<{
12
16
  description: "description";
13
17
  name: "name";
@@ -15,8 +19,8 @@ export declare const GitHubReposSearchSingleQueryLocalSchema: z.ZodObject<{
15
19
  }>>>;
16
20
  sort: z.ZodDefault<z.ZodEnum<{
17
21
  stars: "stars";
18
- updated: "updated";
19
22
  forks: "forks";
23
+ updated: "updated";
20
24
  "help-wanted-issues": "help-wanted-issues";
21
25
  "best-match": "best-match";
22
26
  }>>;
@@ -27,9 +31,7 @@ export declare const GitHubReposSearchSingleQueryLocalSchema: z.ZodObject<{
27
31
  public: "public";
28
32
  private: "private";
29
33
  }>>;
30
- forks: z.ZodOptional<z.ZodString>;
31
34
  license: z.ZodOptional<z.ZodString>;
32
- goodFirstIssues: z.ZodOptional<z.ZodString>;
33
35
  concise: z.ZodOptional<z.ZodBoolean>;
34
36
  id: z.ZodOptional<z.ZodString>;
35
37
  mainResearchGoal: z.ZodOptional<z.ZodString>;
@@ -41,62 +43,32 @@ export declare const GitHubReposSearchBulkQueryLocalSchema: z.ZodObject<{
41
43
  responseCharLength: z.ZodOptional<z.ZodPreprocess<z.ZodNumber>>;
42
44
  queries: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
43
45
  }, z.core.$strip>;
44
- export declare const GitHubSearchRepositoriesOutputLocalSchema: z.ZodObject<{
45
- results: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
- id: z.ZodOptional<z.ZodString>;
47
- status: z.ZodOptional<z.ZodString>;
48
- data: z.ZodOptional<z.ZodObject<{
49
- repositories: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
50
- owner: z.ZodString;
51
- repo: z.ZodString;
52
- stars: z.ZodOptional<z.ZodNumber>;
53
- forks: z.ZodOptional<z.ZodNumber>;
54
- openIssuesCount: z.ZodOptional<z.ZodNumber>;
55
- language: z.ZodOptional<z.ZodString>;
56
- license: z.ZodOptional<z.ZodString>;
57
- description: z.ZodOptional<z.ZodString>;
58
- homepage: z.ZodOptional<z.ZodString>;
59
- pushedAt: z.ZodOptional<z.ZodString>;
60
- createdAt: z.ZodOptional<z.ZodString>;
61
- defaultBranch: z.ZodOptional<z.ZodString>;
62
- topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
- visibility: z.ZodOptional<z.ZodString>;
64
- url: z.ZodOptional<z.ZodString>;
65
- updatedAt: z.ZodOptional<z.ZodString>;
66
- }, z.core.$strip>]>>>;
67
- pagination: z.ZodOptional<z.ZodObject<{
68
- currentPage: z.ZodNumber;
69
- totalPages: z.ZodNumber;
70
- hasMore: z.ZodBoolean;
71
- nextPage: z.ZodOptional<z.ZodNumber>;
72
- pageSize: z.ZodOptional<z.ZodNumber>;
73
- totalItems: z.ZodOptional<z.ZodNumber>;
74
- perPage: z.ZodOptional<z.ZodNumber>;
75
- totalFound: z.ZodOptional<z.ZodNumber>;
76
- returned: z.ZodOptional<z.ZodNumber>;
77
- totalMatches: z.ZodOptional<z.ZodNumber>;
78
- reportedTotalMatches: z.ZodOptional<z.ZodNumber>;
79
- reachableTotalMatches: z.ZodOptional<z.ZodNumber>;
80
- totalResults: z.ZodOptional<z.ZodNumber>;
81
- itemsPerPage: z.ZodOptional<z.ZodNumber>;
82
- totalMatchesKind: z.ZodOptional<z.ZodEnum<{
83
- exact: "exact";
84
- reported: "reported";
85
- lowerBound: "lowerBound";
86
- }>>;
87
- totalMatchesCapped: z.ZodOptional<z.ZodBoolean>;
88
- }, z.core.$strip>>;
89
- }, z.core.$loose>>;
90
- }, z.core.$loose>>>;
91
- base: z.ZodOptional<z.ZodString>;
92
- shared: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
93
- responsePagination: z.ZodOptional<z.ZodObject<{
94
- currentPage: z.ZodNumber;
95
- totalPages: z.ZodNumber;
96
- hasMore: z.ZodBoolean;
97
- charOffset: z.ZodNumber;
98
- charLength: z.ZodNumber;
99
- totalChars: z.ZodNumber;
100
- nextCharOffset: z.ZodOptional<z.ZodNumber>;
101
- }, z.core.$strip>>;
102
- }, z.core.$strip>;
46
+ export interface LocalRepositoryDetail {
47
+ owner: string;
48
+ repo: string;
49
+ stars?: number;
50
+ forks?: number;
51
+ openIssuesCount?: number;
52
+ language?: string;
53
+ license?: string;
54
+ description?: string;
55
+ homepage?: string;
56
+ pushedAt?: string;
57
+ createdAt?: string;
58
+ defaultBranch?: string;
59
+ topics?: string[];
60
+ visibility?: string;
61
+ url?: string;
62
+ updatedAt?: string;
63
+ }
64
+ export interface RepoSearchPagination extends ItemPagination {
65
+ totalMatchesKind?: 'exact' | 'reported' | 'lowerBound';
66
+ totalMatchesCapped?: boolean;
67
+ }
68
+ export interface RepositoryResultData {
69
+ repositories?: Array<string | LocalRepositoryDetail>;
70
+ pagination?: RepoSearchPagination;
71
+ next?: Record<string, ToolContinuation>;
72
+ [key: string]: unknown;
73
+ }
74
+ export type GitHubSearchRepositoriesOutputLocal = BulkToolOutput<RepositoryResultData>;
@@ -1,3 +1,5 @@
1
+ import type { ItemPagination, ToolContinuation } from '../../scheme/pagination.js';
2
+ import type { BulkToolOutput } from '../../types/toolOutput.js';
1
3
  export declare const GitHubViewRepoStructureQueryLocalSchema: import("zod").ZodObject<{
2
4
  owner: import("zod").ZodString;
3
5
  repo: import("zod").ZodString;
@@ -6,7 +8,13 @@ export declare const GitHubViewRepoStructureQueryLocalSchema: import("zod").ZodO
6
8
  maxDepth: import("zod").ZodOptional<import("zod").ZodNumber>;
7
9
  page: import("zod").ZodDefault<import("zod").ZodNumber>;
8
10
  itemsPerPage: import("zod").ZodDefault<import("zod").ZodNumber>;
9
- includeSizes: import("zod").ZodOptional<import("zod").ZodBoolean>;
11
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
12
+ sizes: "sizes";
13
+ languages: "languages";
14
+ contributors: "contributors";
15
+ branches: "branches";
16
+ tags: "tags";
17
+ }>>>;
10
18
  id: import("zod").ZodOptional<import("zod").ZodString>;
11
19
  mainResearchGoal: import("zod").ZodOptional<import("zod").ZodString>;
12
20
  researchGoal: import("zod").ZodOptional<import("zod").ZodString>;
@@ -17,68 +25,31 @@ export declare const GitHubViewRepoStructureBulkQueryLocalSchema: import("zod").
17
25
  responseCharLength: import("zod").ZodOptional<import("zod").ZodPreprocess<import("zod").ZodNumber>>;
18
26
  queries: import("zod").ZodArray<import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>>;
19
27
  }, import("zod/v4/core").$strip>;
20
- export declare const GitHubViewRepoStructureOutputLocalSchema: import("zod").ZodObject<{
21
- status: import("zod").ZodOptional<import("zod").ZodEnum<{
22
- empty: import("@octocodeai/octocode-core/types").ToolStatus.Empty;
23
- error: import("@octocodeai/octocode-core/types").ToolStatus.Error;
24
- }>>;
25
- data: import("zod").ZodOptional<import("zod").ZodObject<{
26
- entries: import("zod").ZodArray<import("zod").ZodObject<{
27
- path: import("zod").ZodString;
28
- name: import("zod").ZodOptional<import("zod").ZodString>;
29
- type: import("zod").ZodOptional<import("zod").ZodString>;
30
- size: import("zod").ZodOptional<import("zod").ZodNumber>;
31
- }, import("zod/v4/core").$loose>>;
32
- pagination: import("zod").ZodOptional<import("zod").ZodObject<{
33
- currentPage: import("zod").ZodNumber;
34
- totalPages: import("zod").ZodNumber;
35
- hasMore: import("zod").ZodBoolean;
36
- nextPage: import("zod").ZodOptional<import("zod").ZodNumber>;
37
- nextMatchPage: import("zod").ZodOptional<import("zod").ZodNumber>;
38
- perPage: import("zod").ZodOptional<import("zod").ZodNumber>;
39
- totalMatches: import("zod").ZodOptional<import("zod").ZodNumber>;
40
- totalFiles: import("zod").ZodOptional<import("zod").ZodNumber>;
41
- totalEntries: import("zod").ZodOptional<import("zod").ZodNumber>;
42
- totalResults: import("zod").ZodOptional<import("zod").ZodNumber>;
43
- entriesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
44
- filesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
45
- matchesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
46
- }, import("zod/v4/core").$strip>>;
47
- }, import("zod/v4/core").$strip>>;
48
- entries: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
49
- path: import("zod").ZodString;
50
- name: import("zod").ZodOptional<import("zod").ZodString>;
51
- type: import("zod").ZodOptional<import("zod").ZodString>;
52
- size: import("zod").ZodOptional<import("zod").ZodNumber>;
53
- }, import("zod/v4/core").$loose>>>;
54
- pagination: import("zod").ZodOptional<import("zod").ZodObject<{
55
- currentPage: import("zod").ZodNumber;
56
- totalPages: import("zod").ZodNumber;
57
- hasMore: import("zod").ZodBoolean;
58
- nextPage: import("zod").ZodOptional<import("zod").ZodNumber>;
59
- nextMatchPage: import("zod").ZodOptional<import("zod").ZodNumber>;
60
- perPage: import("zod").ZodOptional<import("zod").ZodNumber>;
61
- totalMatches: import("zod").ZodOptional<import("zod").ZodNumber>;
62
- totalFiles: import("zod").ZodOptional<import("zod").ZodNumber>;
63
- totalEntries: import("zod").ZodOptional<import("zod").ZodNumber>;
64
- totalResults: import("zod").ZodOptional<import("zod").ZodNumber>;
65
- entriesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
66
- filesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
67
- matchesPerPage: import("zod").ZodOptional<import("zod").ZodNumber>;
68
- }, import("zod/v4/core").$strip>>;
69
- warnings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
70
- kind: import("zod").ZodString;
71
- }, import("zod/v4/core").$loose>]>>>;
72
- error: import("zod").ZodOptional<import("zod").ZodString>;
73
- base: import("zod").ZodOptional<import("zod").ZodString>;
74
- shared: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean]>>>;
75
- responsePagination: import("zod").ZodOptional<import("zod").ZodObject<{
76
- currentPage: import("zod").ZodNumber;
77
- totalPages: import("zod").ZodNumber;
78
- hasMore: import("zod").ZodBoolean;
79
- charOffset: import("zod").ZodNumber;
80
- charLength: import("zod").ZodNumber;
81
- totalChars: import("zod").ZodNumber;
82
- nextCharOffset: import("zod").ZodOptional<import("zod").ZodNumber>;
83
- }, import("zod/v4/core").$strip>>;
84
- }, import("zod/v4/core").$loose>;
28
+ export interface StructureDirEntry {
29
+ dir?: string;
30
+ files?: string[];
31
+ folders?: string[];
32
+ [key: string]: unknown;
33
+ }
34
+ export interface RepoStructureResultData {
35
+ structure?: StructureDirEntry[];
36
+ fileSizes?: Record<string, number>;
37
+ summary?: {
38
+ totalFiles?: number;
39
+ totalFolders?: number;
40
+ truncated?: boolean;
41
+ [key: string]: unknown;
42
+ };
43
+ resolvedBranch?: string;
44
+ pagination?: ItemPagination;
45
+ next?: Record<string, ToolContinuation>;
46
+ warnings?: string[];
47
+ owner?: string;
48
+ repo?: string;
49
+ path?: string;
50
+ error?: string;
51
+ statusCode?: number;
52
+ errorType?: string;
53
+ [key: string]: unknown;
54
+ }
55
+ export type GitHubViewRepoStructureOutputLocal = BulkToolOutput<RepoStructureResultData>;
@@ -0,0 +1,26 @@
1
+ import type { DeadClusterOutput, DeadExportOutput, FindDeadCodeQuery as StrictFindDeadCodeQuery } from './scheme.js';
2
+ import type { WithOptionalMeta } from '../../types/execution.js';
3
+ type FindDeadCodeQuery = WithOptionalMeta<StrictFindDeadCodeQuery>;
4
+ export interface DeadCodeScanResult {
5
+ filesScanned: number;
6
+ filesSkipped: number;
7
+ entrypointsResolved: string[];
8
+ deadExports: DeadExportOutput[];
9
+ deadClusters: DeadClusterOutput[];
10
+ warnings: string[];
11
+ /**
12
+ * Present (and always `"low"`) when the scan's reachability base is shaky, so
13
+ * the raw candidate count should not be trusted as-is. Two triggers, each
14
+ * with its own explanatory `warnings` entry:
15
+ * - `entrypointsResolved` came entirely from the test-file heuristic (no
16
+ * package.json main/exports/bin matched and no explicit `entrypoints`),
17
+ * so every export in an otherwise-live file reads as "dead"; re-scope to
18
+ * the real entrypoint-bearing package or pass `entrypoints` explicitly.
19
+ * - one or more resolved entrypoints parsed to zero edges (a native
20
+ * extractor parse failure on that file), so reachability can't leave them
21
+ * and files they should reach show as false "unreachable-file".
22
+ */
23
+ confidence?: 'low';
24
+ }
25
+ export declare function scanForDeadCode(rootAbsolutePath: string, query: FindDeadCodeQuery): DeadCodeScanResult;
26
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Resolve entrypoint files: explicit paths win; otherwise auto-detect from
3
+ * package.json (main/exports/bin, plus file-looking tokens inside `scripts`
4
+ * such as `node build.mjs`) plus, when `includeTests`, every file that looks
5
+ * like a test. Tests count as roots because a symbol only exercised by a test
6
+ * is proven live, not dead — treating them as entrypoints is the conservative
7
+ * direction (never a false dead-code claim).
8
+ *
9
+ * Returns only entrypoints present in `knownFiles` — an explicit path that
10
+ * doesn't exist in the scanned set is dropped and reported via `warnings`.
11
+ */
12
+ export declare function resolveEntrypoints(rootAbsolutePath: string, explicitEntrypoints: string[] | undefined, includeTests: boolean, knownFiles: ReadonlySet<string>): {
13
+ entrypoints: string[];
14
+ warnings: string[];
15
+ lowConfidence: boolean;
16
+ };
@@ -0,0 +1,4 @@
1
+ import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import { type FindDeadCodeQuery } from './scheme.js';
3
+ import type { ToolExecutionArgs } from '../../types/execution.js';
4
+ export declare function executeFindDeadCode(args: ToolExecutionArgs<FindDeadCodeQuery>): Promise<CallToolResult>;
@@ -0,0 +1,43 @@
1
+ import type { FileFacts, FileNode } from './types.js';
2
+ export declare const DEFAULT_DEAD_CODE_EXCLUDE_DIRS: string[];
3
+ export interface WalkResult {
4
+ facts: Map<string, FileFacts>;
5
+ fileGraph: Map<string, FileNode>;
6
+ filesScanned: number;
7
+ filesSkipped: number;
8
+ truncated: boolean;
9
+ /**
10
+ * Files that are the target of a `export * from '...'` somewhere in the
11
+ * scan. A star re-export re-publishes its target's entire surface, so once
12
+ * such a target is reachable its exports are the public API — same
13
+ * treatment as an entrypoint file, not individually retention-checked.
14
+ */
15
+ starReexportTargets: Set<string>;
16
+ /**
17
+ * Files that are the target of a string-literal dynamic `import('./x')`
18
+ * somewhere in the scan. A dynamic import resolves the whole module
19
+ * namespace, not a specific named binding, so — unlike a static
20
+ * `import { x } from './y'` — there is no reliable way to attribute which
21
+ * of the target's exports are actually used. Treated the same as
22
+ * `starReexportTargets`: reachable, and not individually retention-checked,
23
+ * rather than risk a false-positive "unreferenced export" on a name that's
24
+ * genuinely read off the dynamically-imported namespace object.
25
+ */
26
+ dynamicImportTargets: Set<string>;
27
+ /**
28
+ * Reverse star-re-export edges: target file → the files that
29
+ * `export * from` it. Needed for retention: a NAMED re-export whose barrel
30
+ * is itself star-re-exported (barrel → `export *` → entrypoint) is public
31
+ * API — `isBindingLive` must be able to hop the star edge, which carries no
32
+ * per-name entry in the named `reexportIndex`. Unfiltered (all scanned
33
+ * files); the scan filters to reachable re-exporters before use.
34
+ */
35
+ starReexporters: Map<string, string[]>;
36
+ }
37
+ /**
38
+ * Walk every graph-fact-capable file under `rootAbsolutePath`, extract native
39
+ * per-file facts, and resolve import specifiers into a file-level graph. One
40
+ * native call per file, zero LSP round-trips — this is what makes the scan
41
+ * scale with repo size instead of candidate count.
42
+ */
43
+ export declare function buildFileGraph(rootAbsolutePath: string, excludeDir: string[], maxFiles: number): WalkResult;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolve an import specifier to a relative path already present in
3
+ * `knownFiles`, or `null` when it's external/bare or doesn't resolve within
4
+ * the scanned set (dangling import, or a target outside the scan scope).
5
+ */
6
+ export declare function resolveImportSpecifier(specifier: string, importingFileRelativePath: string, knownFiles: ReadonlySet<string>): string | null;
@@ -0,0 +1,5 @@
1
+ import type { WithOptionalMeta } from '../../types/execution.js';
2
+ import type { FindDeadCodeOutput, FindDeadCodeQuery as CoreFindDeadCodeQuery } from './scheme.js';
3
+ type FindDeadCodeQuery = WithOptionalMeta<CoreFindDeadCodeQuery>;
4
+ export declare function findDeadCode(query: FindDeadCodeQuery): Promise<FindDeadCodeOutput>;
5
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { FileNode } from './types.js';
2
+ /** BFS from every entrypoint across the directed file-import graph. */
3
+ export declare function computeReachableFiles(fileGraph: ReadonlyMap<string, FileNode>, entrypoints: readonly string[]): Set<string>;
4
+ export interface StronglyConnectedComponent {
5
+ files: string[];
6
+ }
7
+ /**
8
+ * Iterative Tarjan's SCC over the file-import graph (iterative, not
9
+ * recursive, so a deep or cyclic graph in a large repo can't blow the call
10
+ * stack). Only components with more than one file — or a single file that
11
+ * imports itself — are real cycles; singleton components are dropped.
12
+ *
13
+ * This does NOT change what's reachable (BFS in `computeReachableFiles`
14
+ * already resolves cycles correctly — a 2-file cycle with no path from any
15
+ * entrypoint is simply never visited). What SCC adds is explanatory: instead
16
+ * of reporting N separately "unreachable" files, a cyclic cluster is grouped
17
+ * and named as one unit — the exact case a one-symbol-at-a-time reference
18
+ * check (ask "does A call B" in isolation) gets wrong, since each file in the
19
+ * cluster looks locally referenced by the other.
20
+ */
21
+ export declare function findStronglyConnectedComponents(fileGraph: ReadonlyMap<string, FileNode>): StronglyConnectedComponent[];
@@ -0,0 +1,22 @@
1
+ import type { FileFacts } from './types.js';
2
+ export declare function bindingKey(file: string, name: string): string;
3
+ /**
4
+ * Symbol-level liveness for one file's exported declarations.
5
+ *
6
+ * Seed: exports proven live by cross-file evidence (real import, live
7
+ * re-export chain, star hop — `isBindingLive`). Then propagate same-file
8
+ * call edges to a fixpoint: a call only retains its callee when the CALLER is
9
+ * itself live — two dead exports calling each other must not retain each
10
+ * other. Non-exported callers are conservatively treated as live (their
11
+ * liveness is not tracked, and module-level calls carry no caller edge at
12
+ * all). The lexical whole-word fallback (value references — spreads,
13
+ * property access, arguments — that `calls` never sees) still applies, but
14
+ * call-site occurrences attributable to DEAD exported callers are subtracted
15
+ * first so a dead caller's call site no longer lexically retains its callee.
16
+ * Both propagation rules are monotone (live only grows, the subtraction only
17
+ * shrinks), so the fixpoint terminates.
18
+ */
19
+ export declare function computeLiveExportedNames(file: string, facts: FileFacts, entrypointSet: ReadonlySet<string>, realImportIndex: ReadonlySet<string>, reexportIndex: ReadonlyMap<string, ReadonlyArray<{
20
+ file: string;
21
+ localName: string;
22
+ }>>, starReexporters: ReadonlyMap<string, ReadonlyArray<string>>): Set<string>;
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ import { FindDeadCodeQuerySchema as CoreFindDeadCodeQuerySchema } from '@octocodeai/octocode-core/schemas';
3
+ import type { LocalItemPagination, ToolContinuation } from '../../scheme/pagination.js';
4
+ export type FindDeadCodeQuery = z.infer<typeof CoreFindDeadCodeQuerySchema>;
5
+ export declare const LocalFindDeadCodeQuerySchema: z.ZodType<FindDeadCodeQuery>;
6
+ export declare const LocalFindDeadCodeBulkQuerySchema: z.ZodObject<{
7
+ responseCharOffset: z.ZodOptional<z.ZodPreprocess<z.ZodNumber>>;
8
+ responseCharLength: z.ZodOptional<z.ZodPreprocess<z.ZodNumber>>;
9
+ queries: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
10
+ }, z.core.$strip>;
11
+ export type DeadCodeReason = 'unreachable-file' | 'unreferenced-export' | 'dead-cluster';
12
+ export interface DeadExportOutput {
13
+ file: string;
14
+ name: string;
15
+ kind: string;
16
+ line: number;
17
+ reason: DeadCodeReason;
18
+ clusterId?: number;
19
+ /**
20
+ * Only on `reason:"unreferenced-export"` — which negative-evidence path
21
+ * concluded "dead", so agents know which candidates to LSP-verify first:
22
+ * - `"reexport-chain"`: the binding IS re-exported somewhere, but every
23
+ * chain terminated without a real consumer — the most fragile verdict.
24
+ * - `"lexical-count"`: no import and no unexplained same-file occurrence
25
+ * beyond the declaration itself.
26
+ */
27
+ viaHeuristic?: 'lexical-count' | 'reexport-chain';
28
+ }
29
+ export interface DeadClusterOutput {
30
+ id: number;
31
+ files: string[];
32
+ reason: string;
33
+ }
34
+ export interface FindDeadCodeOutput {
35
+ status?: 'empty' | 'error';
36
+ error?: string;
37
+ errorCode?: string;
38
+ rawResponseChars?: number;
39
+ path?: string;
40
+ filesScanned?: number;
41
+ filesSkipped?: number;
42
+ entrypointsResolved?: string[];
43
+ deadExports?: DeadExportOutput[];
44
+ deadClusters?: DeadClusterOutput[];
45
+ pagination?: LocalItemPagination;
46
+ next?: Record<string, ToolContinuation>;
47
+ /** See `DeadCodeScanResult.confidence` — present (always `"low"`) only when
48
+ * `entrypointsResolved` came entirely from the test-file heuristic. */
49
+ confidence?: 'low';
50
+ [key: string]: unknown;
51
+ }
@@ -0,0 +1,56 @@
1
+ export interface DeclarationFact {
2
+ id: string;
3
+ name: string;
4
+ kind: string;
5
+ line: number;
6
+ exported: boolean;
7
+ }
8
+ export interface ImportFact {
9
+ specifier: string;
10
+ localName: string;
11
+ importedName: string;
12
+ line: number;
13
+ }
14
+ export interface CallEdgeFact {
15
+ caller: string;
16
+ callee: string;
17
+ }
18
+ export interface FileFacts {
19
+ relativePath: string;
20
+ declarations: DeclarationFact[];
21
+ imports: ImportFact[];
22
+ /**
23
+ * Named re-exports (`export { x } from './y.js'`) declared in this file.
24
+ * Kept separate from `imports`: a re-export is a pass-through, not a
25
+ * consuming usage — `x` is only actually live if *this file's own* export
26
+ * of it (`localName`) is itself consumed somewhere, directly or through a
27
+ * further re-export. Folding these into `imports` would make merely being
28
+ * re-exported look like proof of use, which false-negatives on exactly the
29
+ * "barrel re-exports more than anyone downstream imports" case.
30
+ */
31
+ namedReexports: ImportFact[];
32
+ calls: CallEdgeFact[];
33
+ /**
34
+ * Whole-word occurrence count of each declared name in the file's raw
35
+ * source. `calls` only covers function-invocation edges; a name used by
36
+ * value reference (spread, property access, passed as an argument) never
37
+ * appears there, so this is the fallback that catches same-file usage of
38
+ * exported constants/types. A count > 1 means the name appears somewhere
39
+ * besides its own declaration line.
40
+ */
41
+ referenceCounts: Map<string, number>;
42
+ }
43
+ export interface FileNode {
44
+ relativePath: string;
45
+ /** Resolved relative paths of files this file imports from — static and
46
+ * string-literal dynamic `import()` targets alike. */
47
+ importsFiles: Set<string>;
48
+ /**
49
+ * Subset of `importsFiles` reached only through a string-literal dynamic
50
+ * `import()`, not a static `import`/`export ... from`. Used to compute a
51
+ * static-only reachability pass so a file reachable exclusively through
52
+ * dynamic import can be flagged as lower-confidence rather than treated
53
+ * with the same certainty as a statically-proven path.
54
+ */
55
+ dynamicImportsFiles: Set<string>;
56
+ }
@@ -1,5 +1,4 @@
1
1
  import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
2
  import { type FetchContentQuery } from './scheme.js';
3
3
  import type { ToolExecutionArgs } from '../../types/execution.js';
4
- export { finalizeFetchContentResult } from './fetchContent.js';
5
4
  export declare function executeFetchContent(args: ToolExecutionArgs<FetchContentQuery>): Promise<CallToolResult>;