@octocodeai/octocode-tools-core 16.6.3 → 17.0.2

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 (252) hide show
  1. package/README.md +22 -50
  2. package/dist/direct.js +33 -38
  3. package/dist/github/botFilter.d.ts +1 -0
  4. package/dist/github/client.d.ts +6 -0
  5. package/dist/github/directoryFetch/fetchDirectoryContents.d.ts +3 -0
  6. package/dist/github/directoryFetch/fetchFileContentToDisk.d.ts +3 -0
  7. package/dist/github/directoryFetch/helpers.d.ts +35 -0
  8. package/dist/github/directoryFetch.d.ts +3 -6
  9. package/dist/github/fileContentPagination.d.ts +9 -0
  10. package/dist/github/fileContentProcess.d.ts +1 -8
  11. package/dist/github/fileContentRaw/fetch.d.ts +20 -0
  12. package/dist/github/fileContentRaw/pathSuggestions.d.ts +3 -0
  13. package/dist/github/fileContentRaw.d.ts +2 -12
  14. package/dist/github/githubAPI.d.ts +4 -1
  15. package/dist/github/history.d.ts +6 -2
  16. package/dist/github/issues/fetchers.d.ts +7 -0
  17. package/dist/github/issues/helpers.d.ts +32 -0
  18. package/dist/github/issues/orchestrator.d.ts +4 -0
  19. package/dist/github/issues/types.d.ts +72 -0
  20. package/dist/github/issues.d.ts +3 -0
  21. package/dist/github/prContentFetcher/comments.d.ts +11 -0
  22. package/dist/github/prContentFetcher/commits.d.ts +27 -0
  23. package/dist/github/prContentFetcher/flags.d.ts +21 -0
  24. package/dist/github/prContentFetcher/transform.d.ts +5 -0
  25. package/dist/github/prContentFetcher.d.ts +2 -5
  26. package/dist/github/pullRequestSearch/restSearch.d.ts +6 -0
  27. package/dist/github/pullRequestSearch.d.ts +1 -1
  28. package/dist/github/queryBuilders/base.d.ts +25 -0
  29. package/dist/github/queryBuilders/codeAndRepo.d.ts +20 -0
  30. package/dist/github/queryBuilders/issues.d.ts +42 -0
  31. package/dist/github/queryBuilders/pullRequests.d.ts +13 -0
  32. package/dist/github/queryBuilders.d.ts +4 -12
  33. package/dist/github/releases.d.ts +37 -0
  34. package/dist/github/repoStructure/contentResolution.d.ts +12 -0
  35. package/dist/github/repoStructure/fetchOrchestration.d.ts +7 -0
  36. package/dist/github/repoStructure/resultBuilder.d.ts +22 -0
  37. package/dist/github/repoStructure.d.ts +1 -7
  38. package/dist/github/repoStructureTree.d.ts +38 -0
  39. package/dist/github/responseHeaders.d.ts +2 -0
  40. package/dist/github/searchKeyword.d.ts +2 -0
  41. package/dist/index.d.ts +1 -4
  42. package/dist/index.js +35 -40
  43. package/dist/oql/adapters/github/execute.d.ts +16 -0
  44. package/dist/oql/adapters/github/provider-diagnostics.d.ts +14 -0
  45. package/dist/oql/adapters/github/shared.d.ts +75 -0
  46. package/dist/oql/adapters/github.d.ts +11 -0
  47. package/dist/oql/adapters/graphView/filters.d.ts +25 -0
  48. package/dist/oql/adapters/graphView/nativeEdges.d.ts +5 -0
  49. package/dist/oql/adapters/graphView.d.ts +17 -16
  50. package/dist/oql/adapters/local/code.d.ts +3 -0
  51. package/dist/oql/adapters/local/codeBoolean.d.ts +3 -0
  52. package/dist/oql/adapters/local/fileRowOps.d.ts +11 -0
  53. package/dist/oql/adapters/local/files.d.ts +3 -0
  54. package/dist/oql/adapters/local/filesBoolean.d.ts +10 -0
  55. package/dist/oql/adapters/local/filesContentLeaf.d.ts +12 -0
  56. package/dist/oql/adapters/local/filesUniverse.d.ts +6 -0
  57. package/dist/oql/adapters/local/findToolType.d.ts +10 -0
  58. package/dist/oql/adapters/local/predicates.d.ts +18 -0
  59. package/dist/oql/adapters/local/scope.d.ts +14 -0
  60. package/dist/oql/adapters/local/searchToolType.d.ts +7 -0
  61. package/dist/oql/adapters/local/structureContent.d.ts +6 -0
  62. package/dist/oql/adapters/local/types.d.ts +34 -0
  63. package/dist/oql/adapters/local.d.ts +3 -7
  64. package/dist/oql/adapters/researchTargets/diff.d.ts +16 -0
  65. package/dist/oql/adapters/researchTargets/graph.d.ts +3 -0
  66. package/dist/oql/adapters/researchTargets/history.d.ts +20 -0
  67. package/dist/oql/adapters/researchTargets/pagination.d.ts +54 -0
  68. package/dist/oql/adapters/researchTargets/repositories.d.ts +4 -0
  69. package/dist/oql/adapters/researchTargets/research.d.ts +3 -0
  70. package/dist/oql/adapters/researchTargets/rows.d.ts +16 -0
  71. package/dist/oql/adapters/researchTargets/semantics.d.ts +3 -0
  72. package/dist/oql/adapters/researchTargets/shared.d.ts +11 -0
  73. package/dist/oql/adapters/researchTargets.d.ts +4 -46
  74. package/dist/oql/defaults.d.ts +1 -1
  75. package/dist/oql/index.js +34 -39
  76. package/dist/oql/normalize/batch.d.ts +2 -0
  77. package/dist/oql/normalize/materialize.d.ts +2 -0
  78. package/dist/oql/normalize/params.d.ts +2 -0
  79. package/dist/oql/normalize/query.d.ts +2 -0
  80. package/dist/oql/normalize/scope.d.ts +2 -0
  81. package/dist/oql/normalize/shared.d.ts +7 -0
  82. package/dist/oql/normalize/source.d.ts +2 -0
  83. package/dist/oql/normalize/where.d.ts +2 -0
  84. package/dist/oql/normalize.d.ts +19 -4
  85. package/dist/oql/planner/planDiagnostics.d.ts +13 -0
  86. package/dist/oql/planner/predicateRouting.d.ts +35 -0
  87. package/dist/oql/predicateUtils.d.ts +3 -0
  88. package/dist/oql/research/analyze/manifest-scan.d.ts +4 -0
  89. package/dist/oql/research/analyze/source-graph.d.ts +7 -0
  90. package/dist/oql/research/analyze/symbol-scoring.d.ts +4 -0
  91. package/dist/oql/research/analyze/types.d.ts +163 -0
  92. package/dist/oql/research/analyze/utils.d.ts +16 -0
  93. package/dist/oql/research/analyze.d.ts +2 -133
  94. package/dist/oql/research/packets/builders.d.ts +4 -0
  95. package/dist/oql/research/packets/types.d.ts +91 -0
  96. package/dist/oql/research/packets.d.ts +21 -80
  97. package/dist/oql/run/batch.d.ts +3 -0
  98. package/dist/oql/run/continuations/records.d.ts +19 -0
  99. package/dist/oql/run/continuations/registry.d.ts +22 -0
  100. package/dist/oql/run/continuations/semantics.d.ts +3 -0
  101. package/dist/oql/run/continuations/types.d.ts +12 -0
  102. package/dist/oql/run/dryRun.d.ts +11 -0
  103. package/dist/oql/run/paths.d.ts +15 -0
  104. package/dist/oql/run/proofGrades.d.ts +8 -0
  105. package/dist/oql/run/select.d.ts +10 -0
  106. package/dist/oql/run/single.d.ts +22 -0
  107. package/dist/oql/run.d.ts +4 -31
  108. package/dist/oql/schema/predicates.d.ts +12 -0
  109. package/dist/oql/schema.d.ts +50 -35
  110. package/dist/oql/schemeText.d.ts +10 -13
  111. package/dist/oql/shorthand/predicates.d.ts +15 -0
  112. package/dist/oql/shorthand/query-controls.d.ts +18 -0
  113. package/dist/oql/shorthand/target-params.d.ts +9 -0
  114. package/dist/oql/shorthand/types.d.ts +159 -0
  115. package/dist/oql/shorthand/utils.d.ts +7 -0
  116. package/dist/oql/shorthand.d.ts +2 -171
  117. package/dist/oql/targetParams.d.ts +0 -13
  118. package/dist/oql/transformers/github/code.d.ts +1 -9
  119. package/dist/oql/types/diagnostics.d.ts +22 -0
  120. package/dist/oql/types/envelope.d.ts +78 -0
  121. package/dist/oql/types/guards.d.ts +9 -0
  122. package/dist/oql/types/planner.d.ts +46 -0
  123. package/dist/oql/types/predicates.d.ts +93 -0
  124. package/dist/oql/types/query.d.ts +143 -0
  125. package/dist/oql/types/recordData.d.ts +127 -0
  126. package/dist/oql/types/recordRows.d.ts +48 -0
  127. package/dist/oql/types/results.d.ts +118 -0
  128. package/dist/oql/types/targets.d.ts +22 -0
  129. package/dist/oql/types.d.ts +17 -640
  130. package/dist/providers/github/paginationMetadata.d.ts +12 -0
  131. package/dist/providers/providerResults.d.ts +0 -1
  132. package/dist/schema.js +2 -2
  133. package/dist/scheme/pagination.d.ts +65 -0
  134. package/dist/shared/config/index.js +1 -1
  135. package/dist/shared/credentials/index.js +2 -2
  136. package/dist/shared/credentials/testing.js +1 -1
  137. package/dist/shared/languageSelectors/classify.d.ts +15 -0
  138. package/dist/shared/languageSelectors/data.d.ts +12 -0
  139. package/dist/shared/languageSelectors.d.ts +3 -23
  140. package/dist/shared/paths.d.ts +0 -4
  141. package/dist/shared/paths.js +1 -1
  142. package/dist/shared/session/index.js +1 -1
  143. package/dist/shared/session/statsDefaults.d.ts +1 -2
  144. package/dist/tools/directToolCatalog/toolCatalogDefinitions.d.ts +68 -0
  145. package/dist/tools/directToolCatalog/toolCommandPatternQueries.d.ts +4 -0
  146. package/dist/tools/directToolCatalog/toolCommandPatterns.d.ts +4 -0
  147. package/dist/tools/directToolCatalog/toolInputPreparation.d.ts +12 -0
  148. package/dist/tools/directToolCatalog/toolSchemaIntrospection.d.ts +19 -0
  149. package/dist/tools/directToolCatalog.meta.d.ts +10 -67
  150. package/dist/tools/github_clone_repo/cache.d.ts +1 -5
  151. package/dist/tools/github_clone_repo/cachePaths.d.ts +5 -0
  152. package/dist/tools/github_fetch_content/finalizer/entryParsers.d.ts +9 -0
  153. package/dist/tools/github_fetch_content/finalizer/types.d.ts +101 -0
  154. package/dist/tools/github_fetch_content/finalizer.d.ts +1 -7
  155. package/dist/tools/github_fetch_content/scheme.d.ts +42 -9
  156. package/dist/tools/github_fetch_content/types.d.ts +1 -2
  157. package/dist/tools/github_search_code/execution.d.ts +9 -0
  158. package/dist/tools/github_search_code/finalizer/build.d.ts +4 -0
  159. package/dist/tools/github_search_code/finalizer/groups.d.ts +23 -0
  160. package/dist/tools/github_search_code/finalizer/ranking.d.ts +12 -0
  161. package/dist/tools/github_search_code/finalizer.d.ts +2 -6
  162. package/dist/tools/github_search_code/scheme.d.ts +29 -2
  163. package/dist/tools/github_search_pull_requests/contentResponse/commentsShaping.d.ts +68 -0
  164. package/dist/tools/github_search_pull_requests/contentResponse/fileSurfaces.d.ts +52 -0
  165. package/dist/tools/github_search_pull_requests/contentResponse/nextCalls.d.ts +17 -0
  166. package/dist/tools/github_search_pull_requests/contentResponse/pagination.d.ts +63 -0
  167. package/dist/tools/github_search_pull_requests/contentResponse.d.ts +1 -15
  168. package/dist/tools/github_search_pull_requests/execution/commitsMode.d.ts +4 -0
  169. package/dist/tools/github_search_pull_requests/execution/issuesMode.d.ts +4 -0
  170. package/dist/tools/github_search_pull_requests/execution/pullRequestsMode.d.ts +4 -0
  171. package/dist/tools/github_search_pull_requests/execution/releasesMode.d.ts +4 -0
  172. package/dist/tools/github_search_pull_requests/execution/types.d.ts +6 -0
  173. package/dist/tools/github_search_pull_requests/execution.d.ts +1 -4
  174. package/dist/tools/github_search_pull_requests/scheme.d.ts +11 -1
  175. package/dist/tools/github_search_repos/execution/pagination.d.ts +39 -0
  176. package/dist/tools/github_search_repos/execution/queryVariants.d.ts +38 -0
  177. package/dist/tools/github_search_repos/execution/ranking.d.ts +4 -0
  178. package/dist/tools/github_search_repos/execution.d.ts +3 -71
  179. package/dist/tools/github_search_repos/scheme.d.ts +8 -0
  180. package/dist/tools/github_view_repo_structure/types.d.ts +2 -0
  181. package/dist/tools/local_fetch_content/fetchContent/extraction.d.ts +15 -0
  182. package/dist/tools/local_fetch_content/fetchContent/pagination.d.ts +38 -0
  183. package/dist/tools/local_fetch_content/fetchContent/validation.d.ts +26 -0
  184. package/dist/tools/local_fetch_content/fetchContent.d.ts +2 -0
  185. package/dist/tools/local_fetch_content/scheme.d.ts +25 -1
  186. package/dist/tools/local_find_files/scheme.d.ts +32 -0
  187. package/dist/tools/local_ripgrep/rankingProfile/rankingProfiles.d.ts +70 -0
  188. package/dist/tools/local_ripgrep/rankingProfile/rankingResults.d.ts +47 -0
  189. package/dist/tools/local_ripgrep/rankingProfile/rankingScoring.d.ts +41 -0
  190. package/dist/tools/local_ripgrep/rankingProfile.d.ts +16 -95
  191. package/dist/tools/local_ripgrep/ripgrepResultBuilder/buildResult.d.ts +10 -0
  192. package/dist/tools/local_ripgrep/ripgrepResultBuilder/searchNext.d.ts +46 -0
  193. package/dist/tools/local_ripgrep/ripgrepResultBuilder.d.ts +2 -18
  194. package/dist/tools/local_ripgrep/scheme.d.ts +95 -0
  195. package/dist/tools/local_view_structure/scheme.d.ts +31 -0
  196. package/dist/tools/lsp/semantic_content/scheme.d.ts +61 -0
  197. package/dist/tools/lsp/semantic_content/semanticAnchored.d.ts +7 -0
  198. package/dist/tools/lsp/semantic_content/semanticEnvelopes/callEnvelopes.d.ts +5 -0
  199. package/dist/tools/lsp/semantic_content/semanticEnvelopes/envelopeHelpers.d.ts +20 -0
  200. package/dist/tools/lsp/semantic_content/semanticEnvelopes/locationEnvelopes.d.ts +13 -0
  201. package/dist/tools/lsp/semantic_content/semanticEnvelopes.d.ts +3 -0
  202. package/dist/tools/lsp/semantic_content/semanticFileOps/anchor.d.ts +24 -0
  203. package/dist/tools/lsp/semantic_content/semanticFileOps/documentSymbols.d.ts +27 -0
  204. package/dist/tools/lsp/semantic_content/semanticFileOps/workspaceSymbolsAndDiagnostics.d.ts +20 -0
  205. package/dist/tools/lsp/semantic_content/semanticFileOps.d.ts +8 -0
  206. package/dist/tools/lsp/semantic_content/semanticPresentation.d.ts +53 -0
  207. package/dist/tools/lsp/shared/semanticTypes.d.ts +6 -0
  208. package/dist/tools/package_search/execution.d.ts +8 -0
  209. package/dist/tools/package_search/scheme.d.ts +43 -2
  210. package/dist/tools/providerMappers/codeSearch.d.ts +66 -0
  211. package/dist/tools/providerMappers/fileContent.d.ts +28 -0
  212. package/dist/tools/providerMappers/pullRequests.d.ts +158 -0
  213. package/dist/tools/providerMappers/repoSearch.d.ts +30 -0
  214. package/dist/tools/providerMappers/repoStructure.d.ts +20 -0
  215. package/dist/tools/providerMappers/shared.d.ts +23 -0
  216. package/dist/tools/providerMappers.d.ts +9 -294
  217. package/dist/tools/toolConfig.d.ts +0 -2
  218. package/dist/tools/toolMetadata/descriptionOverrides.d.ts +4 -0
  219. package/dist/tools/toolSchemaImports.d.ts +13 -0
  220. package/dist/utils/contextUtils.d.ts +5 -16
  221. package/dist/utils/core/types.d.ts +2 -24
  222. package/dist/utils/exec/spawn/env.d.ts +5 -0
  223. package/dist/utils/exec/spawn/wrappers.d.ts +29 -0
  224. package/dist/utils/exec/spawn.d.ts +2 -34
  225. package/dist/utils/file/toolHelpers.d.ts +12 -0
  226. package/dist/utils/http/cache/conditional.d.ts +21 -0
  227. package/dist/utils/http/cache/dataCache.d.ts +6 -0
  228. package/dist/utils/http/cache/key.d.ts +1 -0
  229. package/dist/utils/http/cache/management.d.ts +9 -0
  230. package/dist/utils/http/cache/store.d.ts +28 -0
  231. package/dist/utils/http/cache.d.ts +4 -16
  232. package/dist/utils/markdownOutline.d.ts +0 -2
  233. package/dist/utils/package/npm/npmDeprecation.d.ts +5 -0
  234. package/dist/utils/package/npm/npmDetailsFetchers.d.ts +15 -0
  235. package/dist/utils/package/npm/npmMappers.d.ts +12 -0
  236. package/dist/utils/package/npm/npmRegistry.d.ts +79 -0
  237. package/dist/utils/package/npm/npmSearchStrategies.d.ts +6 -0
  238. package/dist/utils/package/npm.d.ts +2 -8
  239. package/dist/utils/pagination/boundary.d.ts +5 -5
  240. package/dist/utils/response/bulk/pagination.d.ts +6 -0
  241. package/dist/utils/response/bulk/queries.d.ts +19 -0
  242. package/dist/utils/response/bulk/response.d.ts +4 -0
  243. package/dist/utils/response/bulk.d.ts +2 -6
  244. package/package.json +42 -35
  245. package/dist/tools/local_binary_inspect/archiveOps.d.ts +0 -24
  246. package/dist/tools/local_binary_inspect/binaryInspector.d.ts +0 -86
  247. package/dist/tools/local_binary_inspect/binaryOps.d.ts +0 -27
  248. package/dist/tools/local_binary_inspect/decompressOps.d.ts +0 -16
  249. package/dist/tools/local_binary_inspect/execution.d.ts +0 -4
  250. package/dist/tools/local_binary_inspect/scheme.d.ts +0 -144
  251. package/dist/tools/local_ripgrep/lspBoost.d.ts +0 -54
  252. package/dist/utils/parsers/ripgrep.d.ts +0 -11
@@ -7,644 +7,21 @@
7
7
  * raw string DSL. Schemas/descriptions co-locate here for now (tools-core) and
8
8
  * may migrate to `@octocodeai/octocode-core/oql` once a second consumer needs
9
9
  * OQL validation without the rest of tools-core.
10
+ *
11
+ * This file is a barrel: the actual definitions (targets such as
12
+ * `OqlActiveTarget`, predicates, query/batch input, diagnostics, planner,
13
+ * result rows, record `data` contracts + typed row aliases, and the result
14
+ * envelope) live under `./types/`, split by cohesion. Re-exporting everything
15
+ * here keeps every existing import of `oql/types(.js)` working unchanged.
10
16
  */
11
- export type OqlActiveTarget = 'code' | 'content' | 'structure' | 'files' | 'semantics' | 'repositories' | 'packages' | 'pullRequests' | 'commits' | 'artifacts' | 'diff' | 'research' | 'graph' | 'materialize';
12
- export type OqlReservedTarget = 'fixes' | 'dataflow';
13
- export type OqlTarget = OqlActiveTarget | OqlReservedTarget;
14
- export declare const ACTIVE_TARGETS: readonly OqlActiveTarget[];
15
- export declare const RESERVED_TARGETS: readonly OqlReservedTarget[];
16
- /** Targets that do not need a code corpus (provider/registry discovery). */
17
- export declare const CORPUS_OPTIONAL_TARGETS: readonly OqlActiveTarget[];
18
- /**
19
- * Which `controls.search.sort` values each lane can actually execute
20
- * (files: localFindFiles sortBy; code: code-search ranking sorts). Single
21
- * source for shorthand lowering and the planner's inapplicable-sort warning —
22
- * a value outside the target's set is IGNORED by the backend, never an error.
23
- */
24
- export declare const SEARCH_SORTS_BY_TARGET: {
25
- readonly code: readonly ["relevance", "matchCount", "path", "modified", "accessed", "created"];
26
- readonly files: readonly ["size", "name", "path", "modified"];
27
- };
28
- export type PredicateId = string;
29
- export type QuerySource = {
30
- kind: 'local';
31
- path: string;
32
- } | {
33
- kind: 'github';
34
- repo?: string;
35
- owner?: string;
36
- ref?: string;
37
- } | {
38
- kind: 'materialized';
39
- localPath: string;
40
- source?: QuerySource;
41
- } | {
42
- kind: 'npm';
43
- };
44
- export interface QueryScope {
45
- path?: string | string[];
46
- language?: string | string[];
47
- include?: string[];
48
- exclude?: string[];
49
- excludeDir?: string[];
50
- hidden?: boolean;
51
- noIgnore?: boolean;
52
- minDepth?: number;
53
- maxDepth?: number;
54
- }
55
- export interface TextPredicate {
56
- id?: PredicateId;
57
- kind: 'text';
58
- value: string;
59
- case?: 'smart' | 'sensitive' | 'insensitive';
60
- wholeWord?: boolean;
61
- }
62
- export interface RegexPredicate {
63
- id?: PredicateId;
64
- kind: 'regex';
65
- value: string;
66
- dialect?: 'rust' | 'pcre2' | 'provider';
67
- case?: 'smart' | 'sensitive' | 'insensitive';
68
- wholeWord?: boolean;
69
- multiline?: boolean;
70
- dotAll?: boolean;
71
- }
72
- export interface StructuralRule {
73
- pattern?: string;
74
- kind?: string;
75
- inside?: StructuralRule;
76
- has?: StructuralRule;
77
- not?: StructuralRule;
78
- all?: StructuralRule[];
79
- any?: StructuralRule[];
80
- stopBy?: 'end';
81
- }
82
- export type StructuralRuleInput = StructuralRule | string;
83
- export interface StructuralPredicate {
84
- id?: PredicateId;
85
- kind: 'structural';
86
- lang: string;
87
- pattern?: string;
88
- rule?: StructuralRuleInput;
89
- }
90
- export type FieldName = 'path' | 'basename' | 'extension' | 'size' | 'modified' | 'accessed' | 'empty' | 'permissions' | 'executable' | 'readable' | 'writable' | 'entryType';
91
- export type FieldOp = '=' | '!=' | 'in' | 'exists' | 'glob' | 'regex' | '>' | '>=' | '<' | '<=' | 'within' | 'before';
92
- export interface FieldPredicate {
93
- id?: PredicateId;
94
- kind: 'field';
95
- field: FieldName;
96
- op: FieldOp;
97
- value?: unknown;
98
- }
99
- export interface AllPredicate {
100
- kind: 'all';
101
- id?: PredicateId;
102
- of: Predicate[];
103
- }
104
- export interface AnyPredicate {
105
- kind: 'any';
106
- id?: PredicateId;
107
- of: Predicate[];
108
- }
109
- export interface NotPredicate {
110
- kind: 'not';
111
- id?: PredicateId;
112
- predicate: Predicate;
113
- }
114
- export type LeafPredicate = TextPredicate | RegexPredicate | StructuralPredicate | FieldPredicate;
115
- export type Predicate = AllPredicate | AnyPredicate | NotPredicate | LeafPredicate;
116
- export interface MaterializePolicy {
117
- mode: 'never' | 'auto' | 'required';
118
- strategy?: 'file' | 'tree' | 'subtree' | 'repo';
119
- allowFullRepo?: boolean;
120
- forceRefresh?: boolean;
121
- }
122
- export interface FetchInstructions {
123
- content?: {
124
- range?: {
125
- startLine?: number;
126
- endLine?: number;
127
- contextLines?: number;
128
- };
129
- match?: {
130
- text: string;
131
- regex?: boolean;
132
- caseSensitive?: boolean;
133
- };
134
- contentView?: 'exact' | 'compact' | 'symbols';
135
- charOffset?: number;
136
- charLength?: number;
137
- fullContent?: boolean;
138
- };
139
- tree?: {
140
- maxDepth?: number;
141
- pattern?: string;
142
- includeSizes?: boolean;
143
- extensions?: string[];
144
- filesOnly?: boolean;
145
- directoriesOnly?: boolean;
146
- sortBy?: 'name' | 'size' | 'time' | 'extension';
147
- reverse?: boolean;
148
- };
149
- }
150
- export interface QueryControls {
151
- search?: {
152
- countLinesPerFile?: boolean;
153
- countMatchesPerFile?: boolean;
154
- onlyMatching?: boolean;
155
- unique?: boolean;
156
- countUnique?: boolean;
157
- contextLines?: number;
158
- invertMatch?: boolean;
159
- matchWindow?: number;
160
- matchContentLength?: number;
161
- maxMatchesPerFile?: number;
162
- matchPage?: number;
163
- sort?: 'relevance' | 'matchCount' | 'path' | 'modified' | 'accessed' | 'created' | 'size' | 'name';
164
- sortReverse?: boolean;
165
- rankingProfile?: string;
166
- debugRanking?: boolean;
167
- };
168
- budget?: {
169
- maxFiles?: number;
170
- maxCandidates?: number;
171
- maxBytes?: number;
172
- maxMaterializedBytes?: number;
173
- maxPlanNodes?: number;
174
- maxBooleanExpansion?: number;
175
- timeoutMs?: number;
176
- };
177
- }
178
- export type SelectField = string;
179
- export type QueryView = 'discovery' | 'paginated' | 'detailed';
180
- export interface OqlQuery {
181
- schema: 'oql';
182
- id?: string;
183
- target: OqlActiveTarget;
184
- from?: QuerySource;
185
- scope?: QueryScope;
186
- where?: Predicate;
187
- materialize?: MaterializePolicy;
188
- fetch?: FetchInstructions;
189
- select?: SelectField[];
190
- view?: QueryView;
191
- controls?: QueryControls;
192
- limit?: number;
193
- page?: number;
194
- itemsPerPage?: number;
195
- /**
196
- * Target-specific parameter bag. The backing tool's schema remains the
197
- * exhaustive validator; OQL validates the documented common fields early.
198
- */
199
- params?: Record<string, unknown>;
200
- explain?: boolean;
201
- }
202
- export interface OqlBatch {
203
- schema: 'oql';
204
- id?: string;
205
- queries: OqlQuery[];
206
- combine?: 'independent' | 'merge';
207
- limit?: number;
208
- page?: number;
209
- itemsPerPage?: number;
210
- explain?: boolean;
211
- }
212
- export type OqlCanonicalInput = OqlQuery | OqlBatch;
213
- export interface OqlInputQuery {
214
- schema?: 'oql';
215
- id?: string;
216
- target: OqlTarget;
217
- from?: QuerySource;
218
- scope?: QueryScope;
219
- where?: Predicate;
220
- materialize?: MaterializePolicy | 'never' | 'auto' | 'required';
221
- fetch?: FetchInstructions;
222
- select?: SelectField[];
223
- view?: QueryView;
224
- controls?: QueryControls;
225
- limit?: number;
226
- page?: number;
227
- itemsPerPage?: number;
228
- explain?: boolean;
229
- repo?: string;
230
- owner?: string;
231
- ref?: string;
232
- path?: string | string[];
233
- text?: string;
234
- regex?: string;
235
- pattern?: string;
236
- rule?: StructuralRule;
237
- lang?: string;
238
- [key: string]: unknown;
239
- }
240
- export interface OqlInputBatch {
241
- schema?: 'oql';
242
- id?: string;
243
- queries: OqlInputQuery[];
244
- combine?: 'independent' | 'merge';
245
- limit?: number;
246
- page?: number;
247
- itemsPerPage?: number;
248
- explain?: boolean;
249
- }
250
- export type OqlSearchInput = OqlInputQuery | OqlInputBatch;
251
- export type DiagnosticCode = 'invalidQuery' | 'ambiguousSugar' | 'unknownField' | 'unsupportedTarget' | 'unsupportedPredicate' | 'unsupportedBoolean' | 'unsupportedScope' | 'negativeUniverseRequired' | 'residualNotExact' | 'fieldTypeMismatch' | 'requiresMaterialization' | 'vendorNoEquivalent' | 'lossyTransform' | 'unsupportedVendorPredicate' | 'responseShapeMismatch' | 'materializationNotAllowed' | 'materializationFailed' | 'providerUnindexed' | 'providerSemanticsApproximate' | 'partialResult' | 'contentTruncated' | 'matchTruncated' | 'planTruncated' | 'budgetExhausted' | 'parserFailed' | 'partialParse' | 'signatureUnsupported' | 'lspUnavailable' | 'staleCache' | 'sanitized' | 'rateLimited' | 'authRequired' | 'zeroMatches' | 'symbolNotFound';
252
- export interface OqlDiagnostic {
253
- code: DiagnosticCode;
254
- severity: 'info' | 'warning' | 'error';
255
- queryPath?: string;
256
- predicateId?: string;
257
- backend?: string;
258
- message: string;
259
- blocksAnswer: boolean;
260
- repair?: {
261
- message: string;
262
- suggestedQuery?: OqlSearchInput;
263
- };
264
- continuation?: OqlContinuation;
265
- }
266
- export type PlanRoute = 'PUSHDOWN' | 'RESIDUAL' | 'ROUTE' | 'UNSUPPORTED';
267
- export interface OqlPlanNode {
268
- predicateId: PredicateId;
269
- path: string;
270
- route: PlanRoute;
271
- backend?: string;
272
- reason: string;
273
- }
274
- export interface OqlBackendCall {
275
- backend: string;
276
- source?: QuerySource;
277
- operation: string;
278
- exact: boolean;
279
- }
280
- export interface OqlTransformerTrace {
281
- id: string;
282
- status: string;
283
- sourceKinds: readonly string[];
284
- target: string;
285
- backends: readonly Pick<OqlBackendCall, 'backend' | 'operation' | 'exact'>[];
286
- }
287
- export interface OqlExplainPlan {
288
- input: unknown;
289
- normalized: OqlCanonicalInput;
290
- defaults: Record<string, unknown>;
291
- nodes: OqlPlanNode[];
292
- backendCalls: OqlBackendCall[];
293
- transformers?: readonly OqlTransformerTrace[];
294
- materialization?: MaterializePolicy & {
295
- required: boolean;
296
- reason: string;
297
- };
298
- budgets: QueryControls['budget'];
299
- truncated?: boolean;
300
- diagnostics: OqlDiagnostic[];
301
- next?: Record<string, OqlContinuation>;
302
- }
303
- export type OqlProofGrade = 'candidate' | 'text' | 'structural' | 'semantic' | 'graph' | 'missing';
304
- interface OqlProofGradedRow {
305
- /**
306
- * Mandatory on rows emitted by `runOqlSearch`; adapters may omit it while the
307
- * runner computes the final proof grade from query semantics and row shape.
308
- */
309
- proofGrade?: OqlProofGrade;
310
- }
311
- export interface OqlCodeResultRow extends OqlProofGradedRow {
312
- kind: 'code';
313
- source?: QuerySource;
314
- path: string;
315
- /**
316
- * 1-based match line. Optional because some providers (GitHub code search)
317
- * return path-level matches with no line — never fabricate one.
318
- */
319
- line?: number;
320
- endLine?: number;
321
- column?: number;
322
- snippet?: string;
323
- /** File-level count payloads from local search count modes. */
324
- totalMatchedLines?: number;
325
- totalOccurrences?: number;
326
- /** Provider snippet offsets when available, e.g. GitHub code search indices. */
327
- matchIndices?: Array<{
328
- start: number;
329
- end: number;
330
- lineOffset?: number;
331
- }>;
332
- /** Row-level provider/context metadata that is useful but not identity. */
333
- metadata?: Record<string, unknown>;
334
- /**
335
- * Structural (AST) metavariable captures. `$X` → single-element list; `$$$X`
336
- * → node list. Keyed by bare metavar name. Present only for structural
337
- * matches that captured; never fabricated.
338
- */
339
- metavars?: Record<string, string[]>;
340
- /** Per-capture source ranges (uri+line ready for lspGetSemantics handoff). */
341
- metavarRanges?: Record<string, {
342
- text: string;
343
- line: number;
344
- column: number;
345
- endLine: number;
346
- endColumn: number;
347
- }[]>;
348
- /**
349
- * Executable follow-up continuations. Keys are dotted *domain names*
350
- * (`next.<domain>`, e.g. `next.fetch`, `next.semantic`, `next.charRange`),
351
- * NOT nested object paths — the registry in run.ts owns the key set.
352
- */
353
- next?: Record<string, OqlContinuation>;
354
- }
355
- export interface OqlFileResultRow extends OqlProofGradedRow {
356
- kind: 'file';
357
- source?: QuerySource;
358
- path: string;
359
- entryType: 'file' | 'directory';
360
- size?: number;
361
- modified?: string;
362
- next?: Record<string, OqlContinuation>;
363
- }
364
- export interface OqlTreeResultRow extends OqlProofGradedRow {
365
- kind: 'tree';
366
- source?: QuerySource;
367
- path: string;
368
- entryType: 'file' | 'directory';
369
- depth: number;
370
- size?: number;
371
- children?: OqlTreeResultRow[];
372
- next?: Record<string, OqlContinuation>;
373
- }
374
- export interface OqlContentResultRow extends OqlProofGradedRow {
375
- kind: 'content';
376
- source?: QuerySource;
377
- path: string;
378
- content: string;
379
- range?: {
380
- startLine?: number;
381
- endLine?: number;
382
- charOffset?: number;
383
- charLength?: number;
384
- };
385
- contentView: 'exact' | 'compact' | 'symbols';
386
- next?: Record<string, OqlContinuation>;
387
- }
388
- /**
389
- * Generic record row for targets whose payload is a typed research object
390
- * (repository, package, PR, commit, symbol/location, artifact, diff, packet).
391
- * `recordType` names the family; `data` is the row payload.
392
- */
393
- export interface OqlRecordResultRow extends OqlProofGradedRow {
394
- kind: 'record';
395
- recordType: 'semantics' | 'repository' | 'package' | 'pullRequest' | 'commit' | 'artifact' | 'diff' | 'research' | 'graph' | 'materialized';
396
- /** Stable, citeable identity (repo, name@version, #PR, SHA, path, uri). */
397
- id?: string;
398
- source?: QuerySource;
399
- /** Parent/query metadata preserved from the backing tool payload. */
400
- metadata?: Record<string, unknown>;
401
- data: Record<string, unknown>;
402
- next?: Record<string, OqlContinuation>;
403
- }
404
- export interface OqlRepositoryData {
405
- fullName?: string;
406
- owner?: string;
407
- repo?: string;
408
- description?: string;
409
- stars?: number;
410
- forks?: number;
411
- language?: string;
412
- topics?: string[];
413
- pushedAt?: string;
414
- url?: string;
415
- [k: string]: unknown;
416
- }
417
- export interface OqlPackageData {
418
- name?: string;
419
- version?: string;
420
- description?: string;
421
- downloads?: number;
422
- repository?: string;
423
- repositoryId?: string;
424
- [k: string]: unknown;
425
- }
426
- export interface OqlPullRequestData {
427
- number?: number;
428
- title?: string;
429
- state?: string;
430
- author?: string;
431
- createdAt?: string;
432
- mergedAt?: string;
433
- changedFiles?: number;
434
- url?: string;
435
- [k: string]: unknown;
436
- }
437
- export interface OqlCommitData {
438
- sha?: string;
439
- oid?: string;
440
- message?: string;
441
- title?: string;
442
- author?: string;
443
- date?: string;
444
- [k: string]: unknown;
445
- }
446
- export interface OqlArtifactData {
447
- mode?: string;
448
- format?: string;
449
- /** Set when extract/decompress/unpack produced a derived local path. */
450
- localPath?: string;
451
- entries?: unknown[];
452
- strings?: unknown[];
453
- symbols?: unknown[];
454
- nextScanOffset?: number;
455
- [k: string]: unknown;
456
- }
457
- export interface OqlDiffData {
458
- path?: string;
459
- baseRef?: string;
460
- headRef?: string;
461
- additions?: number;
462
- deletions?: number;
463
- unchanged?: number;
464
- patch?: string;
465
- [k: string]: unknown;
466
- }
467
- export interface OqlSemanticsData {
468
- uri?: string;
469
- line?: number;
470
- startLine?: number;
471
- symbol?: string;
472
- kind?: string;
473
- [k: string]: unknown;
474
- }
475
- export interface OqlMaterializedData {
476
- localPath: string;
477
- repoRoot?: string;
478
- ref?: string;
479
- cache?: 'hit' | 'miss';
480
- complete?: boolean;
481
- [k: string]: unknown;
482
- }
483
- export interface OqlResearchData {
484
- kind?: 'researchFlow';
485
- goal?: string;
486
- intent?: string;
487
- facets?: readonly string[];
488
- mode?: 'plan' | 'analyze' | 'prove';
489
- summary?: Record<string, unknown>;
490
- flow?: readonly unknown[];
491
- nativeGraphSummary?: Record<string, unknown>;
492
- graphSummary?: Record<string, unknown>;
493
- packetPage?: Pagination;
494
- packets?: unknown[];
495
- /** Present only in detailed view — a windowed slice (see `manifestsPage`). */
496
- manifests?: unknown[];
497
- manifestsPage?: Pagination;
498
- /** Present only in detailed view — a windowed slice (see `filesPage`). */
499
- files?: unknown[];
500
- filesPage?: Pagination;
501
- /** Present only in detailed view — a windowed slice (see `dependenciesPage`). */
502
- dependencies?: unknown[];
503
- dependenciesPage?: Pagination;
504
- /** Present only in detailed view — a windowed slice (see `symbolsPage`). */
505
- symbols?: unknown[];
506
- symbolsPage?: Pagination;
507
- /** Present only in detailed view — a windowed slice (see `graphFactsPage`). */
508
- graphFacts?: unknown[];
509
- graphFactsPage?: Pagination;
510
- caveats?: string[];
511
- [k: string]: unknown;
512
- }
513
- export interface OqlGraphData {
514
- kind?: 'relationshipGraph';
515
- goal?: string;
516
- intent?: string;
517
- facets?: readonly string[];
518
- mode?: 'plan' | 'analyze' | 'prove';
519
- root?: string;
520
- filters?: Record<string, unknown>;
521
- summary?: Record<string, unknown>;
522
- flow?: readonly unknown[];
523
- nativeGraphSummary?: Record<string, unknown>;
524
- graphSummary?: unknown;
525
- packetPage?: Pagination;
526
- nodes?: unknown[];
527
- edges?: unknown[];
528
- facts?: unknown[];
529
- packets?: unknown[];
530
- missingProof?: unknown[];
531
- caveats?: string[];
532
- [k: string]: unknown;
533
- }
534
- /** Typed row aliases — a record row whose `data` matches its `recordType`. */
535
- export type OqlRepositoryRow = OqlRecordResultRow & {
536
- recordType: 'repository';
537
- data: OqlRepositoryData;
538
- };
539
- export type OqlPackageRow = OqlRecordResultRow & {
540
- recordType: 'package';
541
- data: OqlPackageData;
542
- };
543
- export type OqlPullRequestRow = OqlRecordResultRow & {
544
- recordType: 'pullRequest';
545
- data: OqlPullRequestData;
546
- };
547
- export type OqlCommitRow = OqlRecordResultRow & {
548
- recordType: 'commit';
549
- data: OqlCommitData;
550
- };
551
- export type OqlArtifactRow = OqlRecordResultRow & {
552
- recordType: 'artifact';
553
- data: OqlArtifactData;
554
- };
555
- export type OqlDiffRow = OqlRecordResultRow & {
556
- recordType: 'diff';
557
- data: OqlDiffData;
558
- };
559
- export type OqlSemanticsRow = OqlRecordResultRow & {
560
- recordType: 'semantics';
561
- data: OqlSemanticsData;
562
- };
563
- export type OqlMaterializedRow = OqlRecordResultRow & {
564
- recordType: 'materialized';
565
- data: OqlMaterializedData;
566
- };
567
- export type OqlResearchRow = OqlRecordResultRow & {
568
- recordType: 'research';
569
- data: OqlResearchData;
570
- };
571
- export type OqlGraphRow = OqlRecordResultRow & {
572
- recordType: 'graph';
573
- data: OqlGraphData;
574
- };
575
- export type OqlResultRow = OqlCodeResultRow | OqlFileResultRow | OqlTreeResultRow | OqlContentResultRow | OqlRecordResultRow;
576
- export type OqlProofGradedResultRow = OqlResultRow & {
577
- proofGrade: OqlProofGrade;
578
- };
579
- export interface Pagination {
580
- currentPage?: number;
581
- totalPages?: number;
582
- nextPage?: number;
583
- itemsPerPage?: number;
584
- totalItems?: number;
585
- reportedTotalItems?: number;
586
- reachableTotalItems?: number;
587
- totalItemsKind?: string;
588
- itemUnit?: string;
589
- rowCount?: number;
590
- reportedRowCount?: number;
591
- totalItemsCapped?: boolean;
592
- uniqueFileCount?: number;
593
- hasMore: boolean;
594
- next?: OqlContinuation;
595
- }
596
- export interface OqlProvenance {
597
- backend: string;
598
- source?: QuerySource;
599
- predicateIds?: string[];
600
- pushed?: string[];
601
- residual?: string[];
602
- routed?: string[];
603
- materializedPath?: string;
604
- cache?: 'hit' | 'miss' | 'refresh' | 'stale';
605
- }
606
- export interface OqlContinuation {
607
- query: OqlCanonicalInput;
608
- baseQueryId?: string;
609
- queryIndex?: number;
610
- why?: string;
611
- confidence?: 'exact' | 'heuristic';
612
- }
613
- export interface OqlContinuationHint {
614
- why: string;
615
- confidence: 'exact' | 'heuristic';
616
- }
617
- export type EvidenceKind = 'proof' | 'partial' | 'candidate' | 'unsupported';
618
- export interface OqlResultEnvelope {
619
- queryId?: string;
620
- queryIndex?: number;
621
- results: OqlProofGradedResultRow[];
622
- shared?: Record<string, unknown>;
623
- pagination?: Pagination;
624
- next?: Record<string, OqlContinuation>;
625
- nextHints?: Record<string, OqlContinuationHint>;
626
- diagnostics: OqlDiagnostic[];
627
- provenance: OqlProvenance[];
628
- evidence: {
629
- answerReady: boolean;
630
- complete: boolean;
631
- kind: EvidenceKind;
632
- };
633
- plan?: OqlExplainPlan;
634
- }
635
- export interface OqlBatchResultEnvelope {
636
- batchId?: string;
637
- mode: 'independent' | 'merge';
638
- children: Array<{
639
- queryId: string;
640
- queryIndex: number;
641
- envelope: OqlResultEnvelope;
642
- }>;
643
- merged?: OqlResultEnvelope;
644
- diagnostics: OqlDiagnostic[];
645
- }
646
- export type OqlRunResult = OqlResultEnvelope | OqlBatchResultEnvelope;
647
- export declare function isBatchInput(input: OqlSearchInput): input is OqlInputBatch;
648
- export declare function isCanonicalBatch(input: OqlCanonicalInput): input is OqlBatch;
649
- export declare function isBatchEnvelope(result: OqlRunResult): result is OqlBatchResultEnvelope;
650
- export {};
17
+ export type { OqlActiveTarget, OqlReservedTarget, OqlTarget, } from './types/targets.js';
18
+ export { ACTIVE_TARGETS, RESERVED_TARGETS, CORPUS_OPTIONAL_TARGETS, SEARCH_SORTS_BY_TARGET, } from './types/targets.js';
19
+ export type { PredicateId, QuerySource, QueryScope, TextPredicate, RegexPredicate, StructuralRule, StructuralRuleInput, StructuralPredicate, FieldName, FieldOp, FieldPredicate, AllPredicate, AnyPredicate, NotPredicate, LeafPredicate, Predicate, } from './types/predicates.js';
20
+ export type { MaterializePolicy, FetchInstructions, QueryControls, SelectField, QueryView, OqlQuery, OqlBatch, OqlCanonicalInput, OqlInputQuery, OqlInputBatch, OqlSearchInput, } from './types/query.js';
21
+ export type { DiagnosticCode, OqlDiagnostic } from './types/diagnostics.js';
22
+ export type { PlanRoute, OqlPlanNode, OqlBackendCall, OqlTransformerTrace, OqlExplainPlan, } from './types/planner.js';
23
+ export type { OqlProofGrade, OqlCodeResultRow, OqlFileResultRow, OqlTreeResultRow, OqlContentResultRow, OqlRecordResultRow, } from './types/results.js';
24
+ export type { OqlRepositoryData, OqlPackageData, OqlPullRequestData, OqlCommitData, OqlDiffData, OqlSemanticsData, OqlMaterializedData, OqlResearchData, OqlGraphData, } from './types/recordData.js';
25
+ export type { OqlRepositoryRow, OqlPackageRow, OqlPullRequestRow, OqlCommitRow, OqlDiffRow, OqlSemanticsRow, OqlMaterializedRow, OqlResearchRow, OqlGraphRow, OqlResultRow, OqlProofGradedResultRow, } from './types/recordRows.js';
26
+ export type { Pagination, OqlProvenance, OqlContinuation, OqlContinuationHint, EvidenceKind, OqlResultEnvelope, OqlBatchResultEnvelope, OqlRunResult, } from './types/envelope.js';
27
+ export { isBatchInput, isCanonicalBatch, isBatchEnvelope, } from './types/guards.js';
@@ -0,0 +1,12 @@
1
+ import type { PaginationInfo } from '../../types/toolResults.js';
2
+ /**
3
+ * Shared count-honesty fields from search/PR pagination envelopes.
4
+ * Single source so githubSearch / githubPullRequests / mappers stay aligned.
5
+ */
6
+ export declare function countPaginationMetadata(pagination: PaginationInfo | undefined): {
7
+ reportedTotalMatches?: number;
8
+ reachableTotalMatches?: number;
9
+ totalMatchesKind?: PaginationInfo['totalMatchesKind'];
10
+ totalMatchesCapped?: boolean;
11
+ uniqueFileCount?: number;
12
+ };
@@ -54,7 +54,6 @@ export interface FileContentResult {
54
54
  sourceChars?: number;
55
55
  sourceBytes?: number;
56
56
  contentView?: 'none' | 'standard' | 'symbols';
57
- isSkeleton?: boolean;
58
57
  ref: string;
59
58
  lastModified?: string;
60
59
  lastModifiedBy?: string;