@octocodeai/octocode-tools-core 17.0.2 → 18.1.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 (220) hide show
  1. package/README.md +266 -123
  2. package/dist/direct.d.ts +1 -1
  3. package/dist/direct.js +51 -36
  4. package/dist/github/canonicalRepo.d.ts +14 -0
  5. package/dist/github/codeSearch/matchPositions.d.ts +11 -0
  6. package/dist/github/codeSearch.d.ts +2 -1
  7. package/dist/github/compare.d.ts +51 -0
  8. package/dist/github/dateWindow.d.ts +4 -0
  9. package/dist/github/discussions.d.ts +45 -0
  10. package/dist/github/githubAPI.d.ts +7 -13
  11. package/dist/github/history/commitFiles.d.ts +39 -0
  12. package/dist/github/history.d.ts +1 -0
  13. package/dist/github/issues/types.d.ts +8 -8
  14. package/dist/github/prTransformation.d.ts +24 -25
  15. package/dist/github/queryBuilders/base.d.ts +0 -1
  16. package/dist/github/queryBuilders/issues.d.ts +0 -6
  17. package/dist/github/releases.d.ts +9 -1
  18. package/dist/github/responseHeaders.d.ts +6 -0
  19. package/dist/index.d.ts +7 -6
  20. package/dist/index.js +55 -40
  21. package/dist/providers/github/githubPullRequests.d.ts +9 -0
  22. package/dist/providers/github/paginationMetadata.d.ts +6 -5
  23. package/dist/providers/providerQueries.d.ts +11 -6
  24. package/dist/providers/providerResults.d.ts +9 -1
  25. package/dist/schema.d.ts +0 -1
  26. package/dist/schema.js +1 -2
  27. package/dist/scheme/pagination.d.ts +5 -13
  28. package/dist/scheme/responseEnvelope.d.ts +28 -22
  29. package/dist/security/bridge.d.ts +3 -2
  30. package/dist/shared/config/index.d.ts +0 -1
  31. package/dist/shared/config/index.js +1 -1
  32. package/dist/shared/languageSelectors/classify.d.ts +2 -2
  33. package/dist/shared/languageSelectors/data.d.ts +4 -4
  34. package/dist/shared/languageSelectors.d.ts +1 -1
  35. package/dist/shared/paths.d.ts +1 -4
  36. package/dist/tools/directToolCatalog/toolCatalogDefinitions.d.ts +10 -11
  37. package/dist/tools/directToolCatalog/toolCatalogFormatters.d.ts +5 -0
  38. package/dist/tools/directToolCatalog.meta.d.ts +1 -0
  39. package/dist/tools/github_clone_repo/contentSize.d.ts +9 -0
  40. package/dist/tools/github_clone_repo/scheme.d.ts +28 -80
  41. package/dist/tools/github_fetch_content/finalizer/types.d.ts +4 -3
  42. package/dist/tools/github_fetch_content/scheme.d.ts +92 -140
  43. package/dist/tools/github_fetch_content/types.d.ts +2 -1
  44. package/dist/tools/github_search_code/scheme.d.ts +39 -87
  45. package/dist/tools/github_search_discussions/execution.d.ts +15 -0
  46. package/dist/tools/github_search_discussions/scheme.d.ts +16 -0
  47. package/dist/tools/github_search_pull_requests/contentResponse/fileSurfaces.d.ts +3 -18
  48. package/dist/tools/github_search_pull_requests/scheme.d.ts +97 -119
  49. package/dist/tools/github_search_pull_requests/splitExecutions.d.ts +8 -0
  50. package/dist/tools/github_search_pull_requests/splitSchemes.d.ts +219 -0
  51. package/dist/tools/github_search_pull_requests/types.d.ts +28 -29
  52. package/dist/tools/github_search_repos/execution.d.ts +0 -2
  53. package/dist/tools/github_search_repos/scheme.d.ts +36 -64
  54. package/dist/tools/github_view_repo_structure/scheme.d.ts +37 -66
  55. package/dist/tools/local_dead_code/deadCodeScan.d.ts +26 -0
  56. package/dist/tools/local_dead_code/entrypoints.d.ts +16 -0
  57. package/dist/tools/local_dead_code/execution.d.ts +4 -0
  58. package/dist/tools/local_dead_code/graphBuilder.d.ts +43 -0
  59. package/dist/tools/local_dead_code/importResolver.d.ts +6 -0
  60. package/dist/tools/local_dead_code/local_dead_code.d.ts +5 -0
  61. package/dist/tools/local_dead_code/reachability.d.ts +21 -0
  62. package/dist/tools/local_dead_code/retention.d.ts +22 -0
  63. package/dist/tools/local_dead_code/scheme.d.ts +51 -0
  64. package/dist/tools/local_dead_code/types.d.ts +56 -0
  65. package/dist/tools/local_fetch_content/execution.d.ts +0 -1
  66. package/dist/tools/local_fetch_content/fetchContent/extraction.d.ts +6 -0
  67. package/dist/tools/local_fetch_content/fetchContent/validation.d.ts +9 -1
  68. package/dist/tools/local_fetch_content/fetchContent.d.ts +0 -1
  69. package/dist/tools/local_fetch_content/scheme.d.ts +28 -90
  70. package/dist/tools/local_find_files/execution.d.ts +0 -1
  71. package/dist/tools/local_find_files/findFiles.d.ts +0 -3
  72. package/dist/tools/local_find_files/findFilesNext.d.ts +26 -0
  73. package/dist/tools/local_find_files/pathPatternBraces.d.ts +20 -0
  74. package/dist/tools/local_find_files/scheme.d.ts +19 -81
  75. package/dist/tools/local_ripgrep/captureBudget.d.ts +25 -0
  76. package/dist/tools/local_ripgrep/rankingProfile/rankingProfiles.d.ts +1 -0
  77. package/dist/tools/local_ripgrep/rankingProfile/rankingResults.d.ts +1 -0
  78. package/dist/tools/local_ripgrep/ripgrepResultBuilder/searchNext.d.ts +1 -1
  79. package/dist/tools/local_ripgrep/scheme.d.ts +89 -190
  80. package/dist/tools/local_view_structure/execution.d.ts +0 -1
  81. package/dist/tools/local_view_structure/local_view_structure.d.ts +0 -1
  82. package/dist/tools/local_view_structure/scheme.d.ts +34 -87
  83. package/dist/tools/local_view_structure/structureFilters.d.ts +2 -4
  84. package/dist/tools/local_view_structure/structureResponse.d.ts +1 -0
  85. package/dist/tools/local_view_structure/viewStructureNext.d.ts +25 -0
  86. package/dist/tools/lsp/semantic_content/index.d.ts +2 -1
  87. package/dist/tools/lsp/semantic_content/scheme.d.ts +167 -642
  88. package/dist/tools/lsp/semantic_content/semanticAnchored.d.ts +8 -2
  89. package/dist/tools/lsp/semantic_content/semanticEnvelopes/locationEnvelopes.d.ts +2 -1
  90. package/dist/tools/lsp/semantic_content/semanticFileOps/anchor.d.ts +17 -1
  91. package/dist/tools/lsp/semantic_content/semanticNext.d.ts +2 -0
  92. package/dist/tools/lsp/semantic_content/semanticPresentation.d.ts +1 -1
  93. package/dist/tools/lsp/shared/callHierarchyTraversal.d.ts +14 -2
  94. package/dist/tools/lsp/shared/semanticTypes.d.ts +14 -1
  95. package/dist/tools/package_search/execution.d.ts +9 -6
  96. package/dist/tools/package_search/queryHelpers.d.ts +8 -0
  97. package/dist/tools/package_search/scheme.d.ts +30 -86
  98. package/dist/tools/providerMappers/codeSearch.d.ts +0 -1
  99. package/dist/tools/providerMappers/pullRequests.d.ts +0 -13
  100. package/dist/tools/providerMappers/repoSearch.d.ts +1 -5
  101. package/dist/tools/providerMappers/repoStructure.d.ts +4 -0
  102. package/dist/tools/toolCatalogFactory.d.ts +25 -0
  103. package/dist/tools/toolConfig.d.ts +9 -24
  104. package/dist/tools/toolNames.d.ts +2 -2
  105. package/dist/tools/toolSchemaImports.d.ts +3 -1
  106. package/dist/types/execution.d.ts +1 -0
  107. package/dist/types/toolOutput.d.ts +38 -0
  108. package/dist/utils/contextUtils.d.ts +6 -0
  109. package/dist/utils/core/types.d.ts +4 -0
  110. package/dist/utils/file/configFiles.d.ts +70 -0
  111. package/dist/utils/jsSymbolNames.d.ts +6 -0
  112. package/package.json +4 -8
  113. package/dist/oql/adapters/compile.d.ts +0 -25
  114. package/dist/oql/adapters/github/execute.d.ts +0 -16
  115. package/dist/oql/adapters/github/provider-diagnostics.d.ts +0 -14
  116. package/dist/oql/adapters/github/shared.d.ts +0 -75
  117. package/dist/oql/adapters/github.d.ts +0 -14
  118. package/dist/oql/adapters/graphProof.d.ts +0 -6
  119. package/dist/oql/adapters/graphView/filters.d.ts +0 -25
  120. package/dist/oql/adapters/graphView/nativeEdges.d.ts +0 -5
  121. package/dist/oql/adapters/graphView.d.ts +0 -29
  122. package/dist/oql/adapters/local/code.d.ts +0 -3
  123. package/dist/oql/adapters/local/codeBoolean.d.ts +0 -3
  124. package/dist/oql/adapters/local/fileRowOps.d.ts +0 -11
  125. package/dist/oql/adapters/local/files.d.ts +0 -3
  126. package/dist/oql/adapters/local/filesBoolean.d.ts +0 -10
  127. package/dist/oql/adapters/local/filesContentLeaf.d.ts +0 -12
  128. package/dist/oql/adapters/local/filesUniverse.d.ts +0 -6
  129. package/dist/oql/adapters/local/findToolType.d.ts +0 -10
  130. package/dist/oql/adapters/local/predicates.d.ts +0 -18
  131. package/dist/oql/adapters/local/scope.d.ts +0 -14
  132. package/dist/oql/adapters/local/searchToolType.d.ts +0 -7
  133. package/dist/oql/adapters/local/structureContent.d.ts +0 -6
  134. package/dist/oql/adapters/local/types.d.ts +0 -34
  135. package/dist/oql/adapters/local.d.ts +0 -4
  136. package/dist/oql/adapters/materialize.d.ts +0 -11
  137. package/dist/oql/adapters/pagination.d.ts +0 -21
  138. package/dist/oql/adapters/researchTargets/diff.d.ts +0 -16
  139. package/dist/oql/adapters/researchTargets/graph.d.ts +0 -3
  140. package/dist/oql/adapters/researchTargets/history.d.ts +0 -20
  141. package/dist/oql/adapters/researchTargets/pagination.d.ts +0 -54
  142. package/dist/oql/adapters/researchTargets/repositories.d.ts +0 -4
  143. package/dist/oql/adapters/researchTargets/research.d.ts +0 -3
  144. package/dist/oql/adapters/researchTargets/rows.d.ts +0 -16
  145. package/dist/oql/adapters/researchTargets/semantics.d.ts +0 -3
  146. package/dist/oql/adapters/researchTargets/shared.d.ts +0 -11
  147. package/dist/oql/adapters/researchTargets.d.ts +0 -8
  148. package/dist/oql/adapters/resultMap.d.ts +0 -27
  149. package/dist/oql/adapters/ruleYaml.d.ts +0 -11
  150. package/dist/oql/adapters/runner.d.ts +0 -21
  151. package/dist/oql/capabilities.d.ts +0 -31
  152. package/dist/oql/defaults.d.ts +0 -26
  153. package/dist/oql/diagnostics.d.ts +0 -25
  154. package/dist/oql/diffLanes.d.ts +0 -29
  155. package/dist/oql/envelope.d.ts +0 -21
  156. package/dist/oql/features.d.ts +0 -7
  157. package/dist/oql/index.d.ts +0 -27
  158. package/dist/oql/index.js +0 -47
  159. package/dist/oql/normalize/batch.d.ts +0 -2
  160. package/dist/oql/normalize/materialize.d.ts +0 -2
  161. package/dist/oql/normalize/params.d.ts +0 -2
  162. package/dist/oql/normalize/query.d.ts +0 -2
  163. package/dist/oql/normalize/scope.d.ts +0 -2
  164. package/dist/oql/normalize/shared.d.ts +0 -7
  165. package/dist/oql/normalize/source.d.ts +0 -2
  166. package/dist/oql/normalize/where.d.ts +0 -2
  167. package/dist/oql/normalize.d.ts +0 -20
  168. package/dist/oql/planner/planDiagnostics.d.ts +0 -13
  169. package/dist/oql/planner/predicateRouting.d.ts +0 -35
  170. package/dist/oql/planner.d.ts +0 -7
  171. package/dist/oql/predicateUtils.d.ts +0 -3
  172. package/dist/oql/research/analyze/manifest-scan.d.ts +0 -4
  173. package/dist/oql/research/analyze/source-graph.d.ts +0 -7
  174. package/dist/oql/research/analyze/symbol-scoring.d.ts +0 -4
  175. package/dist/oql/research/analyze/types.d.ts +0 -163
  176. package/dist/oql/research/analyze/utils.d.ts +0 -16
  177. package/dist/oql/research/analyze.d.ts +0 -3
  178. package/dist/oql/research/packets/builders.d.ts +0 -4
  179. package/dist/oql/research/packets/types.d.ts +0 -91
  180. package/dist/oql/research/packets.d.ts +0 -21
  181. package/dist/oql/run/batch.d.ts +0 -3
  182. package/dist/oql/run/continuations/records.d.ts +0 -19
  183. package/dist/oql/run/continuations/registry.d.ts +0 -22
  184. package/dist/oql/run/continuations/semantics.d.ts +0 -3
  185. package/dist/oql/run/continuations/types.d.ts +0 -12
  186. package/dist/oql/run/dryRun.d.ts +0 -11
  187. package/dist/oql/run/paths.d.ts +0 -15
  188. package/dist/oql/run/proofGrades.d.ts +0 -8
  189. package/dist/oql/run/select.d.ts +0 -10
  190. package/dist/oql/run/single.d.ts +0 -22
  191. package/dist/oql/run.d.ts +0 -5
  192. package/dist/oql/schema/predicates.d.ts +0 -12
  193. package/dist/oql/schema.d.ts +0 -1049
  194. package/dist/oql/schemeText.d.ts +0 -152
  195. package/dist/oql/shorthand/predicates.d.ts +0 -15
  196. package/dist/oql/shorthand/query-controls.d.ts +0 -18
  197. package/dist/oql/shorthand/target-params.d.ts +0 -9
  198. package/dist/oql/shorthand/types.d.ts +0 -159
  199. package/dist/oql/shorthand/utils.d.ts +0 -7
  200. package/dist/oql/shorthand.d.ts +0 -8
  201. package/dist/oql/targetParams.d.ts +0 -7
  202. package/dist/oql/transformers/contract.d.ts +0 -19
  203. package/dist/oql/transformers/github/code.d.ts +0 -9
  204. package/dist/oql/transformers/github/common.d.ts +0 -14
  205. package/dist/oql/transformers/language.d.ts +0 -1
  206. package/dist/oql/transformers/registry.d.ts +0 -16
  207. package/dist/oql/transformers/types.d.ts +0 -11
  208. package/dist/oql/types/diagnostics.d.ts +0 -22
  209. package/dist/oql/types/envelope.d.ts +0 -78
  210. package/dist/oql/types/guards.d.ts +0 -9
  211. package/dist/oql/types/planner.d.ts +0 -46
  212. package/dist/oql/types/predicates.d.ts +0 -93
  213. package/dist/oql/types/query.d.ts +0 -143
  214. package/dist/oql/types/recordData.d.ts +0 -127
  215. package/dist/oql/types/recordRows.d.ts +0 -48
  216. package/dist/oql/types/results.d.ts +0 -118
  217. package/dist/oql/types/targets.d.ts +0 -22
  218. package/dist/oql/types.d.ts +0 -27
  219. package/dist/tools/oql_search/execution.d.ts +0 -7
  220. package/dist/tools/toolMetadata/descriptionOverrides.d.ts +0 -4
@@ -12,6 +12,16 @@ export interface DirectToolDefinition {
12
12
  name: string;
13
13
  schema: z.ZodType;
14
14
  inputSchema: z.ZodType;
15
+ /**
16
+ * Present only for opt-in tools (ghListReleases/ghSearchDiscussions) that
17
+ * are NOT currently enabled. Their entry still appears here (schema/help
18
+ * stay discoverable via `tools <name> --scheme` without already knowing the
19
+ * env var) — the runtime execution registry (`ALL_TOOLS` in toolConfig.ts)
20
+ * is the actual enforcement point and still omits them until enabled.
21
+ */
22
+ disabled?: {
23
+ envVar: string;
24
+ };
15
25
  }
16
26
  export type DirectToolCategory = 'GitHub' | 'Local Code' | 'Package' | 'Other';
17
27
  export declare const DIRECT_TOOL_CATEGORIES: readonly DirectToolCategory[];
@@ -29,11 +39,6 @@ export interface DirectToolCommandPattern {
29
39
  query: Record<string, unknown>;
30
40
  command: string;
31
41
  }
32
- export interface DirectToolOutputField {
33
- name: string;
34
- type: string;
35
- optional?: boolean;
36
- }
37
42
  export interface DirectToolMetadata {
38
43
  tools?: Record<string, {
39
44
  description?: string;
@@ -60,9 +65,3 @@ export declare const DIRECT_TOOL_DEFINITIONS: DirectToolDefinition[];
60
65
  export declare function findDirectToolDefinition(name: string): DirectToolDefinition | undefined;
61
66
  export declare function getDirectToolCategory(toolName: string): DirectToolCategory;
62
67
  export declare function sortDirectToolNames(toolNames: string[]): string[];
63
- export declare function formatDirectToolSchemaText(toolName: string): string;
64
- export declare function formatDirectToolMetadataSchemaText(schema: Record<string, string> | undefined): string;
65
- export declare function getDirectToolAutoFilledFields(toolName: string): string[];
66
- export declare function getDirectToolOutputFields(): DirectToolOutputField[];
67
- export declare function formatDirectToolOutputSchemaText(): string;
68
- export declare function getDirectToolDescription(toolName: string, metadata?: DirectToolMetadata | null): string;
@@ -0,0 +1,5 @@
1
+ import { type DirectToolMetadata } from './toolCatalogDefinitions.js';
2
+ export declare function formatDirectToolSchemaText(toolName: string): string;
3
+ export declare function formatDirectToolMetadataSchemaText(schema: Record<string, string> | undefined): string;
4
+ export declare function getDirectToolAutoFilledFields(toolName: string): string[];
5
+ export declare function getDirectToolDescription(toolName: string, metadata?: DirectToolMetadata | null): string;
@@ -21,6 +21,7 @@
21
21
  * should need to import those sibling modules directly; import from here.
22
22
  */
23
23
  export * from './directToolCatalog/toolCatalogDefinitions.js';
24
+ export * from './directToolCatalog/toolCatalogFormatters.js';
24
25
  export * from './directToolCatalog/toolSchemaIntrospection.js';
25
26
  export * from './directToolCatalog/toolCommandPatterns.js';
26
27
  export * from './directToolCatalog/toolInputPreparation.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Size of a clone's checked-out working tree, excluding the top-level `.git`
3
+ * directory. The shared `getDirectorySizeBytes` counts everything, so a sparse
4
+ * blob:none checkout of a few KB still reports the ~1MB packed-git floor —
5
+ * making `totalSize`/`rawResponse` reflect Git plumbing, not the content the
6
+ * caller actually received. `.git` only lives at the clone root, so skipping it
7
+ * there and reusing the shared walker for every other subtree is sufficient.
8
+ */
9
+ export declare function getCheckedOutSizeBytes(targetPath: string): number;
@@ -1,3 +1,5 @@
1
+ import type { ToolContinuation } from '../../scheme/pagination.js';
2
+ import type { ResponsePaginationInfo } from '../../types/toolOutput.js';
1
3
  export declare const CloneRepoQueryLocalSchema: import("zod").ZodObject<{
2
4
  owner: import("zod").ZodString;
3
5
  repo: import("zod").ZodString;
@@ -14,83 +16,29 @@ export declare const BulkCloneRepoLocalSchema: import("zod").ZodObject<{
14
16
  responseCharLength: import("zod").ZodOptional<import("zod").ZodPreprocess<import("zod").ZodNumber>>;
15
17
  queries: import("zod").ZodArray<import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>>;
16
18
  }, import("zod/v4/core").$strip>;
17
- export declare const GitHubCloneRepoOutputLocalSchema: import("zod").ZodObject<{
18
- status: import("zod").ZodOptional<import("zod").ZodEnum<{
19
- empty: import("@octocodeai/octocode-core/types").ToolStatus.Empty;
20
- error: import("@octocodeai/octocode-core/types").ToolStatus.Error;
21
- }>>;
22
- data: import("zod").ZodOptional<import("zod").ZodObject<{
23
- localPath: import("zod").ZodString;
24
- resolvedBranch: import("zod").ZodOptional<import("zod").ZodString>;
25
- cached: import("zod").ZodOptional<import("zod").ZodBoolean>;
26
- sparsePath: import("zod").ZodOptional<import("zod").ZodString>;
27
- cloneTimeMs: import("zod").ZodOptional<import("zod").ZodNumber>;
28
- totalSize: import("zod").ZodOptional<import("zod").ZodNumber>;
29
- fileCount: import("zod").ZodOptional<import("zod").ZodNumber>;
30
- location: import("zod").ZodOptional<import("zod").ZodObject<{
31
- kind: import("zod").ZodEnum<{
32
- file: "file";
33
- directory: "directory";
34
- repo: "repo";
35
- tree: "tree";
36
- "archive-entry": "archive-entry";
37
- }>;
38
- localPath: import("zod").ZodString;
39
- repoRoot: import("zod").ZodOptional<import("zod").ZodString>;
40
- requestedPath: import("zod").ZodOptional<import("zod").ZodString>;
41
- source: import("zod").ZodOptional<import("zod").ZodEnum<{
42
- extract: "extract";
43
- decompress: "decompress";
44
- strings: "strings";
45
- unpack: "unpack";
46
- tree: "tree";
47
- clone: "clone";
48
- }>>;
49
- cached: import("zod").ZodOptional<import("zod").ZodBoolean>;
50
- complete: import("zod").ZodOptional<import("zod").ZodBoolean>;
51
- resolvedBranch: import("zod").ZodOptional<import("zod").ZodString>;
52
- }, import("zod/v4/core").$strip>>;
53
- }, import("zod/v4/core").$strip>>;
54
- localPath: import("zod").ZodOptional<import("zod").ZodString>;
55
- resolvedBranch: import("zod").ZodOptional<import("zod").ZodString>;
56
- cached: import("zod").ZodOptional<import("zod").ZodBoolean>;
57
- sparsePath: import("zod").ZodOptional<import("zod").ZodString>;
58
- location: import("zod").ZodOptional<import("zod").ZodObject<{
59
- kind: import("zod").ZodEnum<{
60
- file: "file";
61
- directory: "directory";
62
- repo: "repo";
63
- tree: "tree";
64
- "archive-entry": "archive-entry";
65
- }>;
66
- localPath: import("zod").ZodString;
67
- repoRoot: import("zod").ZodOptional<import("zod").ZodString>;
68
- requestedPath: import("zod").ZodOptional<import("zod").ZodString>;
69
- source: import("zod").ZodOptional<import("zod").ZodEnum<{
70
- extract: "extract";
71
- decompress: "decompress";
72
- strings: "strings";
73
- unpack: "unpack";
74
- tree: "tree";
75
- clone: "clone";
76
- }>>;
77
- cached: import("zod").ZodOptional<import("zod").ZodBoolean>;
78
- complete: import("zod").ZodOptional<import("zod").ZodBoolean>;
79
- resolvedBranch: import("zod").ZodOptional<import("zod").ZodString>;
80
- }, import("zod/v4/core").$strip>>;
81
- warnings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
82
- kind: import("zod").ZodString;
83
- }, import("zod/v4/core").$loose>]>>>;
84
- error: import("zod").ZodOptional<import("zod").ZodString>;
85
- base: import("zod").ZodOptional<import("zod").ZodString>;
86
- shared: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean]>>>;
87
- responsePagination: import("zod").ZodOptional<import("zod").ZodObject<{
88
- currentPage: import("zod").ZodNumber;
89
- totalPages: import("zod").ZodNumber;
90
- hasMore: import("zod").ZodBoolean;
91
- charOffset: import("zod").ZodNumber;
92
- charLength: import("zod").ZodNumber;
93
- totalChars: import("zod").ZodNumber;
94
- nextCharOffset: import("zod").ZodOptional<import("zod").ZodNumber>;
95
- }, import("zod/v4/core").$strip>>;
96
- }, import("zod/v4/core").$loose>;
19
+ interface GitHubCloneRepoData {
20
+ localPath: string;
21
+ resolvedBranch?: string;
22
+ cached?: boolean;
23
+ sparsePath?: string;
24
+ cloneTimeMs?: number;
25
+ totalSize?: number;
26
+ fileCount?: number;
27
+ location?: Record<string, unknown>;
28
+ }
29
+ export type GitHubCloneRepoOutputLocal = {
30
+ status?: string;
31
+ data?: GitHubCloneRepoData;
32
+ localPath?: string;
33
+ resolvedBranch?: string;
34
+ cached?: boolean;
35
+ sparsePath?: string;
36
+ location?: Record<string, unknown>;
37
+ warnings?: string[];
38
+ error?: string;
39
+ base?: string;
40
+ shared?: Record<string, string | number | boolean>;
41
+ responsePagination?: ResponsePaginationInfo;
42
+ next?: Record<string, ToolContinuation>;
43
+ } & Record<string, unknown>;
44
+ export {};
@@ -9,13 +9,13 @@ export type PartialFileContentQuery = WithOptionalMeta<FileContentQuery> & Query
9
9
  export type FileEntry = {
10
10
  path: string;
11
11
  content: string;
12
+ /** Coarse file bucket to guide how bytes are read; omitted when uncertain. */
13
+ fileType?: 'code' | 'config' | 'lock' | 'doc';
12
14
  localPath?: string;
13
15
  repoRoot?: string;
14
- fileSize?: number;
15
16
  contentView?: 'none' | 'standard' | 'symbols';
16
17
  totalLines?: number;
17
18
  sourceChars?: number;
18
- sourceBytes?: number;
19
19
  resolvedBranch?: string;
20
20
  pagination?: PaginationInfo;
21
21
  isPartial?: boolean;
@@ -25,6 +25,8 @@ export type FileEntry = {
25
25
  start: number;
26
26
  end: number;
27
27
  }>;
28
+ /** Exact matched-line numbers (matchRanges are ±contextLines windows around them). */
29
+ matchedLines?: number[];
28
30
  lastModified?: string;
29
31
  lastModifiedBy?: string;
30
32
  warnings?: string[];
@@ -89,7 +91,6 @@ export type RepoGroup = {
89
91
  repo: string;
90
92
  files?: FileEntry[];
91
93
  directories?: DirectoryEntry[];
92
- data?: RepoGroupData;
93
94
  };
94
95
  export type RepoGroupData = {
95
96
  owner: string;
@@ -1,4 +1,6 @@
1
1
  import { z } from 'zod';
2
+ import type { CharPagination, ItemPagination, ToolContinuation } from '../../scheme/pagination.js';
3
+ import type { ResponsePaginationInfo } from '../../types/toolOutput.js';
2
4
  export declare const FileContentQueryBaseLocalSchema: z.ZodObject<Readonly<{
3
5
  [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
4
6
  }>, z.core.$strip>;
@@ -36,143 +38,93 @@ export declare const FileContentBulkQueryLocalSchema: z.ZodObject<{
36
38
  responseCharLength: z.ZodOptional<z.ZodPreprocess<z.ZodNumber>>;
37
39
  queries: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
38
40
  }, z.core.$strip>;
39
- export declare const GitHubFetchContentOutputLocalSchema: z.ZodObject<{
40
- base: z.ZodOptional<z.ZodString>;
41
- shared: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
42
- responsePagination: z.ZodOptional<z.ZodObject<{
43
- currentPage: z.ZodNumber;
44
- totalPages: z.ZodNumber;
45
- hasMore: z.ZodBoolean;
46
- charOffset: z.ZodNumber;
47
- charLength: z.ZodNumber;
48
- totalChars: z.ZodNumber;
49
- nextCharOffset: z.ZodOptional<z.ZodNumber>;
50
- }, z.core.$strip>>;
51
- results: z.ZodArray<z.ZodObject<{
52
- id: z.ZodString;
53
- data: z.ZodOptional<z.ZodObject<{
54
- owner: z.ZodString;
55
- repo: z.ZodString;
56
- files: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
- path: z.ZodString;
58
- content: z.ZodString;
59
- localPath: z.ZodOptional<z.ZodString>;
60
- repoRoot: z.ZodOptional<z.ZodString>;
61
- contentView: z.ZodOptional<z.ZodEnum<{
62
- none: "none";
63
- standard: "standard";
64
- symbols: "symbols";
65
- }>>;
66
- totalLines: z.ZodOptional<z.ZodNumber>;
67
- sourceChars: z.ZodOptional<z.ZodNumber>;
68
- sourceBytes: z.ZodOptional<z.ZodNumber>;
69
- resolvedBranch: z.ZodOptional<z.ZodString>;
70
- modified: z.ZodOptional<z.ZodString>;
71
- fileSize: z.ZodOptional<z.ZodNumber>;
72
- pagination: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
73
- charOffset: z.ZodNumber;
74
- charLength: z.ZodNumber;
75
- totalChars: z.ZodNumber;
76
- hasMore: z.ZodBoolean;
77
- nextCharOffset: z.ZodOptional<z.ZodNumber>;
78
- currentPage: z.ZodOptional<z.ZodNumber>;
79
- totalPages: z.ZodOptional<z.ZodNumber>;
80
- chunkMode: z.ZodOptional<z.ZodEnum<{
81
- semantic: "semantic";
82
- "char-limit": "char-limit";
83
- }>>;
84
- nextPage: z.ZodOptional<z.ZodNumber>;
85
- }, z.core.$strip>, z.ZodObject<{
86
- currentPage: z.ZodNumber;
87
- totalPages: z.ZodNumber;
88
- hasMore: z.ZodBoolean;
89
- nextPage: z.ZodOptional<z.ZodNumber>;
90
- pageSize: z.ZodOptional<z.ZodNumber>;
91
- totalItems: z.ZodOptional<z.ZodNumber>;
92
- perPage: z.ZodOptional<z.ZodNumber>;
93
- totalFound: z.ZodOptional<z.ZodNumber>;
94
- returned: z.ZodOptional<z.ZodNumber>;
95
- totalMatches: z.ZodOptional<z.ZodNumber>;
96
- reportedTotalMatches: z.ZodOptional<z.ZodNumber>;
97
- reachableTotalMatches: z.ZodOptional<z.ZodNumber>;
98
- totalMatchesKind: z.ZodOptional<z.ZodEnum<{
99
- exact: "exact";
100
- reported: "reported";
101
- lowerBound: "lowerBound";
102
- }>>;
103
- totalMatchesCapped: z.ZodOptional<z.ZodBoolean>;
104
- totalResults: z.ZodOptional<z.ZodNumber>;
105
- itemsPerPage: z.ZodOptional<z.ZodNumber>;
106
- charOffset: z.ZodOptional<z.ZodNumber>;
107
- charLength: z.ZodOptional<z.ZodNumber>;
108
- totalChars: z.ZodOptional<z.ZodNumber>;
109
- nextCharOffset: z.ZodOptional<z.ZodNumber>;
110
- }, z.core.$strip>]>>;
111
- next: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
112
- tool: z.ZodString;
113
- query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
114
- why: z.ZodOptional<z.ZodString>;
115
- confidence: z.ZodOptional<z.ZodEnum<{
116
- exact: "exact";
117
- heuristic: "heuristic";
118
- }>>;
119
- }, z.core.$strip>>>;
120
- isPartial: z.ZodOptional<z.ZodBoolean>;
121
- startLine: z.ZodOptional<z.ZodNumber>;
122
- endLine: z.ZodOptional<z.ZodNumber>;
123
- matchRanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
124
- start: z.ZodNumber;
125
- end: z.ZodNumber;
126
- }, z.core.$strip>>>;
127
- lastModified: z.ZodOptional<z.ZodString>;
128
- lastModifiedBy: z.ZodOptional<z.ZodString>;
129
- warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
- matchNotFound: z.ZodOptional<z.ZodBoolean>;
131
- searchedFor: z.ZodOptional<z.ZodString>;
132
- cached: z.ZodOptional<z.ZodBoolean>;
133
- }, z.core.$strip>>>;
134
- directories: z.ZodOptional<z.ZodArray<z.ZodObject<{
135
- path: z.ZodString;
136
- localPath: z.ZodString;
137
- repoRoot: z.ZodOptional<z.ZodString>;
138
- fileCount: z.ZodNumber;
139
- totalSize: z.ZodNumber;
140
- complete: z.ZodOptional<z.ZodBoolean>;
141
- directoryEntryCount: z.ZodOptional<z.ZodNumber>;
142
- eligibleFileCount: z.ZodOptional<z.ZodNumber>;
143
- savedFileCount: z.ZodOptional<z.ZodNumber>;
144
- skipped: z.ZodOptional<z.ZodObject<{
145
- nonFile: z.ZodNumber;
146
- missingDownloadUrl: z.ZodNumber;
147
- oversized: z.ZodNumber;
148
- binary: z.ZodNumber;
149
- fileLimit: z.ZodNumber;
150
- fetchFailed: z.ZodNumber;
151
- totalSizeLimit: z.ZodNumber;
152
- pathTraversal: z.ZodNumber;
153
- }, z.core.$strip>>;
154
- limits: z.ZodOptional<z.ZodObject<{
155
- maxDirectoryFiles: z.ZodNumber;
156
- maxTotalSize: z.ZodNumber;
157
- maxFileSize: z.ZodNumber;
158
- }, z.core.$strip>>;
159
- warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
160
- files: z.ZodOptional<z.ZodArray<z.ZodObject<{
161
- path: z.ZodString;
162
- size: z.ZodNumber;
163
- type: z.ZodString;
164
- }, z.core.$strip>>>;
165
- cached: z.ZodOptional<z.ZodBoolean>;
166
- resolvedBranch: z.ZodOptional<z.ZodString>;
167
- }, z.core.$strip>>>;
168
- }, z.core.$strip>>;
169
- }, z.core.$strip>>;
170
- errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
- id: z.ZodString;
172
- owner: z.ZodOptional<z.ZodString>;
173
- repo: z.ZodOptional<z.ZodString>;
174
- path: z.ZodOptional<z.ZodString>;
175
- error: z.ZodString;
176
- }, z.core.$strip>>>;
177
- }, z.core.$strip>;
178
- export type GitHubFetchContentOutputLocal = z.infer<typeof GitHubFetchContentOutputLocalSchema>;
41
+ export type GitHubFetchFilePagination = (CharPagination & {
42
+ nextPage?: number;
43
+ }) | (ItemPagination & {
44
+ charOffset?: number;
45
+ charLength?: number;
46
+ totalChars?: number;
47
+ nextCharOffset?: number;
48
+ });
49
+ export interface GitHubFetchFileEntry {
50
+ path: string;
51
+ content: string;
52
+ localPath?: string;
53
+ repoRoot?: string;
54
+ contentView?: 'none' | 'standard' | 'symbols';
55
+ totalLines?: number;
56
+ sourceChars?: number;
57
+ resolvedBranch?: string;
58
+ pagination?: GitHubFetchFilePagination;
59
+ next?: Record<string, ToolContinuation>;
60
+ isPartial?: boolean;
61
+ startLine?: number;
62
+ endLine?: number;
63
+ matchRanges?: Array<{
64
+ start: number;
65
+ end: number;
66
+ }>;
67
+ lastModified?: string;
68
+ lastModifiedBy?: string;
69
+ warnings?: string[];
70
+ matchNotFound?: boolean;
71
+ searchedFor?: string;
72
+ cached?: boolean;
73
+ }
74
+ export interface GitHubFetchDirectoryEntry {
75
+ path: string;
76
+ localPath: string;
77
+ repoRoot?: string;
78
+ fileCount: number;
79
+ totalSize: number;
80
+ complete?: boolean;
81
+ directoryEntryCount?: number;
82
+ eligibleFileCount?: number;
83
+ savedFileCount?: number;
84
+ skipped?: {
85
+ nonFile: number;
86
+ missingDownloadUrl: number;
87
+ oversized: number;
88
+ binary: number;
89
+ fileLimit: number;
90
+ fetchFailed: number;
91
+ totalSizeLimit: number;
92
+ pathTraversal: number;
93
+ };
94
+ limits?: {
95
+ maxDirectoryFiles: number;
96
+ maxTotalSize: number;
97
+ maxFileSize: number;
98
+ };
99
+ warnings?: string[];
100
+ files?: Array<{
101
+ path: string;
102
+ size: number;
103
+ type: string;
104
+ }>;
105
+ cached?: boolean;
106
+ resolvedBranch?: string;
107
+ }
108
+ export interface GitHubFetchContentData {
109
+ owner: string;
110
+ repo: string;
111
+ files?: GitHubFetchFileEntry[];
112
+ directories?: GitHubFetchDirectoryEntry[];
113
+ }
114
+ export interface GitHubFetchContentOutputLocal {
115
+ base?: string;
116
+ shared?: Record<string, string | number | boolean>;
117
+ responsePagination?: ResponsePaginationInfo;
118
+ results: Array<{
119
+ id: string;
120
+ data?: GitHubFetchContentData;
121
+ }>;
122
+ errors?: Array<{
123
+ id: string;
124
+ owner?: string;
125
+ repo?: string;
126
+ path?: string;
127
+ error: string;
128
+ }>;
129
+ [key: string]: unknown;
130
+ }
@@ -25,11 +25,12 @@ export interface GitHubFileContentApiData {
25
25
  isPartial?: boolean;
26
26
  totalLines?: number;
27
27
  sourceChars?: number;
28
- sourceBytes?: number;
29
28
  matchRanges?: Array<{
30
29
  start: number;
31
30
  end: number;
32
31
  }>;
32
+ /** Exact matched-line numbers (matchRanges are ±contextLines windows around them). */
33
+ matchedLines?: number[];
33
34
  matchLocations?: string[];
34
35
  warnings?: string[];
35
36
  lastModified?: string;
@@ -1,4 +1,6 @@
1
1
  import { z } from 'zod';
2
+ import type { ItemPagination } from '../../scheme/pagination.js';
3
+ import type { BulkToolOutput } from '../../types/toolOutput.js';
2
4
  export declare const GitHubCodeSearchQueryLocalSchema: z.ZodObject<{
3
5
  keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
6
  owner: z.ZodOptional<z.ZodString>;
@@ -24,90 +26,40 @@ export declare const GitHubCodeSearchBulkQueryLocalSchema: z.ZodObject<{
24
26
  responseCharLength: z.ZodOptional<z.ZodPreprocess<z.ZodNumber>>;
25
27
  queries: z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
26
28
  }, z.core.$strip>;
27
- export declare const GitHubCodeSearchOutputLocalSchema: z.ZodObject<{
28
- base: z.ZodOptional<z.ZodString>;
29
- shared: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
30
- responsePagination: z.ZodOptional<z.ZodObject<{
31
- currentPage: z.ZodNumber;
32
- totalPages: z.ZodNumber;
33
- hasMore: z.ZodBoolean;
34
- charOffset: z.ZodNumber;
35
- charLength: z.ZodNumber;
36
- totalChars: z.ZodNumber;
37
- nextCharOffset: z.ZodOptional<z.ZodNumber>;
38
- }, z.core.$strip>>;
39
- results: z.ZodArray<z.ZodObject<{
40
- id: z.ZodString;
41
- data: z.ZodObject<{
42
- files: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
43
- owner: z.ZodString;
44
- repo: z.ZodString;
45
- path: z.ZodString;
46
- queryId: z.ZodOptional<z.ZodString>;
47
- matches: z.ZodArray<z.ZodObject<{
48
- value: z.ZodOptional<z.ZodString>;
49
- pathOnly: z.ZodOptional<z.ZodBoolean>;
50
- matchIndices: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
- start: z.ZodNumber;
52
- end: z.ZodNumber;
53
- lineOffset: z.ZodNumber;
54
- }, z.core.$strip>>>;
55
- url: z.ZodOptional<z.ZodString>;
56
- }, z.core.$strip>>;
57
- }, z.core.$strip>]>>;
58
- pagination: z.ZodOptional<z.ZodObject<{
59
- currentPage: z.ZodNumber;
60
- totalPages: z.ZodNumber;
61
- hasMore: z.ZodBoolean;
62
- nextPage: z.ZodOptional<z.ZodNumber>;
63
- pageSize: z.ZodOptional<z.ZodNumber>;
64
- totalItems: z.ZodOptional<z.ZodNumber>;
65
- perPage: z.ZodOptional<z.ZodNumber>;
66
- totalFound: z.ZodOptional<z.ZodNumber>;
67
- returned: z.ZodOptional<z.ZodNumber>;
68
- totalMatches: z.ZodOptional<z.ZodNumber>;
69
- reportedTotalMatches: z.ZodOptional<z.ZodNumber>;
70
- reachableTotalMatches: z.ZodOptional<z.ZodNumber>;
71
- totalResults: z.ZodOptional<z.ZodNumber>;
72
- itemsPerPage: z.ZodOptional<z.ZodNumber>;
73
- totalMatchesKind: z.ZodOptional<z.ZodEnum<{
74
- exact: "exact";
75
- reported: "reported";
76
- lowerBound: "lowerBound";
77
- }>>;
78
- totalMatchesCapped: z.ZodOptional<z.ZodBoolean>;
79
- uniqueFileCount: z.ZodOptional<z.ZodNumber>;
80
- }, z.core.$strip>>;
81
- }, z.core.$strip>;
82
- }, z.core.$strip>>;
83
- emptyQueries: z.ZodOptional<z.ZodArray<z.ZodObject<{
84
- id: z.ZodString;
85
- nonExistentScope: z.ZodOptional<z.ZodLiteral<true>>;
86
- incompleteResults: z.ZodOptional<z.ZodLiteral<true>>;
87
- }, z.core.$strip>>>;
88
- warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
- diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
- level: z.ZodEnum<{
91
- error: "error";
92
- info: "info";
93
- warning: "warning";
94
- }>;
95
- message: z.ZodString;
96
- field: z.ZodOptional<z.ZodString>;
97
- code: z.ZodOptional<z.ZodString>;
98
- }, z.core.$strip>>>;
99
- next: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
100
- tool: z.ZodString;
101
- query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
102
- why: z.ZodOptional<z.ZodString>;
103
- confidence: z.ZodOptional<z.ZodEnum<{
104
- exact: "exact";
105
- heuristic: "heuristic";
106
- }>>;
107
- }, z.core.$strip>>>;
108
- errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
109
- id: z.ZodString;
110
- error: z.ZodString;
111
- }, z.core.$strip>>>;
112
- }, z.core.$strip>;
113
- export type GitHubCodeSearchOutputLocal = z.infer<typeof GitHubCodeSearchOutputLocalSchema>;
29
+ export interface CodeSearchPaginationLocal extends ItemPagination {
30
+ totalMatchesKind?: 'exact' | 'reported' | 'lowerBound';
31
+ totalMatchesCapped?: boolean;
32
+ uniqueFileCount?: number;
33
+ }
34
+ export interface GitHubCodeSearchFileMatch {
35
+ value?: string;
36
+ pathOnly?: boolean;
37
+ matchIndices?: Array<{
38
+ start: number;
39
+ end: number;
40
+ lineOffset: number;
41
+ }>;
42
+ }
43
+ export interface GitHubCodeSearchFile {
44
+ owner: string;
45
+ repo: string;
46
+ path: string;
47
+ queryId?: string;
48
+ matches: GitHubCodeSearchFileMatch[];
49
+ }
50
+ export interface GitHubCodeSearchData {
51
+ files: Array<string | GitHubCodeSearchFile>;
52
+ pagination?: CodeSearchPaginationLocal;
53
+ }
54
+ export type GitHubCodeSearchOutputLocal = BulkToolOutput<GitHubCodeSearchData> & {
55
+ emptyQueries?: Array<{
56
+ id: string;
57
+ nonExistentScope?: true;
58
+ incompleteResults?: true;
59
+ }>;
60
+ errors?: Array<{
61
+ id: string;
62
+ error: string;
63
+ }>;
64
+ [key: string]: unknown;
65
+ };
@@ -0,0 +1,15 @@
1
+ import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { ToolExecutionArgs } from '../../types/execution.js';
3
+ type PartialDiscussionsQuery = {
4
+ owner?: string;
5
+ repo?: string;
6
+ keywordsToSearch?: string[];
7
+ itemsPerPage?: number;
8
+ limit?: number;
9
+ after?: string;
10
+ mainResearchGoal?: string;
11
+ researchGoal?: string;
12
+ reasoning?: string;
13
+ };
14
+ export declare function searchMultipleGitHubDiscussions(args: ToolExecutionArgs<PartialDiscussionsQuery>): Promise<CallToolResult>;
15
+ export {};
@@ -0,0 +1,16 @@
1
+ export declare const SearchDiscussionsLocalSchema: import("zod").ZodObject<{
2
+ owner: import("zod").ZodString;
3
+ repo: import("zod").ZodString;
4
+ keywordsToSearch: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
5
+ itemsPerPage: import("zod").ZodDefault<import("zod").ZodNumber>;
6
+ after: import("zod").ZodOptional<import("zod").ZodString>;
7
+ id: import("zod").ZodOptional<import("zod").ZodString>;
8
+ mainResearchGoal: import("zod").ZodOptional<import("zod").ZodString>;
9
+ researchGoal: import("zod").ZodOptional<import("zod").ZodString>;
10
+ reasoning: import("zod").ZodOptional<import("zod").ZodString>;
11
+ }, import("zod/v4/core").$strip>;
12
+ export declare const SearchDiscussionsBulkLocalSchema: import("zod").ZodObject<{
13
+ responseCharOffset: import("zod").ZodOptional<import("zod").ZodPreprocess<import("zod").ZodNumber>>;
14
+ responseCharLength: import("zod").ZodOptional<import("zod").ZodPreprocess<import("zod").ZodNumber>>;
15
+ queries: import("zod").ZodArray<import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>>;
16
+ }, import("zod/v4/core").$strip>;