@octocodeai/octocode-tools-core 18.1.2 → 18.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +113 -162
  2. package/dist/cacheMaintenance.d.ts +8 -0
  3. package/dist/direct.js +41 -51
  4. package/dist/github/client.d.ts +1 -1
  5. package/dist/github/codeSearch.d.ts +2 -2
  6. package/dist/github/commit.d.ts +48 -0
  7. package/dist/github/compare.d.ts +2 -2
  8. package/dist/github/directoryFetch/fetchDirectoryContents.d.ts +1 -1
  9. package/dist/github/directoryFetch/fetchFileContentToDisk.d.ts +1 -1
  10. package/dist/github/directoryFetch/refResolution.d.ts +6 -0
  11. package/dist/github/fileContent.d.ts +1 -1
  12. package/dist/github/fileContentRaw/fetch.d.ts +2 -2
  13. package/dist/github/githubAPI.d.ts +1 -2
  14. package/dist/github/history/commitFiles.d.ts +5 -0
  15. package/dist/github/history.d.ts +1 -1
  16. package/dist/github/issues/fetchers.d.ts +1 -1
  17. package/dist/github/issues/orchestrator.d.ts +1 -1
  18. package/dist/github/issues/types.d.ts +5 -0
  19. package/dist/github/prByNumber.d.ts +1 -1
  20. package/dist/github/prContentFetcher/commits.d.ts +1 -1
  21. package/dist/github/prContentFetcher/transform.d.ts +1 -1
  22. package/dist/github/pullRequestSearch.d.ts +1 -1
  23. package/dist/github/queryBuilders/codeAndRepo.d.ts +1 -1
  24. package/dist/github/repoSearch.d.ts +2 -2
  25. package/dist/github/repoStructure/contentResolution.d.ts +1 -1
  26. package/dist/github/repoStructure/fetchOrchestration.d.ts +2 -2
  27. package/dist/github/repoStructurePagination.d.ts +1 -1
  28. package/dist/graph/advancedOperations.d.ts +22 -0
  29. package/dist/{tools/local_dead_code/graphBuilder.d.ts → graph/buildFileGraph.d.ts} +6 -5
  30. package/dist/graph/cycleOperations.d.ts +12 -0
  31. package/dist/{tools/local_dead_code → graph}/importResolver.d.ts +1 -1
  32. package/dist/graph/operations.d.ts +7 -0
  33. package/dist/{tools/local_dead_code → graph}/reachability.d.ts +1 -1
  34. package/dist/{tools/local_dead_code → graph}/types.d.ts +11 -0
  35. package/dist/graph/workspacePackageResolver.d.ts +2 -0
  36. package/dist/index.d.ts +11 -30
  37. package/dist/index.js +45 -55
  38. package/dist/providers/github/githubContent.d.ts +1 -1
  39. package/dist/providers/github/githubPullRequests.d.ts +1 -1
  40. package/dist/providers/github/githubSearch.d.ts +1 -1
  41. package/dist/providers/github/githubStructure.d.ts +1 -1
  42. package/dist/providers/github/paginationMetadata.d.ts +4 -5
  43. package/dist/providers/providerQueries.d.ts +1 -3
  44. package/dist/providers/providerResults.d.ts +4 -0
  45. package/dist/providers/types.d.ts +1 -1
  46. package/dist/responses.d.ts +1 -1
  47. package/dist/schema.d.ts +2 -0
  48. package/dist/schema.js +13 -1
  49. package/dist/scheme/conditionalSchemas.d.ts +12 -0
  50. package/dist/scheme/fields.d.ts +2 -1
  51. package/dist/security/bridge.d.ts +7 -10
  52. package/dist/shared/credentials/index.js +2 -2
  53. package/dist/shared/paths.d.ts +1 -0
  54. package/dist/shared/paths.js +1 -1
  55. package/dist/shared/session/index.js +1 -1
  56. package/dist/toolContract/descriptions.d.ts +14 -0
  57. package/dist/toolContract/input/resources/global.d.ts +15 -0
  58. package/dist/toolContract/input/resources/toolRelations.d.ts +1 -0
  59. package/dist/toolContract/input/resources/toolVariants.d.ts +9 -0
  60. package/dist/toolContract/input/resources/tools/_toolkit.d.ts +75 -0
  61. package/dist/toolContract/input/resources/tools/ghCloneRepo.d.ts +12 -0
  62. package/dist/toolContract/input/resources/tools/ghGetFileContent.d.ts +30 -0
  63. package/dist/toolContract/input/resources/tools/ghSearch.d.ts +76 -0
  64. package/dist/toolContract/input/resources/tools/githubCodeOperation.d.ts +29 -0
  65. package/dist/toolContract/input/resources/tools/githubHistorySchema.d.ts +114 -0
  66. package/dist/toolContract/input/resources/tools/githubRepositoriesOperation.d.ts +54 -0
  67. package/dist/toolContract/input/resources/tools/githubTreeOperation.d.ts +26 -0
  68. package/dist/toolContract/input/resources/tools/historyCommitInput.d.ts +21 -0
  69. package/dist/toolContract/input/resources/tools/historyIssueInput.d.ts +59 -0
  70. package/dist/toolContract/input/resources/tools/historyPullRequestInput.d.ts +98 -0
  71. package/dist/toolContract/input/resources/tools/localAnalyzeGraph.d.ts +75 -0
  72. package/dist/toolContract/input/resources/tools/localFilesOperation.d.ts +70 -0
  73. package/dist/toolContract/input/resources/tools/localGetFileContent.d.ts +22 -0
  74. package/dist/toolContract/input/resources/tools/localSearch.d.ts +258 -0
  75. package/dist/toolContract/input/resources/tools/localTextOperation.d.ts +113 -0
  76. package/dist/toolContract/input/resources/tools/localTreeOperation.d.ts +44 -0
  77. package/dist/toolContract/input/resources/tools/lspGetSemantics.d.ts +37 -0
  78. package/dist/toolContract/input/resources/tools/npmSearch.d.ts +10 -0
  79. package/dist/toolContract/input/types/index.d.ts +24 -0
  80. package/dist/toolContract/metadata.d.ts +11 -0
  81. package/dist/toolContract/runtime.d.ts +11 -0
  82. package/dist/toolContract/schemas.d.ts +31 -0
  83. package/dist/toolContract/types.d.ts +11 -0
  84. package/dist/tools/directToolCatalog/toolCatalogDefinitions.d.ts +6 -16
  85. package/dist/tools/directToolCatalog/toolCatalogFormatters.d.ts +1 -1
  86. package/dist/tools/directToolCatalog/toolCommandPatternUnifiedSearchQueries.d.ts +6 -0
  87. package/dist/tools/directToolCatalog/toolInputPreparation.d.ts +2 -2
  88. package/dist/tools/directToolCatalog/toolSchemaIntrospection.d.ts +10 -0
  89. package/dist/tools/directToolCatalog/toolSchemaRelations.d.ts +9 -0
  90. package/dist/tools/directToolCatalog/toolSpecifications.d.ts +13 -0
  91. package/dist/tools/directToolCatalog.exec.d.ts +1 -1
  92. package/dist/tools/directToolCatalog.meta.d.ts +1 -0
  93. package/dist/tools/executionGuard.d.ts +1 -2
  94. package/dist/tools/github_clone_repo/cache.d.ts +1 -2
  95. package/dist/tools/github_clone_repo/cacheArtifacts.d.ts +3 -0
  96. package/dist/tools/github_clone_repo/cachePaths.d.ts +1 -1
  97. package/dist/tools/github_clone_repo/cloneRepo.d.ts +1 -1
  98. package/dist/tools/github_clone_repo/execution.d.ts +1 -1
  99. package/dist/tools/github_clone_repo/scheme.d.ts +24 -24
  100. package/dist/tools/github_fetch_content/execution.d.ts +1 -1
  101. package/dist/tools/github_fetch_content/finalizer/types.d.ts +19 -16
  102. package/dist/tools/github_fetch_content/scheme.d.ts +19 -16
  103. package/dist/tools/github_fetch_content/types.d.ts +4 -3
  104. package/dist/tools/github_search/execution.d.ts +4 -0
  105. package/dist/tools/github_search/finalizer.d.ts +3 -0
  106. package/dist/tools/github_search/scheme.d.ts +79 -0
  107. package/dist/tools/github_search_code/execution.d.ts +4 -2
  108. package/dist/tools/github_search_code/finalizer/groups.d.ts +3 -3
  109. package/dist/tools/github_search_code/finalizer/ranking.d.ts +1 -2
  110. package/dist/tools/github_search_code/scheme.d.ts +10 -16
  111. package/dist/tools/github_search_pull_requests/contentRequest.d.ts +1 -4
  112. package/dist/tools/github_search_pull_requests/contentResponse/commentsShaping.d.ts +8 -4
  113. package/dist/tools/github_search_pull_requests/contentResponse/fileSurfaces.d.ts +13 -10
  114. package/dist/tools/github_search_pull_requests/contentResponse/nextCalls.d.ts +3 -2
  115. package/dist/tools/github_search_pull_requests/contentResponse/pagination.d.ts +10 -3
  116. package/dist/tools/github_search_pull_requests/execution/commitsMode.d.ts +2 -2
  117. package/dist/tools/github_search_pull_requests/execution/issuesMode.d.ts +2 -2
  118. package/dist/tools/github_search_pull_requests/execution/pullRequestsMode.d.ts +1 -1
  119. package/dist/tools/github_search_pull_requests/execution.d.ts +1 -1
  120. package/dist/tools/github_search_pull_requests/historyContinuations.d.ts +15 -0
  121. package/dist/tools/github_search_pull_requests/historyExecutions.d.ts +6 -0
  122. package/dist/tools/github_search_pull_requests/historyPartialContinuations.d.ts +5 -0
  123. package/dist/tools/github_search_pull_requests/historySchemes.d.ts +58 -0
  124. package/dist/tools/github_search_pull_requests/historySearchPagination.d.ts +3 -0
  125. package/dist/tools/github_search_pull_requests/scheme.d.ts +14 -30
  126. package/dist/tools/github_search_pull_requests/splitExecutions.d.ts +1 -2
  127. package/dist/tools/github_search_pull_requests/splitSchemes.d.ts +197 -181
  128. package/dist/tools/github_search_repos/execution/pagination.d.ts +4 -4
  129. package/dist/tools/github_search_repos/execution/queryVariants.d.ts +3 -1
  130. package/dist/tools/github_search_repos/execution.d.ts +3 -1
  131. package/dist/tools/github_search_repos/scheme.d.ts +5 -7
  132. package/dist/tools/github_view_repo_structure/execution.d.ts +4 -2
  133. package/dist/tools/github_view_repo_structure/scheme.d.ts +2 -4
  134. package/dist/tools/github_view_repo_structure/types.d.ts +3 -0
  135. package/dist/tools/local_analyze_graph/analysisTypes.d.ts +46 -0
  136. package/dist/tools/local_analyze_graph/analyzeGraph.d.ts +3 -0
  137. package/dist/tools/{local_dead_code → local_analyze_graph}/deadCodeScan.d.ts +2 -1
  138. package/dist/tools/{local_dead_code → local_analyze_graph}/entrypoints.d.ts +1 -0
  139. package/dist/tools/local_analyze_graph/execution.d.ts +4 -0
  140. package/dist/tools/local_analyze_graph/pagination.d.ts +3 -0
  141. package/dist/tools/{local_dead_code → local_analyze_graph}/retention.d.ts +1 -1
  142. package/dist/tools/{local_dead_code → local_analyze_graph}/scheme.d.ts +31 -15
  143. package/dist/tools/local_fetch_content/execution.d.ts +1 -1
  144. package/dist/tools/local_fetch_content/scheme.d.ts +2 -4
  145. package/dist/tools/local_find_files/execution.d.ts +1 -1
  146. package/dist/tools/local_find_files/findFiles.d.ts +1 -1
  147. package/dist/tools/local_find_files/findFilesNext.d.ts +3 -3
  148. package/dist/tools/local_find_files/scheme.d.ts +6 -2
  149. package/dist/tools/local_ripgrep/captureBudget.d.ts +1 -0
  150. package/dist/tools/local_ripgrep/execution.d.ts +1 -1
  151. package/dist/tools/local_ripgrep/rankingProfile/rankingLexical.d.ts +20 -0
  152. package/dist/tools/local_ripgrep/rankingProfile/rankingResults.d.ts +1 -18
  153. package/dist/tools/local_ripgrep/rankingProfile.d.ts +5 -4
  154. package/dist/tools/local_ripgrep/ripgrepResultBuilder/searchNext.d.ts +4 -1
  155. package/dist/tools/local_ripgrep/scheme.d.ts +9 -7
  156. package/dist/tools/local_ripgrep/structuralSearch.d.ts +1 -1
  157. package/dist/tools/local_search/execution.d.ts +5 -0
  158. package/dist/tools/local_search/scheme.d.ts +260 -0
  159. package/dist/tools/local_view_structure/execution.d.ts +1 -1
  160. package/dist/tools/local_view_structure/scheme.d.ts +8 -5
  161. package/dist/tools/local_view_structure/viewStructureNext.d.ts +3 -3
  162. package/dist/tools/lsp/semantic_content/execution.d.ts +1 -1
  163. package/dist/tools/lsp/semantic_content/scheme.d.ts +4 -42
  164. package/dist/tools/lsp/semantic_content/semanticEnvelopes/envelopeHelpers.d.ts +1 -1
  165. package/dist/tools/lsp/semantic_content/semanticFileOps/anchor.d.ts +1 -1
  166. package/dist/tools/lsp/semantic_content/semanticPresentation.d.ts +0 -1
  167. package/dist/tools/lsp/shared/semanticTypes.d.ts +6 -3
  168. package/dist/tools/package_search/execution.d.ts +6 -13
  169. package/dist/tools/package_search/pagination.d.ts +21 -0
  170. package/dist/tools/package_search/queryHelpers.d.ts +3 -5
  171. package/dist/tools/package_search/scheme.d.ts +12 -7
  172. package/dist/tools/providerExecution.d.ts +3 -4
  173. package/dist/tools/providerMappers/codeSearch.d.ts +3 -4
  174. package/dist/tools/providerMappers/fileContent.d.ts +1 -2
  175. package/dist/tools/providerMappers/pullRequests.d.ts +6 -6
  176. package/dist/tools/providerMappers/repoSearch.d.ts +7 -4
  177. package/dist/tools/providerMappers/repoStructure.d.ts +2 -3
  178. package/dist/tools/toolCatalogFactory.d.ts +5 -6
  179. package/dist/tools/toolConfig.d.ts +6 -17
  180. package/dist/tools/toolMetadata/baseSchema.d.ts +1 -2
  181. package/dist/tools/toolMetadata/descriptions.d.ts +1 -1
  182. package/dist/tools/toolMetadata/names.d.ts +18 -2
  183. package/dist/tools/toolMetadata/state.d.ts +3 -3
  184. package/dist/tools/toolMetadata/types.d.ts +1 -1
  185. package/dist/tools/toolNames.d.ts +16 -3
  186. package/dist/tools/toolSchemaImports.d.ts +5 -4
  187. package/dist/tools/utils.d.ts +3 -6
  188. package/dist/types/bulk.d.ts +11 -1
  189. package/dist/types/execution.d.ts +6 -1
  190. package/dist/types/server.d.ts +0 -2
  191. package/dist/types/toolOutput.d.ts +10 -9
  192. package/dist/types/toolResults.d.ts +17 -1
  193. package/dist/utils/contextUtils.d.ts +4 -2
  194. package/dist/utils/file/toolHelpers.d.ts +1 -1
  195. package/dist/utils/http/cache/conditional.d.ts +9 -4
  196. package/dist/utils/http/cache/dataCache.d.ts +7 -2
  197. package/dist/utils/http/cache/diskStore.d.ts +30 -0
  198. package/dist/utils/http/cache/management.d.ts +5 -0
  199. package/dist/utils/http/cache/store.d.ts +1 -0
  200. package/dist/utils/http/cache/trace.d.ts +10 -0
  201. package/dist/utils/http/cache.d.ts +1 -0
  202. package/dist/utils/package/types.d.ts +5 -2
  203. package/dist/utils/pagination/charLimit.d.ts +0 -2
  204. package/dist/utils/response/bulk/pagination.d.ts +2 -1
  205. package/dist/utils/response/bulk/paginationDiagnostics.d.ts +2 -0
  206. package/dist/utils/response/bulk/queries.d.ts +0 -9
  207. package/dist/utils/response/bulk/response.d.ts +3 -2
  208. package/dist/utils/response/bulk.d.ts +1 -1
  209. package/dist/utils/response/callToolResult.d.ts +1 -1
  210. package/dist/utils/response/error.d.ts +3 -4
  211. package/dist/utils/response/groupedFinalizer.d.ts +2 -6
  212. package/dist/utils/response/normalizedError.d.ts +6 -0
  213. package/dist/utils/response/responseChannels.d.ts +4 -0
  214. package/package.json +11 -10
  215. package/dist/github/discussions.d.ts +0 -45
  216. package/dist/github/releases.d.ts +0 -45
  217. package/dist/scheme/responseEnvelope.d.ts +0 -88
  218. package/dist/tools/github_search_discussions/execution.d.ts +0 -15
  219. package/dist/tools/github_search_discussions/scheme.d.ts +0 -16
  220. package/dist/tools/github_search_pull_requests/execution/releasesMode.d.ts +0 -4
  221. package/dist/tools/local_dead_code/execution.d.ts +0 -4
  222. package/dist/tools/local_dead_code/local_dead_code.d.ts +0 -5
  223. package/dist/tools/local_find_files/pathPatternBraces.d.ts +0 -20
  224. package/dist/tools/toolMetadata/gateway.d.ts +0 -7
@@ -1,4 +1,4 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  export declare function hashGitHubToken(token: string): string;
3
3
  /**
4
4
  * Auth segment for GitHub API cache keys. Distinct tokens (and Enterprise
@@ -1,9 +1,9 @@
1
1
  import type { GitHubAPIResponse, OptimizedCodeSearchResult } from './githubAPI.js';
2
2
  import type { z } from 'zod';
3
- import type { GitHubCodeSearchQuerySchema } from '@octocodeai/octocode-core/schemas';
3
+ import type { GitHubCodeSearchQuerySchema } from '../toolContract/schemas.js';
4
4
  type GitHubCodeSearchQuery = z.infer<typeof GitHubCodeSearchQuerySchema>;
5
5
  import type { WithOptionalMeta } from '../types/execution.js';
6
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
6
+ import { AuthInfo } from '@modelcontextprotocol/server';
7
7
  import { recomputeMatchPositions } from './codeSearch/matchPositions.js';
8
8
  export { recomputeMatchPositions };
9
9
  export declare function searchGitHubCodeAPI(params: WithOptionalMeta<GitHubCodeSearchQuery>, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<OptimizedCodeSearchResult>>;
@@ -0,0 +1,48 @@
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
+ import type { GitHubAPIResponse, HistoryCommitFile } from './githubAPI.js';
3
+ export interface ExactCommitResult {
4
+ type: 'commit';
5
+ owner: string;
6
+ repo: string;
7
+ ref: string;
8
+ sha: string;
9
+ message: string;
10
+ messageHeadline: string;
11
+ author: {
12
+ name: string;
13
+ email: string;
14
+ login?: string;
15
+ date?: string;
16
+ };
17
+ committer?: {
18
+ name: string;
19
+ email: string;
20
+ login?: string;
21
+ date?: string;
22
+ };
23
+ parents: string[];
24
+ additions?: number;
25
+ deletions?: number;
26
+ changedFiles: number;
27
+ files?: HistoryCommitFile[];
28
+ filesPagination?: {
29
+ currentPage: number;
30
+ totalPages: number;
31
+ itemsPerPage: number;
32
+ totalFiles: number;
33
+ hasMore: boolean;
34
+ nextFilePage?: number;
35
+ };
36
+ }
37
+ /** Retrieve one commit exactly by SHA/ref, optionally with paged/windowed diffs. */
38
+ export declare function fetchCommit(params: {
39
+ owner: string;
40
+ repo: string;
41
+ ref: string;
42
+ includeDiff?: boolean;
43
+ path?: string;
44
+ filePage?: number;
45
+ itemsPerPage?: number;
46
+ charOffset?: number;
47
+ charLength?: number;
48
+ }, authInfo?: AuthInfo): Promise<GitHubAPIResponse<ExactCommitResult>>;
@@ -1,4 +1,4 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { GitHubAPIResponse, HistoryCommitFile } from './githubAPI.js';
3
3
  export type CompareResult = {
4
4
  type: 'compare';
@@ -32,7 +32,7 @@ export type CompareResult = {
32
32
  };
33
33
  };
34
34
  /**
35
- * Compare mode of ghSearchCommits: diff two refs (base...head) via GitHub's
35
+ * Exact history comparison: diff two refs (base...head) via GitHub's
36
36
  * compare endpoint. Returns ahead/behind counts, the commits between them, and
37
37
  * a lean changed-file count (or full diffs when includeDiff is set).
38
38
  */
@@ -1,3 +1,3 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { DirectoryFetchResult } from '../../tools/github_fetch_content/types.js';
3
3
  export declare function fetchDirectoryContents(owner: string, repo: string, path: string, branch: string, authInfo?: AuthInfo, forceRefresh?: boolean): Promise<DirectoryFetchResult>;
@@ -1,3 +1,3 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { FileMaterializationResult } from '../../tools/github_fetch_content/types.js';
3
3
  export declare function fetchFileContentToDisk(owner: string, repo: string, path: string, branch: string, authInfo?: AuthInfo, forceRefresh?: boolean): Promise<FileMaterializationResult>;
@@ -0,0 +1,6 @@
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
+ export interface MaterializationRef {
3
+ commitSha: string;
4
+ resolvedRef: string;
5
+ }
6
+ export declare function resolveMaterializationRef(owner: string, repo: string, ref: string, authInfo?: AuthInfo, forceRefresh?: boolean): Promise<MaterializationRef>;
@@ -1,4 +1,4 @@
1
1
  import type { GitHubAPIResponse } from './githubAPI.js';
2
2
  import type { FileContentExecutionQuery, GitHubFileContentApiResult } from '../tools/github_fetch_content/types.js';
3
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
+ import { AuthInfo } from '@modelcontextprotocol/server';
4
4
  export declare function fetchGitHubFileContentAPI(params: FileContentExecutionQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<GitHubFileContentApiResult>>;
@@ -1,8 +1,8 @@
1
1
  import type { GitHubAPIResponse } from '../githubAPI.js';
2
2
  import type { z } from 'zod';
3
- import type { FileContentQuerySchema } from '@octocodeai/octocode-core/schemas';
3
+ import type { FileContentQuerySchema } from '../../toolContract/schemas.js';
4
4
  type FileContentQuery = z.infer<typeof FileContentQuerySchema>;
5
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
5
+ import { AuthInfo } from '@modelcontextprotocol/server';
6
6
  export interface RawContentResult {
7
7
  rawContent: string;
8
8
  branch?: string;
@@ -234,7 +234,7 @@ export interface GitHubPullRequestsSearchParams {
234
234
  closed?: string;
235
235
  comments?: number | string;
236
236
  reactions?: number | string;
237
- label?: string | string[];
237
+ label?: string[];
238
238
  milestone?: string;
239
239
  language?: string;
240
240
  checks?: 'pending' | 'success' | 'failure';
@@ -254,7 +254,6 @@ export interface GitHubPullRequestsSearchParams {
254
254
  charOffset?: number;
255
255
  charLength?: number;
256
256
  content?: unknown;
257
- reviewMode?: 'summary' | 'full';
258
257
  filePage?: number;
259
258
  commentPage?: number;
260
259
  commitPage?: number;
@@ -35,5 +35,10 @@ export declare function shapeCommitDirFiles(rawFiles: ReadonlyArray<{
35
35
  totalFiles: number;
36
36
  hasMore: boolean;
37
37
  nextFilePage?: number;
38
+ terminalLimit?: boolean;
39
+ continuationUnavailable?: {
40
+ reason: 'schemaPageLimit';
41
+ maxPage: number;
42
+ };
38
43
  };
39
44
  };
@@ -1,4 +1,4 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { GitHubAPIResponse, HistoryResult } from './githubAPI.js';
3
3
  /** GitHub REST pagination: a `rel="next"` Link header means more pages exist. */
4
4
  export declare function parseHasMore(linkHeader: string | undefined): boolean;
@@ -1,4 +1,4 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { GitHubAPIResponse } from '../githubAPI.js';
3
3
  import { type IssueSearchParams } from '../queryBuilders.js';
4
4
  import type { FetchIssuesParams, IssuesResult } from './types.js';
@@ -1,4 +1,4 @@
1
- import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
1
+ import type { AuthInfo } from '@modelcontextprotocol/server';
2
2
  import type { GitHubAPIResponse } from '../githubAPI.js';
3
3
  import type { FetchIssuesParams, IssuesResult } from './types.js';
4
4
  export declare function fetchIssues(params: FetchIssuesParams, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<IssuesResult>>;
@@ -32,6 +32,11 @@ export type IssueRow = {
32
32
  totalComments: number;
33
33
  hasMore: boolean;
34
34
  nextCommentPage?: number;
35
+ terminalLimit?: boolean;
36
+ continuationUnavailable?: {
37
+ reason: 'schemaPageLimit';
38
+ maxPage: number;
39
+ };
35
40
  };
36
41
  };
37
42
  };
@@ -1,5 +1,5 @@
1
1
  import type { GitHubPullRequestsSearchParams } from './githubAPI.js';
2
2
  import type { GitHubPullRequestSearchApiResult } from '../tools/github_search_pull_requests/types.js';
3
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
+ import { AuthInfo } from '@modelcontextprotocol/server';
4
4
  export declare function fetchGitHubPullRequestByNumberAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubPullRequestSearchApiResult>;
5
5
  export declare function fetchGitHubPullRequestByNumberAPIInternal(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo): Promise<GitHubPullRequestSearchApiResult>;
@@ -1,5 +1,5 @@
1
1
  import { GitHubPullRequestsSearchParams, CommitInfo, DiffEntry, CommitFileInfo } from '../githubAPI.js';
2
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
2
+ import { AuthInfo } from '@modelcontextprotocol/server';
3
3
  export declare function fetchAllPaginated<T>(fetchPage: (page: number) => Promise<{
4
4
  data: T[];
5
5
  }>): Promise<{
@@ -1,5 +1,5 @@
1
1
  import { GitHubPullRequestsSearchParams, GitHubPullRequestItem, IssueSearchResultItem, PullRequestSimple, PullRequestItem } from '../githubAPI.js';
2
2
  import { OctokitWithThrottling } from '../client.js';
3
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
+ import { AuthInfo } from '@modelcontextprotocol/server';
4
4
  export declare function transformPullRequestItemFromSearch(item: IssueSearchResultItem, params: GitHubPullRequestsSearchParams, octokit: InstanceType<typeof OctokitWithThrottling>): Promise<GitHubPullRequestItem>;
5
5
  export declare function transformPullRequestItemFromREST(item: PullRequestSimple | PullRequestItem, params: GitHubPullRequestsSearchParams, octokit: InstanceType<typeof OctokitWithThrottling>, authInfo?: AuthInfo): Promise<GitHubPullRequestItem>;
@@ -1,5 +1,5 @@
1
1
  import type { GitHubPullRequestsSearchParams } from './githubAPI.js';
2
2
  import type { GitHubPullRequestSearchApiResult } from '../tools/github_search_pull_requests/types.js';
3
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
+ import { AuthInfo } from '@modelcontextprotocol/server';
4
4
  export declare function buildPullRequestSearchCacheKey(params: GitHubPullRequestsSearchParams, sessionId?: string, authFingerprint?: string): string;
5
5
  export declare function searchGitHubPullRequestsAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubPullRequestSearchApiResult>;
@@ -1,5 +1,5 @@
1
1
  import type { z } from 'zod';
2
- import type { GitHubCodeSearchQuerySchema, GitHubReposSearchSingleQuerySchema } from '@octocodeai/octocode-core/schemas';
2
+ import type { GitHubCodeSearchQuerySchema, GitHubReposSearchSingleQuerySchema } from '../../toolContract/schemas.js';
3
3
  type GitHubCodeSearchQuery = z.infer<typeof GitHubCodeSearchQuerySchema>;
4
4
  type GitHubReposSearchSingleQuery = z.infer<typeof GitHubReposSearchSingleQuerySchema>;
5
5
  import type { WithOptionalMeta } from '../../types/execution.js';
@@ -1,10 +1,10 @@
1
1
  import type { GitHubAPIResponse } from './githubAPI.js';
2
2
  import type { z } from 'zod';
3
- import type { GitHubReposSearchSingleQuerySchema } from '@octocodeai/octocode-core/schemas';
3
+ import type { GitHubReposSearchSingleQuerySchema } from '../toolContract/schemas.js';
4
4
  import type { GitHubRepositoryOutput } from '@octocodeai/octocode-core/extra-types';
5
5
  type GitHubReposSearchSingleQuery = z.infer<typeof GitHubReposSearchSingleQuerySchema>;
6
6
  import type { WithOptionalMeta } from '../types/execution.js';
7
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
7
+ import { AuthInfo } from '@modelcontextprotocol/server';
8
8
  interface RepoSearchPagination {
9
9
  currentPage: number;
10
10
  totalPages: number;
@@ -1,5 +1,5 @@
1
1
  import type { Octokit } from 'octokit';
2
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
2
+ import { AuthInfo } from '@modelcontextprotocol/server';
3
3
  import type { GitHubApiFileItem, GitHubRepositoryStructureError } from '../../tools/github_view_repo_structure/types.js';
4
4
  export interface ContentResolution {
5
5
  data: unknown;
@@ -1,6 +1,6 @@
1
1
  import type { z } from 'zod';
2
- import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
- import type { GitHubViewRepoStructureQuerySchema } from '@octocodeai/octocode-core/schemas';
2
+ import { AuthInfo } from '@modelcontextprotocol/server';
3
+ import type { GitHubViewRepoStructureQuerySchema } from '../../toolContract/schemas.js';
4
4
  type GitHubViewRepoStructureQuery = z.infer<typeof GitHubViewRepoStructureQuerySchema>;
5
5
  import type { GitHubRepositoryStructureResult, GitHubRepositoryStructureError } from '../../tools/github_view_repo_structure/types.js';
6
6
  export declare function viewGitHubRepositoryStructureAPI(params: GitHubViewRepoStructureQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubRepositoryStructureResult | GitHubRepositoryStructureError>;
@@ -1,5 +1,5 @@
1
1
  import type { z } from 'zod';
2
- import type { GitHubViewRepoStructureQuerySchema } from '@octocodeai/octocode-core/schemas';
2
+ import type { GitHubViewRepoStructureQuerySchema } from '../toolContract/schemas.js';
3
3
  type GitHubViewRepoStructureQuery = z.infer<typeof GitHubViewRepoStructureQuerySchema>;
4
4
  import type { GitHubRepositoryStructureResult } from '../tools/github_view_repo_structure/types.js';
5
5
  export declare function applyStructurePagination(cachedResult: GitHubRepositoryStructureResult, params: GitHubViewRepoStructureQuery): GitHubRepositoryStructureResult;
@@ -0,0 +1,22 @@
1
+ import type { FileGraphEdgeKind, FileNode } from './types.js';
2
+ /** Remove edges that exist only for erased type imports. */
3
+ export declare function withoutTypeOnlyEdges(graph: ReadonlyMap<string, FileNode>): Map<string, FileNode>;
4
+ export interface CondensedGraph {
5
+ components: string[][];
6
+ componentOf: Map<string, number>;
7
+ edges: Map<number, Set<number>>;
8
+ reverseEdges: Map<number, Set<number>>;
9
+ layers: number[][];
10
+ }
11
+ /** Condense every SCC (including acyclic singletons) into a deterministic DAG. */
12
+ export declare function condenseGraph(graph: ReadonlyMap<string, FileNode>): CondensedGraph;
13
+ /** Edges removable from a DAG without changing reachability. */
14
+ export declare function findTransitiveEdges(edges: ReadonlyMap<number, ReadonlySet<number>>): Set<string>;
15
+ /** Classic iterative dominator sets for nodes reachable from one source. */
16
+ export declare function computeImmediateDominators(graph: ReadonlyMap<string, FileNode>, source: string): Map<string, string | null>;
17
+ /** Dijkstra primitive for future callers that can supply defensible costs. */
18
+ export declare function findWeightedShortestPath(graph: ReadonlyMap<string, FileNode>, source: string, target: string, edgeCost: (from: string, to: string, kinds: ReadonlySet<FileGraphEdgeKind>) => number): {
19
+ found: boolean;
20
+ files: string[];
21
+ cost?: number;
22
+ };
@@ -1,5 +1,7 @@
1
1
  import type { FileFacts, FileNode } from './types.js';
2
2
  export declare const DEFAULT_DEAD_CODE_EXCLUDE_DIRS: string[];
3
+ /** Keep generated/vendor defaults while allowing callers to add repo-specific exclusions. */
4
+ export declare function resolveGraphExcludeDirs(custom: readonly string[] | undefined): string[];
3
5
  export interface WalkResult {
4
6
  facts: Map<string, FileFacts>;
5
7
  fileGraph: Map<string, FileNode>;
@@ -35,9 +37,8 @@ export interface WalkResult {
35
37
  starReexporters: Map<string, string[]>;
36
38
  }
37
39
  /**
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.
40
+ * Scan every graph-fact-capable file under `rootAbsolutePath` in one native
41
+ * worker-pool operation, then resolve import specifiers into a file-level graph.
42
+ * Cross-file policy stays here; filesystem I/O and parsing stay in Rust.
42
43
  */
43
- export declare function buildFileGraph(rootAbsolutePath: string, excludeDir: string[], maxFiles: number): WalkResult;
44
+ export declare function buildFileGraph(rootAbsolutePath: string, excludeDir: string[], maxFiles: number): Promise<WalkResult>;
@@ -0,0 +1,12 @@
1
+ import type { FileNode } from './types.js';
2
+ export interface DirectedFileEdge {
3
+ from: string;
4
+ to: string;
5
+ }
6
+ export interface DetailedFileEdge extends DirectedFileEdge {
7
+ edgeKinds: string[];
8
+ }
9
+ /** Return one deterministic directed cycle contained entirely in `members`. */
10
+ export declare function findCycleWitness(graph: ReadonlyMap<string, FileNode>, members: ReadonlySet<string>): DirectedFileEdge[];
11
+ export declare function describeCycleWitness(graph: ReadonlyMap<string, FileNode>, members: ReadonlySet<string>): DetailedFileEdge[];
12
+ export declare function componentLayerMap(layers: readonly (readonly number[])[]): Map<number, number>;
@@ -3,4 +3,4 @@
3
3
  * `knownFiles`, or `null` when it's external/bare or doesn't resolve within
4
4
  * the scanned set (dangling import, or a target outside the scan scope).
5
5
  */
6
- export declare function resolveImportSpecifier(specifier: string, importingFileRelativePath: string, knownFiles: ReadonlySet<string>): string | null;
6
+ export declare function resolveImportSpecifier(specifier: string, importingFileRelativePath: string, knownFiles: ReadonlySet<string>, workspacePackageExports?: ReadonlyMap<string, string>): string | null;
@@ -0,0 +1,7 @@
1
+ import type { FileGraphEdgeKind, FileNode } from './types.js';
2
+ export declare function normalizeGraphFile(file: string): string;
3
+ export declare function getFileEdgeKinds(node: FileNode | undefined, target: string): FileGraphEdgeKind[];
4
+ export declare function collectGraphEdgeKinds(graph: ReadonlyMap<string, FileNode>, files: readonly string[]): FileGraphEdgeKind[];
5
+ export declare function traverseGraph(graph: ReadonlyMap<string, FileNode>, source: string, depth: number): Array<Record<string, unknown>>;
6
+ export declare function reverseGraph(graph: ReadonlyMap<string, FileNode>): Map<string, FileNode>;
7
+ export declare function findShortestPath(graph: ReadonlyMap<string, FileNode>, source: string, target: string): Record<string, unknown>;
@@ -1,5 +1,5 @@
1
1
  import type { FileNode } from './types.js';
2
- /** BFS from every entrypoint across the directed file-import graph. */
2
+ /** Iterative DFS from every entrypoint across the shared directed file-import graph. */
3
3
  export declare function computeReachableFiles(fileGraph: ReadonlyMap<string, FileNode>, entrypoints: readonly string[]): Set<string>;
4
4
  export interface StronglyConnectedComponent {
5
5
  files: string[];
@@ -10,6 +10,14 @@ export interface ImportFact {
10
10
  localName: string;
11
11
  importedName: string;
12
12
  line: number;
13
+ /** Native syntax classification; `type` edges do not exist at runtime. */
14
+ importKind: 'type' | 'value';
15
+ /**
16
+ * Canonical target resolved during graph construction with the complete
17
+ * workspace package-export map. `null` means the specifier is external or
18
+ * unsupported by the bounded resolver.
19
+ */
20
+ resolvedTarget: string | null;
13
21
  }
14
22
  export interface CallEdgeFact {
15
23
  caller: string;
@@ -53,4 +61,7 @@ export interface FileNode {
53
61
  * with the same certainty as a statically-proven path.
54
62
  */
55
63
  dynamicImportsFiles: Set<string>;
64
+ /** Exact syntactic provenance for every resolved file edge. */
65
+ edgeKinds: Map<string, Set<FileGraphEdgeKind>>;
56
66
  }
67
+ export type FileGraphEdgeKind = 'static-import' | 'type-import' | 'dynamic-import' | 'named-reexport' | 'star-reexport';
@@ -0,0 +1,2 @@
1
+ /** Resolve only exact package exports declared by manifests in this scan. */
2
+ export declare function buildWorkspacePackageExports(rootAbsolutePath: string, knownFiles: ReadonlySet<string>): Map<string, string>;
package/dist/index.d.ts CHANGED
@@ -35,8 +35,8 @@ export * from './providers/github/utils.js';
35
35
  export * from './providers/providerQueries.js';
36
36
  export * from './responses.js';
37
37
  export * from './scheme/fields.js';
38
- export * from './scheme/responseEnvelope.js';
39
38
  export * from './serverConfig.js';
39
+ export * from './cacheMaintenance.js';
40
40
  export * from './session.js';
41
41
  export * from './tools/executionGuard.js';
42
42
  export * from './tools/github_clone_repo/cache.js';
@@ -48,9 +48,8 @@ export * from './tools/github_fetch_content/execution.js';
48
48
  export * from './tools/github_fetch_content/finalizer.js';
49
49
  export * from './tools/github_fetch_content/scheme.js';
50
50
  export * from './tools/github_fetch_content/types.js';
51
- export * from './tools/github_search_code/execution.js';
52
- export * from './tools/github_search_code/finalizer.js';
53
- export * from './tools/github_search_code/scheme.js';
51
+ export * from './tools/github_search/execution.js';
52
+ export * from './tools/github_search/scheme.js';
54
53
  export * from './tools/github_search_pull_requests/contentRequest.js';
55
54
  export * from './tools/github_search_pull_requests/contentResponse.js';
56
55
  export * from './tools/github_search_pull_requests/execution.js';
@@ -58,34 +57,14 @@ export * from './tools/github_search_pull_requests/scheme.js';
58
57
  export * from './tools/github_search_pull_requests/splitSchemes.js';
59
58
  export * from './tools/github_search_pull_requests/splitExecutions.js';
60
59
  export * from './tools/github_search_pull_requests/types.js';
61
- export * from './tools/github_search_discussions/scheme.js';
62
- export * from './tools/github_search_discussions/execution.js';
63
- export * from './tools/github_search_repos/execution.js';
64
- export * from './tools/github_search_repos/scheme.js';
65
- export * from './tools/github_view_repo_structure/constants.js';
66
- export * from './tools/github_view_repo_structure/execution.js';
67
- export * from './tools/github_view_repo_structure/scheme.js';
68
- export * from './tools/github_view_repo_structure/types.js';
69
60
  export * from './tools/local_fetch_content/contentExtractor.js';
70
61
  export * from './tools/local_fetch_content/execution.js';
71
62
  export * from './tools/local_fetch_content/fetchContent.js';
72
63
  export * from './tools/local_fetch_content/scheme.js';
73
- export * from './tools/local_find_files/execution.js';
74
- export * from './tools/local_find_files/findFiles.js';
75
- export * from './tools/local_find_files/scheme.js';
76
- export * from './tools/local_dead_code/execution.js';
77
- export * from './tools/local_dead_code/local_dead_code.js';
78
- export * from './tools/local_dead_code/scheme.js';
79
- export * from './tools/local_ripgrep/execution.js';
80
- export * from './tools/local_ripgrep/patternValidation.js';
81
- export * from './tools/local_ripgrep/ripgrepExecutor.js';
82
- export * from './tools/local_ripgrep/ripgrepResultBuilder.js';
83
- export * from './tools/local_ripgrep/scheme.js';
84
- export * from './tools/local_ripgrep/searchContentRipgrep.js';
85
- export * from './tools/local_view_structure/execution.js';
86
- export * from './tools/local_view_structure/local_view_structure.js';
87
- export * from './tools/local_view_structure/scheme.js';
88
- export * from './tools/local_view_structure/structureFilters.js';
64
+ export * from './tools/local_analyze_graph/execution.js';
65
+ export * from './tools/local_analyze_graph/scheme.js';
66
+ export * from './tools/local_search/execution.js';
67
+ export * from './tools/local_search/scheme.js';
89
68
  export * from './tools/lsp/semantic_content/execution.js';
90
69
  export * from './tools/lsp/semantic_content/index.js';
91
70
  export * from './tools/lsp/semantic_content/scheme.js';
@@ -97,9 +76,9 @@ export * from './tools/package_search/scheme.js';
97
76
  export * from './tools/providerExecution.js';
98
77
  export * from './tools/providerMappers.js';
99
78
  export * from './tools/toolConfig.js';
79
+ export type { ToolConfig, ToolDirectExecutionConfig, ToolDirectSecurity, } from './tools/toolCatalogFactory.js';
100
80
  export * from './tools/toolMetadata/baseSchema.js';
101
81
  export * from './tools/toolMetadata/descriptions.js';
102
- export * from './tools/toolMetadata/gateway.js';
103
82
  export * from './tools/toolMetadata/metadataPresence.js';
104
83
  export * from './tools/toolMetadata/names.js';
105
84
  export * from './tools/toolMetadata/proxies.js';
@@ -145,6 +124,7 @@ export * from './utils/parsers/diff.js';
145
124
  export * from './utils/parsers/schemas.js';
146
125
  export * from './utils/response/bulk.js';
147
126
  export * from './utils/response/callToolResult.js';
127
+ export * from './utils/response/normalizedError.js';
148
128
  export * from './utils/response/charSavings.js';
149
129
  export * from './utils/response/error.js';
150
130
  export * from './utils/response/groupedFinalizer.js';
@@ -169,5 +149,6 @@ export { SESSION_FILE, STATS_FILE, getSessionId, getOrCreateSession, updateSessi
169
149
  export { OctocodeConfigSchema } from './shared/config/schemas.js';
170
150
  export { OCTOCODE_HOME, getDefaultOctocodeHome, getOctocodeDir, paths, ensureHome, ensureTmp, ensureClone, ensureRepos, ensureTree, } from './shared/paths.js';
171
151
  export { getDirectorySizeBytes, formatBytes } from './shared/fs-utils.js';
172
- export { completeMetadata } from '@octocodeai/octocode-core';
152
+ export { localCompleteMetadata as completeMetadata } from './toolContract/metadata.js';
153
+ export type { LocalCompleteMetadata as CompleteMetadata } from './toolContract/types.js';
173
154
  export { z } from 'zod';