@octocodeai/octocode-core 16.4.0 → 16.5.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.
@@ -1 +1 @@
1
- import{brotliDecompressSync as S}from"node:zlib";export default JSON.parse(S(Buffer.from("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","base64")).toString());
1
+ import{brotliDecompressSync as m}from"node:zlib";export default JSON.parse(m(Buffer.from("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","base64")).toString());
@@ -5,12 +5,13 @@ export declare const LocalBinaryInspectQuerySchema: z.ZodObject<{
5
5
  path: z.ZodString;
6
6
  mode: z.ZodEnum<{
7
7
  list: "list";
8
- identify: "identify";
8
+ inspect: "inspect";
9
9
  extract: "extract";
10
10
  decompress: "decompress";
11
11
  strings: "strings";
12
12
  unpack: "unpack";
13
13
  }>;
14
+ detailed: z.ZodOptional<z.ZodBoolean>;
14
15
  verbose: z.ZodOptional<z.ZodBoolean>;
15
16
  maxEntries: z.ZodDefault<z.ZodNumber>;
16
17
  entriesPerPage: z.ZodOptional<z.ZodNumber>;
@@ -33,6 +34,7 @@ export declare const LocalBinaryInspectQuerySchema: z.ZodObject<{
33
34
  }>>;
34
35
  minLength: z.ZodDefault<z.ZodNumber>;
35
36
  includeOffsets: z.ZodOptional<z.ZodBoolean>;
37
+ scanOffset: z.ZodOptional<z.ZodNumber>;
36
38
  id: z.ZodOptional<z.ZodString>;
37
39
  mainResearchGoal: z.ZodOptional<z.ZodString>;
38
40
  researchGoal: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- import{z as e}from"zod";import{buildObject as t,charLength as a,charOffset as s,DEFAULT_BINARY_CONTEXT_LINES as r,DEFAULT_BINARY_ENTRIES as i,DEFAULT_STRINGS_MIN_LENGTH as n,defineTool as o,intRange as c,MAX_BINARY_CONTEXT_LINES as l,MAX_BINARY_ENTRIES as h,MAX_BINARY_ENTRIES_PER_PAGE as m,MAX_STRINGS_MIN_LENGTH as d,metaFields as p,pageNumber as u}from"./_toolkit.js";export const localBinaryInspect=o({name:"localBinaryInspect",type:"Local",shortDescription:"Inspect archives, compressed streams, and binaries — list, extract, decompress, strings.",instructions:"Availability: needs ENABLE_BINARY + ENABLE_LOCAL; when off, use localSearchCode(searchBinary:true) for pattern sweeps. For plain text use localGetFileContent.\nPick mode by goal (see the mode field): identify (unknown filetype), list (archive entries), extract (one entry), decompress (single-stream .gz/.xz/… → text), unpack (whole archive to a localPath), strings (symbols/URLs in a native binary). Run list before extract to get exact entry names.\nBest practice: this tool only unpacks — chain it: discover (localFindFiles/localViewStructure) → unpack here → read (localGetFileContent) → search (localSearchCode) → analyze (lspGetSemantics).\nSignals: totalEntries above the returned count = truncated (page with entryPageNumber); extract/decompress/strings output is char-paginated — advance charOffset from hints. unpack returns localPath — point local tools at it. If decompress rejects a multi-entry archive, use list/extract or unpack.",schema:{path:"Path to the archive, compressed file, or binary — absolute or workspace-relative.",mode:'Pick by what you have and what you want back. "identify": unknown file → its type + magic bytes; start here when you are not sure what the file is. "list": an archive (.zip/.jar/.tar.*/.7z/.deb/.dmg…) → its entry names, so you can see what is inside before pulling anything out. "extract": an archive → one entry\'s content; set archiveFile to an exact name from a prior list. "decompress": a single-stream compressed file (.gz/.bz2/.xz/.zst/.lz4/.br/.lzfse — one payload, not a multi-entry archive) → its text. "strings": a native binary (.so/.dylib/.node/.exe/.wasm) → its readable strings (symbols, URLs, version markers). "unpack": an archive → ALL entries extracted to a cached local directory; returns localPath so you can then run localViewStructure / localSearchCode / localGetFileContent on the unpacked tree. Use for multi-file work inside an archive (extract is for a single entry). Required — there is no default.',verbose:"list: include each entry's size and mtime (names only otherwise).",maxEntries:"list: caps how many entries are returned; totalEntries still reports the full archive count.",entriesPerPage:"list: entries per page; pair with entryPageNumber.",entryPageNumber:"list: which entry page to return; pair with entriesPerPage.",archiveFile:'extract: exact entry path to stream out (case-sensitive, must not start with "-"). Run mode="list" first — do not guess entry names.',matchString:"extract/decompress: keeps only streamed lines matching this text, with matchStringContextLines around each.",matchStringContextLines:"extract/decompress: context lines kept around each matchString hit.",charOffset:"extract/decompress: continuation offset for the next page; take it from hints[] — do not compute it yourself.",charLength:"extract/decompress: page size in characters. Auto-paginates when unset.",format:'decompress: compression format. "auto" detects from the file extension; override when the extension is wrong: gzip|bzip2|xz|lzma|zstd|lz4|brotli|lzfse.',minLength:"strings: shortest printable run to keep. Raise (e.g. 12–16) to surface only symbols/URLs.",includeOffsets:"strings: prefixes each string with its hex byte offset — handy for pivoting to localSearchCode(searchBinary:true)."}});const f=[".tar.gz",".tgz",".tar.bz2",".tbz2",".tbz",".tar.xz",".txz",".tar.zst",".tzst",".zip",".jar",".war",".apk",".7z"];export const LocalBinaryInspectQuerySchema=t(localBinaryInspect.schema,{...p,path:e.string(),mode:e.enum(["identify","list","extract","decompress","strings","unpack"]),verbose:e.boolean().optional(),maxEntries:c(1,h).default(i),entriesPerPage:c(1,m).optional(),entryPageNumber:u(),archiveFile:e.string().optional(),matchString:e.string().optional(),matchStringContextLines:c(0,l).default(r),charOffset:s(),charLength:a(),format:e.enum(["auto","gzip","bzip2","xz","lzma","zstd","lz4","brotli","lzfse"]).default("auto"),minLength:c(1,d).default(n),includeOffsets:e.boolean().optional()}).superRefine((e,t)=>{"extract"!==e.mode||e.archiveFile||t.addIssue({code:"custom",path:["archiveFile"],message:'archiveFile is required for mode="extract" — run mode="list" first to get exact entry names'}),e.archiveFile?.startsWith("-")&&t.addIssue({code:"custom",path:["archiveFile"],message:'archiveFile must not start with "-" (prevents flag injection)'}),"decompress"===e.mode&&f.some(t=>e.path.toLowerCase().endsWith(t))&&t.addIssue({code:"custom",path:["mode"],message:'This path looks like a multi-entry archive — use mode="list" or mode="extract" instead of mode="decompress". decompress is for single-stream files only (.gz, .bz2, .xz, .zst, .lz4, .br, .lzfse).'})});
1
+ import{z as e}from"zod";import{buildObject as t,charLength as s,charOffset as a,DEFAULT_BINARY_CONTEXT_LINES as r,DEFAULT_BINARY_ENTRIES as i,DEFAULT_STRINGS_MIN_LENGTH as n,defineTool as o,intRange as c,MAX_BINARY_CONTEXT_LINES as l,MAX_BINARY_ENTRIES as d,MAX_BINARY_ENTRIES_PER_PAGE as h,MAX_STRINGS_MIN_LENGTH as m,metaFields as p,pageNumber as u}from"./_toolkit.js";export const localBinaryInspect=o({name:"localBinaryInspect",type:"Local",shortDescription:"Inspect archives, compressed streams, and binaries — list, extract, decompress, strings.",instructions:"Availability: needs ENABLE_BINARY + ENABLE_LOCAL; when off, use localSearchCode(searchBinary:true) for pattern sweeps. For plain text use localGetFileContent.\nPick mode by goal (see the mode field): inspect (native binaryformat/arch/counts/deps; add detailed:true for full symbols/imports/exports/sections), list (archive entries), extract (one entry), decompress (single-stream .gz/.xz/… → text), unpack (whole archive to a localPath), strings (readable text in a native binary). Run list before extract to get exact entry names.\nBest practice: this tool only unpacks — chain it: discover (localFindFiles/localViewStructure) → unpack here → read (localGetFileContent) → search (localSearchCode) → analyze (lspGetSemantics).\nSignals: totalEntries above the returned count = truncated (page with entryPageNumber); extract/decompress/strings output is char-paginated — advance charOffset from hints. unpack returns localPath — point local tools at it. If decompress rejects a multi-entry archive, use list/extract or unpack.",schema:{path:"Path to the archive, compressed file, or binary — absolute or workspace-relative.",mode:'Pick by what you have and what you want back. "inspect": a native binary / object file (.so/.dylib/.node/.exe/.dll/.wasm/.o, ELF/Mach-O/PE) concise structure: format, architecture, bits, endianness, symbol/import/export counts, and dynamic library dependencies (plus type + magic bytes). Add detailed:true only when you need full symbols/imports/exports/sections arrays. Start here for any compiled artifact when you are not sure what it is. "list": an archive (.zip/.jar/.tar.*/.7z/.deb/.dmg…) → its entry names, so you can see what is inside before pulling anything out. "extract": an archive → one entry\'s content; set archiveFile to an exact name from a prior list. "decompress": a single-stream compressed file (.gz/.bz2/.xz/.zst/.lz4/.br/.lzfse — one payload, not a multi-entry archive) → its text. "strings": a native binary (.so/.dylib/.node/.exe/.wasm) → its readable strings (symbols, URLs, version markers), ASCII and UTF-16. "unpack": an archive → ALL entries extracted to a cached local directory; returns localPath so you can then run localViewStructure / localSearchCode / localGetFileContent on the unpacked tree. Use for multi-file work inside an archive (extract is for a single entry). Required — there is no default.',verbose:"list: include each entry's size and mtime (names only otherwise).",detailed:"inspect: include full symbols/imports/exports/sections arrays. Default inspect output is concise: identity, counts, dependencies, and hints.",maxEntries:"list: caps how many entries are returned; totalEntries still reports the full archive count.",entriesPerPage:"list: entries per page; pair with entryPageNumber.",entryPageNumber:"list: which entry page to return; pair with entriesPerPage.",archiveFile:'extract: exact entry path to stream out (case-sensitive, must not start with "-"). Run mode="list" first — do not guess entry names.',matchString:"extract/decompress: keeps only streamed lines matching this text, with matchStringContextLines around each.",matchStringContextLines:"extract/decompress: context lines kept around each matchString hit.",charOffset:"extract/decompress: continuation offset for the next page; take it from hints[] — do not compute it yourself.",charLength:"extract/decompress: page size in characters. Auto-paginates when unset.",format:'decompress: compression format. "auto" detects from the file extension; override when the extension is wrong: gzip|bzip2|xz|lzma|zstd|lz4|brotli|lzfse.',minLength:"strings: shortest printable run to keep. Raise (e.g. 12–16) to surface only symbols/URLs.",includeOffsets:"strings: prefixes each string with its hex byte offset — handy for pivoting to localSearchCode(searchBinary:true).",scanOffset:"strings: absolute byte offset to start the scan window. Take nextScanOffset from the result to page through a large binary losslessly (no string is split across windows). Omit/0 for the first window."}});const f=[".tar.gz",".tgz",".tar.bz2",".tbz2",".tbz",".tar.xz",".txz",".tar.zst",".tzst",".zip",".jar",".war",".apk",".7z"];export const LocalBinaryInspectQuerySchema=t(localBinaryInspect.schema,{...p,path:e.string(),mode:e.enum(["inspect","list","extract","decompress","strings","unpack"]),detailed:e.boolean().optional(),verbose:e.boolean().optional(),maxEntries:c(1,d).default(i),entriesPerPage:c(1,h).optional(),entryPageNumber:u(),archiveFile:e.string().optional(),matchString:e.string().optional(),matchStringContextLines:c(0,l).default(r),charOffset:a(),charLength:s(),format:e.enum(["auto","gzip","bzip2","xz","lzma","zstd","lz4","brotli","lzfse"]).default("auto"),minLength:c(1,m).default(n),includeOffsets:e.boolean().optional(),scanOffset:c(0,Number.MAX_SAFE_INTEGER).optional()}).superRefine((e,t)=>{"extract"!==e.mode||e.archiveFile||t.addIssue({code:"custom",path:["archiveFile"],message:'archiveFile is required for mode="extract" — run mode="list" first to get exact entry names'}),e.archiveFile?.startsWith("-")&&t.addIssue({code:"custom",path:["archiveFile"],message:'archiveFile must not start with "-" (prevents flag injection)'}),"decompress"===e.mode&&f.some(t=>e.path.toLowerCase().endsWith(t))&&t.addIssue({code:"custom",path:["mode"],message:'This path looks like a multi-entry archive — use mode="list" or mode="extract" instead of mode="decompress". decompress is for single-stream files only (.gz, .bz2, .xz, .zst, .lz4, .br, .lzfse).'})});
@@ -34,13 +34,35 @@ export declare const RipgrepQuerySchema: z.ZodObject<{
34
34
  sort: z.ZodDefault<z.ZodEnum<{
35
35
  path: "path";
36
36
  created: "created";
37
+ relevance: "relevance";
38
+ matchCount: "matchCount";
37
39
  modified: "modified";
38
40
  accessed: "accessed";
39
41
  }>>;
40
42
  sortReverse: z.ZodOptional<z.ZodBoolean>;
43
+ rankingProfile: z.ZodDefault<z.ZodEnum<{
44
+ auto: "auto";
45
+ typescript: "typescript";
46
+ javascript: "javascript";
47
+ rust: "rust";
48
+ python: "python";
49
+ go: "go";
50
+ java: "java";
51
+ scala: "scala";
52
+ markdown: "markdown";
53
+ json: "json";
54
+ yaml: "yaml";
55
+ generic: "generic";
56
+ }>>;
57
+ debugRanking: z.ZodOptional<z.ZodBoolean>;
58
+ semanticRanking: z.ZodOptional<z.ZodBoolean>;
41
59
  langType: z.ZodOptional<z.ZodString>;
42
60
  countLinesPerFile: z.ZodOptional<z.ZodBoolean>;
43
61
  countMatchesPerFile: z.ZodOptional<z.ZodBoolean>;
62
+ onlyMatching: z.ZodOptional<z.ZodBoolean>;
63
+ unique: z.ZodOptional<z.ZodBoolean>;
64
+ countUnique: z.ZodOptional<z.ZodBoolean>;
65
+ matchWindow: z.ZodOptional<z.ZodNumber>;
44
66
  matchPage: z.ZodOptional<z.ZodNumber>;
45
67
  itemsPerPage: z.ZodOptional<z.ZodNumber>;
46
68
  page: z.ZodDefault<z.ZodNumber>;
@@ -1 +1 @@
1
- import{z as e}from"zod";import{buildObject as t,contextLines as a,DEFAULT_MATCH_CONTENT_LENGTH as s,defineTool as i,intRange as o,MAX_MATCH_COUNT as n,MAX_MATCH_CONTENT_LENGTH as l,MAX_SEARCH_ITEMS_PER_PAGE as r,metaFields as c,optionalPageNumber as u,pageNumber as d,StringArray as h}from"./_toolkit.js";export const localSearchCode=i({name:"localSearchCode",type:"Local",shortDescription:"Search local files for text, regex, or AST patterns to find file and line.",instructions:'Pick a mode: "discovery" (paths only, cheapest orientation), "paginated" (snippets), "detailed" (snippets + context). For counts use countLinesPerFile/countMatchesPerFile — there is no mode:"count".\nmode:"structural" (set pattern OR rule) handles AST/shape queries regex can\'t express — e.g. eval($X) call sites, async fns lacking try/catch. keywords is ignored there; matches[].line still works as a lineHint.\nBest practice: narrow with include/exclude/excludeDir/langType before paging noisy results; page only when hasMore, and use matchPage to walk one file\'s matches.\nSignals: searchEngine flags a reduced-capability fallback (perlRegex dropped, countMatchesPerFile becomes line counts). evidence.answerReady:true means ≥1 result — still check pagination.hasMore before stopping.\nNext: localGetFileContent(path, matchString=keyword) to read; lspGetSemantics(uri=files[0].path, symbolName, lineHint=matches[0].line) for semantics; localViewStructure if root unknown; localFindFiles to search by filename/metadata.',schema:{keywords:"The search pattern (text or regex). Set fixedString:true for a literal match, or perlRegex:true for advanced regex features (lookaheads, backreferences).",path:"File or directory to search (absolute paths are safest).",mode:'"paginated": matches with snippets. "discovery": file paths only — cheapest, for orienting before you read. "detailed": snippets with surrounding context, for deep reading without a follow-up read. "structural": AST/shape search (set pattern OR rule) for queries regex can\'t express. For counts only, set countLinesPerFile or countMatchesPerFile.',pattern:'mode:"structural" only. An ast-grep code-shaped pattern. Metavariables: $X matches a single node (captured), $$$ARGS matches a list of nodes. E.g. eval($X) / console.log($$$) / oldApi.foo($X). Matches code structure, so comments and strings never false-positive. Mutually exclusive with rule.',rule:'mode:"structural" only. A YAML relational/composite ast-grep rule blob for what plain patterns can\'t express — negation and parent/child relations (not/inside/has/all/any). E.g. "rule:\\n pattern: await $C\\n inside:\\n kind: for_statement\\n stopBy: end". NOTE: relational sub-rules need stopBy: end to walk all ancestors/descendants, else they silently match nothing. Mutually exclusive with pattern.',fixedString:"Literal match (disables regex). Mutually exclusive with perlRegex.",perlRegex:"Advanced regex (lookaheads, backreferences). Mutually exclusive with fixedString.",caseInsensitive:"Case-insensitive matching. Mutually exclusive with caseSensitive.",caseSensitive:"Case-sensitive matching. Mutually exclusive with caseInsensitive.",wholeWord:"Matches whole words only.",invertMatch:"Returns non-matching lines. To list files lacking the pattern, use filesWithoutMatch instead.",include:"Globs of files to search, e.g. '*.ts', 'src/**/*.tsx'. Only files matching any glob are searched.",exclude:"Globs of files to skip, e.g. '*.min.js', 'dist/**'.",excludeDir:"Directory names to skip entirely (e.g. 'node_modules', 'dist', '.git') — faster than exclude globs for whole directories.",noIgnore:"Searches files normally hidden by .gitignore/.ignore.",hidden:"Includes hidden (dot) files.",filesOnly:"Returns matching file paths without line content. Mutually exclusive with filesWithoutMatch.",filesWithoutMatch:"Returns files that do NOT contain the pattern — useful to find files missing a required import or header. Mutually exclusive with filesOnly.",contextLines:"Lines of context around each match. Pair with mode:'detailed' for self-contained snippets.",matchContentLength:"Characters kept per match snippet. Raise for minified code or JSON, or when truncation hides matches.",maxMatchesPerFile:"Caps matches per file and sets the per-file page size; when a file has more, file.pagination.hasMore appears — page it with matchPage. No effect in filesOnly/count modes.",maxFiles:"Caps how many matched files are returned.",multiline:"Lets a match span lines. Add multilineDotall to let . cross newlines.",multilineDotall:"Lets . match newlines too. Requires multiline:true.",sort:"Order results by path, modified time, access time, or creation time.",sortReverse:"Reverses the sort (e.g. sort:'modified' + sortReverse:true = oldest first).",langType:"Language filter (ts, js, py, go, rust, …) — more precise than include globs.",countLinesPerFile:"Returns the count of matching lines per file instead of content — good for orientation (which files have the most hits). Mutually exclusive with countMatchesPerFile.",countMatchesPerFile:"Returns the total match count per file (counts multiple hits on one line). Mutually exclusive with countLinesPerFile.",matchPage:"Page within one file's matches; pair with maxMatchesPerFile to walk a noisy file.",itemsPerPage:"Files per page.",page:"Result page."}});export const RipgrepQuerySchema=t(localSearchCode.schema,{...c,keywords:e.string().optional(),path:e.string(),mode:e.enum(["paginated","discovery","detailed","structural"]).default("paginated"),pattern:e.string().optional(),rule:e.string().optional(),fixedString:e.boolean().optional(),perlRegex:e.boolean().optional(),caseInsensitive:e.boolean().optional(),caseSensitive:e.boolean().optional(),wholeWord:e.boolean().optional(),invertMatch:e.boolean().optional(),include:h,exclude:h,excludeDir:h,noIgnore:e.boolean().optional(),hidden:e.boolean().optional(),filesOnly:e.boolean().optional(),filesWithoutMatch:e.boolean().optional(),contextLines:a(),matchContentLength:o(1,l).default(s),maxMatchesPerFile:o(1,n).optional(),maxFiles:o(1,n).optional(),multiline:e.boolean().optional(),multilineDotall:e.boolean().optional(),sort:e.enum(["path","modified","accessed","created"]).default("path"),sortReverse:e.boolean().optional(),langType:e.string().optional(),countLinesPerFile:e.boolean().optional(),countMatchesPerFile:e.boolean().optional(),matchPage:u(),itemsPerPage:o(1,r).optional(),page:d()}).superRefine((e,t)=>{if("structural"===e.mode){e.pattern||e.rule||t.addIssue({code:"custom",message:'mode:"structural" requires `pattern` (a code-shaped query) or `rule` (a YAML relational rule).',path:["pattern"]}),e.pattern&&e.rule&&t.addIssue({code:"custom",message:"`pattern` and `rule` are mutually exclusive.",path:["rule"]});for(const a of["fixedString","perlRegex","wholeWord","invertMatch","multiline","multilineDotall"])e[a]&&t.addIssue({code:"custom",message:`\`${a}\` is not valid with mode:"structural".`,path:[a]})}else(e.pattern||e.rule)&&t.addIssue({code:"custom",message:'`pattern`/`rule` require mode:"structural".',path:[e.pattern?"pattern":"rule"]}),e.keywords||t.addIssue({code:"custom",message:'`keywords` is required unless mode:"structural".',path:["keywords"]});e.filesOnly&&e.filesWithoutMatch&&t.addIssue({code:"custom",message:"filesOnly and filesWithoutMatch are mutually exclusive.",path:["filesWithoutMatch"]}),e.fixedString&&e.perlRegex&&t.addIssue({code:"custom",message:"fixedString and perlRegex are mutually exclusive.",path:["perlRegex"]}),e.caseSensitive&&e.caseInsensitive&&t.addIssue({code:"custom",message:"caseSensitive and caseInsensitive are mutually exclusive.",path:["caseInsensitive"]}),e.multilineDotall&&!e.multiline&&t.addIssue({code:"custom",message:"multilineDotall requires multiline=true.",path:["multilineDotall"]}),e.countLinesPerFile&&e.countMatchesPerFile&&t.addIssue({code:"custom",message:"countLinesPerFile and countMatchesPerFile are mutually exclusive.",path:["countMatchesPerFile"]})});
1
+ import{z as e}from"zod";import{buildObject as t,contextLines as a,DEFAULT_MATCH_CONTENT_LENGTH as n,defineTool as i,intRange as o,MAX_MATCH_COUNT as s,MAX_MATCH_CONTENT_LENGTH as l,MAX_SEARCH_ITEMS_PER_PAGE as r,metaFields as c,optionalPageNumber as u,pageNumber as d,StringArray as h}from"./_toolkit.js";export const localSearchCode=i({name:"localSearchCode",type:"Local",shortDescription:"Search local files for text, regex, or AST patterns to find file and line.",instructions:'Pick a mode: "discovery" (paths only, cheapest orientation), "paginated" (snippets), "detailed" (snippets + context). For counts use countLinesPerFile/countMatchesPerFile — there is no mode:"count".\nmode:"structural" (set pattern OR rule) handles AST/shape queries regex can\'t express — e.g. eval($X) call sites, async fns lacking try/catch. keywords is ignored there; matches[].line still works as a lineHint.\nBest practice: narrow with include/exclude/excludeDir/langType before paging noisy results; page only when hasMore, and use matchPage to walk one file\'s matches.\nSignals: searchEngine flags a reduced-capability fallback (perlRegex dropped, countMatchesPerFile becomes line counts). evidence.answerReady:true means ≥1 result — still check pagination.hasMore before stopping.\nNext: localGetFileContent(path, matchString=keyword) to read; lspGetSemantics(uri=files[0].path, symbolName, lineHint=matches[0].line) for semantics; localViewStructure if root unknown; localFindFiles to search by filename/metadata.',schema:{keywords:"The search pattern (text or regex). Set fixedString:true for a literal match, or perlRegex:true for advanced regex features (lookaheads, backreferences).",path:"File or directory to search (absolute paths are safest).",mode:'"paginated": matches with snippets. "discovery": file paths only — cheapest, for orienting before you read. "detailed": snippets with surrounding context, for deep reading without a follow-up read. "structural": AST/shape search (set pattern OR rule) for queries regex can\'t express. For counts only, set countLinesPerFile or countMatchesPerFile.',pattern:'mode:"structural" only. An ast-grep code-shaped pattern. Metavariables: $X matches a single node (captured), $$$ARGS matches a list of nodes. E.g. eval($X) / console.log($$$) / oldApi.foo($X). Matches code structure, so comments and strings never false-positive. Mutually exclusive with rule.',rule:'mode:"structural" only. A YAML relational/composite ast-grep rule blob for what plain patterns can\'t express — negation and parent/child relations (not/inside/has/all/any). E.g. "rule:\\n pattern: await $C\\n inside:\\n kind: for_statement\\n stopBy: end". NOTE: relational sub-rules need stopBy: end to walk all ancestors/descendants, else they silently match nothing. Mutually exclusive with pattern.',fixedString:"Literal match (disables regex). Mutually exclusive with perlRegex.",perlRegex:"Advanced regex (lookaheads, backreferences). Mutually exclusive with fixedString.",caseInsensitive:"Case-insensitive matching. Mutually exclusive with caseSensitive.",caseSensitive:"Case-sensitive matching. Mutually exclusive with caseInsensitive.",wholeWord:"Matches whole words only.",invertMatch:"Returns non-matching lines. To list files lacking the pattern, use filesWithoutMatch instead.",include:"Globs of files to search, e.g. '*.ts', 'src/**/*.tsx'. Only files matching any glob are searched.",exclude:"Globs of files to skip, e.g. '*.min.js', 'dist/**'.",excludeDir:"Directory names to skip entirely (e.g. 'node_modules', 'dist', '.git') — faster than exclude globs for whole directories.",noIgnore:"Searches files normally hidden by .gitignore/.ignore.",hidden:"Includes hidden (dot) files.",filesOnly:"Returns matching file paths without line content. Mutually exclusive with filesWithoutMatch.",filesWithoutMatch:"Returns files that do NOT contain the pattern — useful to find files missing a required import or header. Mutually exclusive with filesOnly.",contextLines:"Lines of context around each match. Pair with mode:'detailed' for self-contained snippets.",matchContentLength:"Characters kept per match snippet. Raise for minified code or JSON, or when truncation hides matches.",maxMatchesPerFile:"Caps matches per file and sets the per-file page size; when a file has more, file.pagination.hasMore appears — page it with matchPage. No effect in filesOnly/count modes.",maxFiles:"Caps how many matched files are returned.",multiline:"Lets a match span lines. Add multilineDotall to let . cross newlines.",multilineDotall:"Lets . match newlines too. Requires multiline:true.",sort:"Result ordering. 'relevance' (default): language-aware deterministic score — exact/declaration/export/import lines, query token in path, source-dir affinity, saturated match count; surfaces the most contextually relevant files first for broad terms. TO TURN OFF relevance ranking (and skip its AST classification cost), pass 'matchCount' (most matches first, legacy behavior) or 'path' (alphabetical) — both are deterministic and do no language-aware scoring. 'modified'/'accessed'/'created': filesystem time.",sortReverse:"Reverses the sort (e.g. sort:'modified' + sortReverse:true = oldest first). No effect on 'relevance'/'matchCount'.",rankingProfile:"Language ranking profile used by sort:'relevance'. 'auto' (default) selects by langType then file extension; pass an explicit profile (typescript, rust, python, go, markdown, …) to force one.",debugRanking:"When true, include per-file ranking { score, profile, pathRole, reasons } so the relevance order is inspectable. Off by default to keep output compact.",semanticRanking:"When true (with sort:'relevance'), apply a bounded, capped LSP boost to the top relevance candidates — definitions, exported/public symbols, and symbols with callers rank higher. Optional and deterministic: LSP never gates results and failures degrade to text/AST ranking.",langType:"Language filter (ts, js, py, go, rust, …) — more precise than include globs.",countLinesPerFile:"Returns the count of matching lines per file instead of content — good for orientation (which files have the most hits). Mutually exclusive with countMatchesPerFile.",countMatchesPerFile:"Returns the total match count per file (counts multiple hits on one line). Mutually exclusive with countLinesPerFile.",onlyMatching:"Returns only the matched substring(s), one entry per hit, instead of the whole line. The way to enumerate every hit on a minified one-liner (line mode can only count them). Pair with matchWindow for surrounding context.",unique:"With onlyMatching, returns each distinct matched value once per file while keeping the first occurrence as the line/column anchor.",countUnique:"With onlyMatching, returns each distinct matched value once per file with a count field sorted by frequency descending.",matchWindow:"With onlyMatching, widen each matched span by this many characters on each side for context (trimmed sides marked with …). 0 = the bare match. Requires onlyMatching.",matchPage:"Page within one file's matches; pair with maxMatchesPerFile to walk a noisy file.",itemsPerPage:"Files per page.",page:"Result page."}});export const RipgrepQuerySchema=t(localSearchCode.schema,{...c,keywords:e.string().optional(),path:e.string(),mode:e.enum(["paginated","discovery","detailed","structural"]).default("paginated"),pattern:e.string().optional(),rule:e.string().optional(),fixedString:e.boolean().optional(),perlRegex:e.boolean().optional(),caseInsensitive:e.boolean().optional(),caseSensitive:e.boolean().optional(),wholeWord:e.boolean().optional(),invertMatch:e.boolean().optional(),include:h,exclude:h,excludeDir:h,noIgnore:e.boolean().optional(),hidden:e.boolean().optional(),filesOnly:e.boolean().optional(),filesWithoutMatch:e.boolean().optional(),contextLines:a(),matchContentLength:o(1,l).default(n),maxMatchesPerFile:o(1,s).optional(),maxFiles:o(1,s).optional(),multiline:e.boolean().optional(),multilineDotall:e.boolean().optional(),sort:e.enum(["relevance","matchCount","path","modified","accessed","created"]).default("relevance"),sortReverse:e.boolean().optional(),rankingProfile:e.enum(["auto","typescript","javascript","rust","python","go","java","scala","markdown","json","yaml","generic"]).default("auto"),debugRanking:e.boolean().optional(),semanticRanking:e.boolean().optional(),langType:e.string().optional(),countLinesPerFile:e.boolean().optional(),countMatchesPerFile:e.boolean().optional(),onlyMatching:e.boolean().optional(),unique:e.boolean().optional(),countUnique:e.boolean().optional(),matchWindow:o(0,200).optional(),matchPage:u(),itemsPerPage:o(1,r).optional(),page:d()}).superRefine((e,t)=>{if("structural"===e.mode){e.pattern||e.rule||t.addIssue({code:"custom",message:'mode:"structural" requires `pattern` (a code-shaped query) or `rule` (a YAML relational rule).',path:["pattern"]}),e.pattern&&e.rule&&t.addIssue({code:"custom",message:"`pattern` and `rule` are mutually exclusive.",path:["rule"]});for(const a of["fixedString","perlRegex","wholeWord","invertMatch","multiline","multilineDotall","onlyMatching","unique","countUnique"])e[a]&&t.addIssue({code:"custom",message:`\`${a}\` is not valid with mode:"structural".`,path:[a]})}else(e.pattern||e.rule)&&t.addIssue({code:"custom",message:'`pattern`/`rule` require mode:"structural".',path:[e.pattern?"pattern":"rule"]}),e.keywords||t.addIssue({code:"custom",message:'`keywords` is required unless mode:"structural".',path:["keywords"]});e.filesOnly&&e.filesWithoutMatch&&t.addIssue({code:"custom",message:"filesOnly and filesWithoutMatch are mutually exclusive.",path:["filesWithoutMatch"]}),e.fixedString&&e.perlRegex&&t.addIssue({code:"custom",message:"fixedString and perlRegex are mutually exclusive.",path:["perlRegex"]}),e.caseSensitive&&e.caseInsensitive&&t.addIssue({code:"custom",message:"caseSensitive and caseInsensitive are mutually exclusive.",path:["caseInsensitive"]}),e.multilineDotall&&!e.multiline&&t.addIssue({code:"custom",message:"multilineDotall requires multiline=true.",path:["multilineDotall"]}),e.countLinesPerFile&&e.countMatchesPerFile&&t.addIssue({code:"custom",message:"countLinesPerFile and countMatchesPerFile are mutually exclusive.",path:["countMatchesPerFile"]}),void 0===e.matchWindow||e.onlyMatching||t.addIssue({code:"custom",message:"matchWindow requires onlyMatching:true.",path:["matchWindow"]}),e.unique&&!e.onlyMatching&&t.addIssue({code:"custom",message:"unique requires onlyMatching:true.",path:["unique"]}),e.countUnique&&!e.onlyMatching&&t.addIssue({code:"custom",message:"countUnique requires onlyMatching:true.",path:["countUnique"]})});
@@ -17,6 +17,9 @@ export declare const LocalSearchCodeOutputSchema: z.ZodObject<{
17
17
  line: z.ZodNumber;
18
18
  value: z.ZodOptional<z.ZodString>;
19
19
  column: z.ZodOptional<z.ZodNumber>;
20
+ count: z.ZodOptional<z.ZodNumber>;
21
+ kind: z.ZodOptional<z.ZodString>;
22
+ scoreHint: z.ZodOptional<z.ZodNumber>;
20
23
  }, z.core.$strip>>>;
21
24
  modified: z.ZodOptional<z.ZodString>;
22
25
  }, z.core.$strip>>;
@@ -42,6 +45,9 @@ export declare const LocalSearchCodeOutputSchema: z.ZodObject<{
42
45
  line: z.ZodNumber;
43
46
  value: z.ZodOptional<z.ZodString>;
44
47
  column: z.ZodOptional<z.ZodNumber>;
48
+ count: z.ZodOptional<z.ZodNumber>;
49
+ kind: z.ZodOptional<z.ZodString>;
50
+ scoreHint: z.ZodOptional<z.ZodNumber>;
45
51
  }, z.core.$strip>>>;
46
52
  modified: z.ZodOptional<z.ZodString>;
47
53
  }, z.core.$strip>>>;
@@ -1 +1 @@
1
- import{z as t}from"zod";import{STATUS_VALUES as o}from"../types/index.js";export const ErrorDataSchema=t.object({id:t.string().optional(),error:t.string(),hints:t.array(t.string()).optional()});const n=t.object({currentPage:t.number(),totalPages:t.number(),hasMore:t.boolean(),perPage:t.number().optional(),totalMatches:t.number().optional(),totalFiles:t.number().optional(),totalEntries:t.number().optional(),totalResults:t.number().optional(),entriesPerPage:t.number().optional(),filesPerPage:t.number().optional(),matchesPerPage:t.number().optional()}),a=t.object({currentPage:t.number(),totalPages:t.number(),hasMore:t.boolean(),charOffset:t.number(),charLength:t.number(),totalChars:t.number()}),i=t.enum(["none","standard","symbols"]),r=t.array(t.string()).optional(),e=t.array(t.union([t.string(),t.object({kind:t.string()}).passthrough()])).optional(),s=t.enum([...o]),p=t.object({line:t.number(),value:t.string().optional(),column:t.number().optional()}),l=t.object({path:t.string(),matchCount:t.number(),matches:t.array(p).optional(),modified:t.string().optional()});export const LocalSearchCodeOutputSchema=t.object({status:s.optional(),data:t.object({files:t.array(l),pagination:n.optional(),searchEngine:t.string().optional()}).optional(),files:t.array(l).optional(),pagination:n.optional(),searchEngine:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const g=t.object({path:t.string(),type:t.string().optional(),size:t.number().optional(),modified:t.string().optional(),permissions:t.string().optional()});export const LocalFindFilesOutputSchema=t.object({status:s.optional(),data:t.object({files:t.array(g),pagination:n.optional()}).optional(),files:t.array(g).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const c=t.object({path:t.string(),name:t.string(),type:t.string(),size:t.number().optional(),modified:t.string().optional()});export const LocalViewStructureOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string().optional(),files:t.array(t.string()).optional(),folders:t.array(t.string()).optional(),links:t.array(t.string()).optional(),entries:t.array(c).optional(),summary:t.string().optional(),pagination:n.optional()}).optional(),path:t.string().optional(),files:t.array(t.string()).optional(),folders:t.array(t.string()).optional(),links:t.array(t.string()).optional(),entries:t.array(c).optional(),summary:t.string().optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LocalGetFileContentOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string(),content:t.string(),contentView:i.optional(),isSkeleton:t.boolean().optional(),totalLines:t.number().optional(),startLine:t.number().optional(),endLine:t.number().optional(),isPartial:t.boolean().optional(),matchRanges:t.array(t.array(t.number())).optional(),pagination:a.optional(),lastModified:t.string().optional(),lastModifiedBy:t.string().optional()}).optional(),path:t.string().optional(),content:t.string().optional(),contentView:i.optional(),isSkeleton:t.boolean().optional(),pagination:a.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const u=t.object({start:t.object({line:t.number(),character:t.number()}),end:t.object({line:t.number(),character:t.number()})}),h=t.object({uri:t.string(),range:u,content:t.string().optional()});export const LspGotoDefinitionOutputSchema=t.object({status:s.optional(),data:t.object({locations:t.array(h),lspMode:t.string().optional()}).optional(),locations:t.array(h).optional(),lspMode:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LspFindReferencesOutputSchema=t.object({status:s.optional(),data:t.object({locations:t.array(h),pagination:n.optional(),lspMode:t.string().optional()}).optional(),locations:t.array(h).optional(),pagination:n.optional(),lspMode:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LspCallHierarchyOutputSchema=t.object({status:s.optional(),data:t.object({item:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),incomingCalls:t.array(t.object({from:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),to:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),fromRanges:t.array(u).optional()}).passthrough()).optional(),outgoingCalls:t.array(t.object({from:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),to:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),fromRanges:t.array(u).optional()}).passthrough()).optional(),direction:t.string().optional(),depth:t.number().optional(),pagination:n.optional(),lspMode:t.string().optional()}).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const b=t.object({owner:t.string().optional(),repo:t.string().optional(),full_name:t.string().optional(),url:t.string().optional(),stars:t.number().optional(),language:t.string().optional(),pushed_at:t.string().optional(),description:t.string().optional(),topics:t.array(t.string()).optional(),license:t.string().optional()}).passthrough();export const GitHubSearchRepositoriesOutputSchema=t.object({status:s.optional(),data:t.object({repositories:t.array(b),pagination:n.optional()}).optional(),repositories:t.array(b).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const m=t.object({number:t.number(),title:t.string(),url:t.string().optional(),state:t.string().optional(),draft:t.boolean().optional(),merged:t.boolean().optional(),created_at:t.string().optional(),updated_at:t.string().optional(),closed_at:t.string().optional(),merged_at:t.string().optional(),author:t.string().optional(),head_ref:t.string().optional(),base_ref:t.string().optional()}).passthrough(),d=t.object({path:t.string(),value:t.string().optional()}).passthrough(),j=t.object({id:t.string(),owner:t.string(),repo:t.string(),matches:t.array(d)}).passthrough();export const GitHubSearchCodeOutputSchema=t.object({status:s.optional(),data:t.object({results:t.array(j),pagination:n.optional()}).optional(),results:t.array(j).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubSearchPullRequestsOutputSchema=t.object({status:s.optional(),data:t.object({pull_requests:t.array(m),total_count:t.number().optional(),pagination:n.optional()}).optional(),pull_requests:t.array(m).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const y=t.object({path:t.string(),name:t.string().optional(),type:t.string().optional(),size:t.number().optional()}).passthrough();export const GitHubFileContentOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string(),content:t.string(),contentView:i.optional(),isSkeleton:t.boolean().optional(),totalLines:t.number().optional(),startLine:t.number().optional(),endLine:t.number().optional(),isPartial:t.boolean().optional(),resolvedBranch:t.string().optional(),pagination:a.optional(),lastModified:t.string().optional(),lastModifiedBy:t.string().optional()}).optional(),path:t.string().optional(),content:t.string().optional(),contentView:i.optional(),isSkeleton:t.boolean().optional(),pagination:a.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubViewRepoStructureOutputSchema=t.object({status:s.optional(),data:t.object({entries:t.array(y),pagination:n.optional()}).optional(),entries:t.array(y).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubCloneRepoOutputSchema=t.object({status:s.optional(),data:t.object({localPath:t.string(),branch:t.string(),cached:t.boolean(),sparsePath:t.string().optional(),cloneTimeMs:t.number().optional(),totalSize:t.number().optional(),fileCount:t.number().optional()}).optional(),localPath:t.string().optional(),branch:t.string().optional(),cached:t.boolean().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const f=t.object({name:t.string(),version:t.string().optional(),repository:t.string().optional(),license:t.string().optional(),description:t.string().optional(),deprecated:t.union([t.boolean(),t.string()]).optional(),downloads:t.number().optional(),recentVersions:t.array(t.string()).optional()}).passthrough();export const NpmSearchOutputSchema=t.object({status:s.optional(),data:t.object({packages:t.array(f)}).optional(),packages:t.array(f).optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();
1
+ import{z as t}from"zod";import{STATUS_VALUES as o}from"../types/index.js";export const ErrorDataSchema=t.object({id:t.string().optional(),error:t.string(),hints:t.array(t.string()).optional()});const n=t.object({currentPage:t.number(),totalPages:t.number(),hasMore:t.boolean(),perPage:t.number().optional(),totalMatches:t.number().optional(),totalFiles:t.number().optional(),totalEntries:t.number().optional(),totalResults:t.number().optional(),entriesPerPage:t.number().optional(),filesPerPage:t.number().optional(),matchesPerPage:t.number().optional()}),a=t.object({currentPage:t.number(),totalPages:t.number(),hasMore:t.boolean(),charOffset:t.number(),charLength:t.number(),totalChars:t.number()}),i=t.enum(["none","standard","symbols"]),r=t.array(t.string()).optional(),e=t.array(t.union([t.string(),t.object({kind:t.string()}).passthrough()])).optional(),s=t.enum([...o]),p=t.object({line:t.number(),value:t.string().optional(),column:t.number().optional(),count:t.number().optional(),kind:t.string().optional(),scoreHint:t.number().optional()}),l=t.object({path:t.string(),matchCount:t.number(),matches:t.array(p).optional(),modified:t.string().optional()});export const LocalSearchCodeOutputSchema=t.object({status:s.optional(),data:t.object({files:t.array(l),pagination:n.optional(),searchEngine:t.string().optional()}).optional(),files:t.array(l).optional(),pagination:n.optional(),searchEngine:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const g=t.object({path:t.string(),type:t.string().optional(),size:t.number().optional(),modified:t.string().optional(),permissions:t.string().optional()});export const LocalFindFilesOutputSchema=t.object({status:s.optional(),data:t.object({files:t.array(g),pagination:n.optional()}).optional(),files:t.array(g).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const c=t.object({path:t.string(),name:t.string(),type:t.string(),size:t.number().optional(),modified:t.string().optional()});export const LocalViewStructureOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string().optional(),files:t.array(t.string()).optional(),folders:t.array(t.string()).optional(),links:t.array(t.string()).optional(),entries:t.array(c).optional(),summary:t.string().optional(),pagination:n.optional()}).optional(),path:t.string().optional(),files:t.array(t.string()).optional(),folders:t.array(t.string()).optional(),links:t.array(t.string()).optional(),entries:t.array(c).optional(),summary:t.string().optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LocalGetFileContentOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string(),content:t.string(),contentView:i.optional(),isSkeleton:t.boolean().optional(),totalLines:t.number().optional(),startLine:t.number().optional(),endLine:t.number().optional(),isPartial:t.boolean().optional(),matchRanges:t.array(t.array(t.number())).optional(),pagination:a.optional(),lastModified:t.string().optional(),lastModifiedBy:t.string().optional()}).optional(),path:t.string().optional(),content:t.string().optional(),contentView:i.optional(),isSkeleton:t.boolean().optional(),pagination:a.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const u=t.object({start:t.object({line:t.number(),character:t.number()}),end:t.object({line:t.number(),character:t.number()})}),h=t.object({uri:t.string(),range:u,content:t.string().optional()});export const LspGotoDefinitionOutputSchema=t.object({status:s.optional(),data:t.object({locations:t.array(h),lspMode:t.string().optional()}).optional(),locations:t.array(h).optional(),lspMode:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LspFindReferencesOutputSchema=t.object({status:s.optional(),data:t.object({locations:t.array(h),pagination:n.optional(),lspMode:t.string().optional()}).optional(),locations:t.array(h).optional(),pagination:n.optional(),lspMode:t.string().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const LspCallHierarchyOutputSchema=t.object({status:s.optional(),data:t.object({item:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),incomingCalls:t.array(t.object({from:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),to:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),fromRanges:t.array(u).optional()}).passthrough()).optional(),outgoingCalls:t.array(t.object({from:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),to:t.object({name:t.string(),uri:t.string(),range:u,content:t.string().optional()}).optional(),fromRanges:t.array(u).optional()}).passthrough()).optional(),direction:t.string().optional(),depth:t.number().optional(),pagination:n.optional(),lspMode:t.string().optional()}).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const b=t.object({owner:t.string().optional(),repo:t.string().optional(),full_name:t.string().optional(),url:t.string().optional(),stars:t.number().optional(),language:t.string().optional(),pushed_at:t.string().optional(),description:t.string().optional(),topics:t.array(t.string()).optional(),license:t.string().optional()}).passthrough();export const GitHubSearchRepositoriesOutputSchema=t.object({status:s.optional(),data:t.object({repositories:t.array(b),pagination:n.optional()}).optional(),repositories:t.array(b).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const m=t.object({number:t.number(),title:t.string(),url:t.string().optional(),state:t.string().optional(),draft:t.boolean().optional(),merged:t.boolean().optional(),created_at:t.string().optional(),updated_at:t.string().optional(),closed_at:t.string().optional(),merged_at:t.string().optional(),author:t.string().optional(),head_ref:t.string().optional(),base_ref:t.string().optional()}).passthrough(),d=t.object({path:t.string(),value:t.string().optional()}).passthrough(),j=t.object({id:t.string(),owner:t.string(),repo:t.string(),matches:t.array(d)}).passthrough();export const GitHubSearchCodeOutputSchema=t.object({status:s.optional(),data:t.object({results:t.array(j),pagination:n.optional()}).optional(),results:t.array(j).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubSearchPullRequestsOutputSchema=t.object({status:s.optional(),data:t.object({pull_requests:t.array(m),total_count:t.number().optional(),pagination:n.optional()}).optional(),pull_requests:t.array(m).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const y=t.object({path:t.string(),name:t.string().optional(),type:t.string().optional(),size:t.number().optional()}).passthrough();export const GitHubFileContentOutputSchema=t.object({status:s.optional(),data:t.object({path:t.string(),content:t.string(),contentView:i.optional(),isSkeleton:t.boolean().optional(),totalLines:t.number().optional(),startLine:t.number().optional(),endLine:t.number().optional(),isPartial:t.boolean().optional(),resolvedBranch:t.string().optional(),pagination:a.optional(),lastModified:t.string().optional(),lastModifiedBy:t.string().optional()}).optional(),path:t.string().optional(),content:t.string().optional(),contentView:i.optional(),isSkeleton:t.boolean().optional(),pagination:a.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubViewRepoStructureOutputSchema=t.object({status:s.optional(),data:t.object({entries:t.array(y),pagination:n.optional()}).optional(),entries:t.array(y).optional(),pagination:n.optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();export const GitHubCloneRepoOutputSchema=t.object({status:s.optional(),data:t.object({localPath:t.string(),branch:t.string(),cached:t.boolean(),sparsePath:t.string().optional(),cloneTimeMs:t.number().optional(),totalSize:t.number().optional(),fileCount:t.number().optional()}).optional(),localPath:t.string().optional(),branch:t.string().optional(),cached:t.boolean().optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();const f=t.object({name:t.string(),version:t.string().optional(),repository:t.string().optional(),license:t.string().optional(),description:t.string().optional(),deprecated:t.union([t.boolean(),t.string()]).optional(),downloads:t.number().optional(),recentVersions:t.array(t.string()).optional()}).passthrough();export const NpmSearchOutputSchema=t.object({status:s.optional(),data:t.object({packages:t.array(f)}).optional(),packages:t.array(f).optional(),hints:r,warnings:e,error:t.string().optional()}).passthrough();
@@ -1 +1 @@
1
- export function validateRipgrepQuery(e){const i=[],t=[];return e&&"object"==typeof e?("structural"===e.mode||e.keywords&&"string"==typeof e.keywords||i.push("`keywords` is required"),e.filesOnly&&e.filesWithoutMatch&&i.push("`filesOnly` and `filesWithoutMatch` are mutually exclusive"),e.countLinesPerFile&&e.countMatchesPerFile&&i.push("`countLinesPerFile` and `countMatchesPerFile` are mutually exclusive"),e.fixedString&&e.perlRegex&&i.push("`fixedString` and `perlRegex` are mutually exclusive"),e.caseSensitive&&e.caseInsensitive&&i.push("`caseSensitive` and `caseInsensitive` are mutually exclusive"),e.multilineDotall&&!e.multiline&&i.push("`multilineDotall` requires `multiline=true`"),{isValid:0===i.length,errors:i,warnings:t}):(i.push("Query must be an object"),{isValid:!1,errors:i,warnings:t})}export function applyWorkflowMode(e){if(!e||"object"!=typeof e)return e;const i=e.mode;if(!i||"string"!=typeof i)return e;const t={...e};return"discovery"===i?void 0===t.filesOnly&&(t.filesOnly=!0):"detailed"===i&&void 0===t.contextLines&&(t.contextLines=3),t}
1
+ export function validateRipgrepQuery(e){const i=[],t=[];return e&&"object"==typeof e?("structural"===e.mode||e.keywords&&"string"==typeof e.keywords||i.push("`keywords` is required"),e.filesOnly&&e.filesWithoutMatch&&i.push("`filesOnly` and `filesWithoutMatch` are mutually exclusive"),e.countLinesPerFile&&e.countMatchesPerFile&&i.push("`countLinesPerFile` and `countMatchesPerFile` are mutually exclusive"),e.fixedString&&e.perlRegex&&i.push("`fixedString` and `perlRegex` are mutually exclusive"),e.caseSensitive&&e.caseInsensitive&&i.push("`caseSensitive` and `caseInsensitive` are mutually exclusive"),e.multilineDotall&&!e.multiline&&i.push("`multilineDotall` requires `multiline=true`"),void 0===e.matchWindow||e.onlyMatching||i.push("`matchWindow` requires `onlyMatching:true`"),e.unique&&!e.onlyMatching&&i.push("`unique` requires `onlyMatching:true`"),e.countUnique&&!e.onlyMatching&&i.push("`countUnique` requires `onlyMatching:true`"),{isValid:0===i.length,errors:i,warnings:t}):(i.push("Query must be an object"),{isValid:!1,errors:i,warnings:t})}export function applyWorkflowMode(e){if(!e||"object"!=typeof e)return e;const i=e.mode;if(!i||"string"!=typeof i)return e;const t={...e};return"discovery"===i?void 0===t.filesOnly&&(t.filesOnly=!0):"detailed"===i&&void 0===t.contextLines&&(t.contextLines=3),t}
package/dist/schemas.d.ts CHANGED
@@ -299,13 +299,35 @@ export declare const toolSchemas: {
299
299
  sort: z.ZodDefault<z.ZodEnum<{
300
300
  path: "path";
301
301
  created: "created";
302
+ relevance: "relevance";
303
+ matchCount: "matchCount";
302
304
  modified: "modified";
303
305
  accessed: "accessed";
304
306
  }>>;
305
307
  sortReverse: z.ZodOptional<z.ZodBoolean>;
308
+ rankingProfile: z.ZodDefault<z.ZodEnum<{
309
+ auto: "auto";
310
+ typescript: "typescript";
311
+ javascript: "javascript";
312
+ rust: "rust";
313
+ python: "python";
314
+ go: "go";
315
+ java: "java";
316
+ scala: "scala";
317
+ markdown: "markdown";
318
+ json: "json";
319
+ yaml: "yaml";
320
+ generic: "generic";
321
+ }>>;
322
+ debugRanking: z.ZodOptional<z.ZodBoolean>;
323
+ semanticRanking: z.ZodOptional<z.ZodBoolean>;
306
324
  langType: z.ZodOptional<z.ZodString>;
307
325
  countLinesPerFile: z.ZodOptional<z.ZodBoolean>;
308
326
  countMatchesPerFile: z.ZodOptional<z.ZodBoolean>;
327
+ onlyMatching: z.ZodOptional<z.ZodBoolean>;
328
+ unique: z.ZodOptional<z.ZodBoolean>;
329
+ countUnique: z.ZodOptional<z.ZodBoolean>;
330
+ matchWindow: z.ZodOptional<z.ZodNumber>;
309
331
  matchPage: z.ZodOptional<z.ZodNumber>;
310
332
  itemsPerPage: z.ZodOptional<z.ZodNumber>;
311
333
  page: z.ZodDefault<z.ZodNumber>;
@@ -435,12 +457,13 @@ export declare const toolSchemas: {
435
457
  path: z.ZodString;
436
458
  mode: z.ZodEnum<{
437
459
  list: "list";
438
- identify: "identify";
460
+ inspect: "inspect";
439
461
  extract: "extract";
440
462
  decompress: "decompress";
441
463
  strings: "strings";
442
464
  unpack: "unpack";
443
465
  }>;
466
+ detailed: z.ZodOptional<z.ZodBoolean>;
444
467
  verbose: z.ZodOptional<z.ZodBoolean>;
445
468
  maxEntries: z.ZodDefault<z.ZodNumber>;
446
469
  entriesPerPage: z.ZodOptional<z.ZodNumber>;
@@ -463,6 +486,7 @@ export declare const toolSchemas: {
463
486
  }>>;
464
487
  minLength: z.ZodDefault<z.ZodNumber>;
465
488
  includeOffsets: z.ZodOptional<z.ZodBoolean>;
489
+ scanOffset: z.ZodOptional<z.ZodNumber>;
466
490
  id: z.ZodOptional<z.ZodString>;
467
491
  mainResearchGoal: z.ZodOptional<z.ZodString>;
468
492
  researchGoal: z.ZodOptional<z.ZodString>;
@@ -163,6 +163,15 @@ export interface LocalSearchCodeMatch {
163
163
  line: number;
164
164
  value?: string;
165
165
  column?: number;
166
+ count?: number;
167
+ /**
168
+ * AST node-kind label from the engine (declaration|import|export|callsite|
169
+ * identifier|comment|string|configKey|heading) when AST classification ran.
170
+ * Preferred over regex line heuristics by the relevance ranker.
171
+ */
172
+ kind?: string;
173
+ /** Deterministic relevance hint (0.0..1.0) derived from `kind`. */
174
+ scoreHint?: number;
166
175
  }
167
176
  export interface LocalSearchCodeFile {
168
177
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octocodeai/octocode-core",
3
- "version": "16.4.0",
3
+ "version": "16.5.0",
4
4
  "description": "Compressed MCP tool specs, CLI command specs, and Zod query schemas for Octocode (exposed via /mcp, /cli, and /schemas)",
5
5
  "type": "module",
6
6
  "exports": {