@octocodeai/octocode-core 4.3.0 → 16.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configLoader.d.ts +0 -4
- package/dist/data/compressed.js +1 -1
- package/dist/data/default.json +229 -324
- package/dist/resources/global.d.ts +3 -0
- package/dist/resources/global.js +1 -0
- package/dist/resources/tools/ghCloneRepo.d.ts +2 -0
- package/dist/resources/tools/ghCloneRepo.js +1 -0
- package/dist/resources/tools/ghGetFileContent.d.ts +2 -0
- package/dist/resources/tools/ghGetFileContent.js +1 -0
- package/dist/resources/tools/ghSearchCode.d.ts +2 -0
- package/dist/resources/tools/ghSearchCode.js +1 -0
- package/dist/resources/tools/ghSearchPRs.d.ts +2 -0
- package/dist/resources/tools/ghSearchPRs.js +1 -0
- package/dist/resources/tools/ghSearchRepos.d.ts +2 -0
- package/dist/resources/tools/ghSearchRepos.js +1 -0
- package/dist/resources/tools/ghViewRepoStructure.d.ts +2 -0
- package/dist/resources/tools/ghViewRepoStructure.js +1 -0
- package/dist/resources/tools/localFindFiles.d.ts +2 -0
- package/dist/resources/tools/localFindFiles.js +1 -0
- package/dist/resources/tools/localGetFileContent.d.ts +2 -0
- package/dist/resources/tools/localGetFileContent.js +1 -0
- package/dist/resources/tools/localSearchCode.d.ts +2 -0
- package/dist/resources/tools/localSearchCode.js +1 -0
- package/dist/resources/tools/localViewStructure.d.ts +2 -0
- package/dist/resources/tools/localViewStructure.js +1 -0
- package/dist/resources/tools/lspGetSemantics.d.ts +2 -0
- package/dist/resources/tools/lspGetSemantics.js +1 -0
- package/dist/resources/tools/npmSearch.d.ts +2 -0
- package/dist/resources/tools/npmSearch.js +1 -0
- package/dist/schemas/extraTypes.d.ts +0 -36
- package/dist/schemas/index.d.ts +81 -65
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/outputs.d.ts +1 -13
- package/dist/schemas/outputs.js +1 -1
- package/dist/schemas/runtime.d.ts +0 -21
- package/dist/schemas/runtime.js +1 -1
- package/dist/types/index.d.ts +11 -52
- package/package.json +2 -1
package/dist/schemas/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as o}from"zod";const n=o.array(o.string()).optional(),t={id:o.string().optional(),mainResearchGoal:o.string().optional(),researchGoal:o.string().optional(),reasoning:o.string().optional()};export const RipgrepQuerySchema=o.object({...t,keywords:o.string(),path:o.string(),mode:o.enum(["paginated","discovery","detailed"]).optional(),fixedString:o.boolean().optional(),perlRegex:o.boolean().optional(),caseInsensitive:o.boolean().optional(),caseSensitive:o.boolean().optional(),wholeWord:o.boolean().optional(),invertMatch:o.boolean().optional(),include:n,exclude:n,excludeDir:n,noIgnore:o.boolean().optional(),hidden:o.boolean().optional(),filesOnly:o.boolean().optional(),filesWithoutMatch:o.boolean().optional(),contextLines:o.number().int().optional(),matchContentLength:o.number().int().optional(),maxMatchesPerFile:o.number().int().optional(),maxFiles:o.number().int().optional(),multiline:o.boolean().optional(),multilineDotall:o.boolean().optional(),sort:o.enum(["path","modified","accessed","created"]).optional(),sortReverse:o.boolean().optional(),langType:o.string().optional(),countLinesPerFile:o.boolean().optional(),countMatchesPerFile:o.boolean().optional(),matchPage:o.number().int().optional(),itemsPerPage:o.number().int().optional(),page:o.number().int().optional()});export const FindFilesQuerySchema=o.object({...t,path:o.string(),maxDepth:o.number().int().optional(),minDepth:o.number().int().optional(),names:n,pathPattern:o.string().optional(),regex:o.string().optional(),regexType:o.string().optional(),empty:o.boolean().optional(),modifiedWithin:o.string().optional(),modifiedBefore:o.string().optional(),accessedWithin:o.string().optional(),sizeGreater:o.string().optional(),sizeLess:o.string().optional(),permissions:o.string().optional(),executable:o.boolean().optional(),readable:o.boolean().optional(),writable:o.boolean().optional(),excludeDir:n,limit:o.number().int().optional(),details:o.boolean().optional(),showFileLastModified:o.boolean().optional(),sortBy:o.enum(["modified","name","path","size"]).optional(),entryType:o.enum(["f","d"]).optional(),page:o.number().int().optional(),itemsPerPage:o.number().int().optional()});export const ViewStructureQuerySchema=o.object({...t,path:o.string(),details:o.boolean().optional(),hidden:o.boolean().optional(),humanReadable:o.boolean().optional(),sortBy:o.enum(["name","size","time","extension"]).optional(),reverse:o.boolean().optional(),pattern:o.string().optional(),directoriesOnly:o.boolean().optional(),filesOnly:o.boolean().optional(),recursive:o.boolean().optional(),extensions:n,depth:o.number().int().optional(),limit:o.number().int().optional(),showFileLastModified:o.boolean().optional(),page:o.number().int().optional(),itemsPerPage:o.number().int().optional()});export const FetchContentQuerySchema=o.object({...t,path:o.string(),fullContent:o.boolean().optional(),matchString:o.string().optional(),matchStringIsRegex:o.boolean().optional(),matchStringCaseSensitive:o.boolean().optional(),startLine:o.number().int().optional(),endLine:o.number().int().optional(),contextLines:o.number().int().optional(),charOffset:o.number().int().optional(),charLength:o.number().int().optional(),minify:o.enum(["none","standard","symbols"]).optional()});export const FileContentQuerySchema=o.object({...t,owner:o.string(),repo:o.string(),branch:o.string().optional(),path:o.string(),startLine:o.number().int().optional(),endLine:o.number().int().optional(),fullContent:o.boolean().optional(),matchString:o.string().optional(),matchStringIsRegex:o.boolean().optional(),matchStringCaseSensitive:o.boolean().optional(),forceRefresh:o.boolean().optional(),type:o.enum(["file","directory"]).optional(),contextLines:o.number().int().optional(),charOffset:o.number().int().optional(),charLength:o.number().int().optional(),minify:o.enum(["none","standard","symbols"]).optional()});export const GitHubCodeSearchQuerySchema=o.object({...t,keywordsToSearch:n,owner:o.string().optional(),repo:o.string().optional(),extension:o.string().optional(),filename:o.string().optional(),path:o.string().optional(),match:o.enum(["file","path"]).optional(),limit:o.number().int().optional(),page:o.number().int().optional(),verbose:o.boolean().optional()});export const GitHubReposSearchSingleQuerySchema=o.object({...t,keywordsToSearch:n,topicsToSearch:n,language:o.string().optional(),owner:o.string().optional(),stars:o.string().optional(),size:o.string().optional(),created:o.string().optional(),updated:o.string().optional(),match:o.array(o.enum(["name","description","readme"])).optional(),sort:o.enum(["stars","forks","help-wanted-issues","updated","best-match"]).optional(),limit:o.number().int().optional(),page:o.number().int().optional(),archived:o.boolean().optional(),verbose:o.boolean().optional()});export const GitHubPullRequestSearchQuerySchema=o.object({...t,keywordsToSearch:o.array(o.string()).optional(),prNumber:o.number().int().optional(),owner:o.string().optional(),repo:o.string().optional(),verbose:o.boolean().optional(),state:o.enum(["open","closed","merged"]).optional(),assignee:o.string().optional(),author:o.string().optional(),commenter:o.string().optional(),involves:o.string().optional(),mentions:o.string().optional(),"review-requested":o.string().optional(),"reviewed-by":o.string().optional(),label:o.union([o.string(),o.array(o.string())]).optional(),"no-label":o.boolean().optional(),"no-milestone":o.boolean().optional(),"no-project":o.boolean().optional(),"no-assignee":o.boolean().optional(),head:o.string().optional(),base:o.string().optional(),created:o.string().optional(),updated:o.string().optional(),closed:o.string().optional(),"merged-at":o.string().optional(),comments:o.string().optional(),reactions:o.string().optional(),interactions:o.string().optional(),draft:o.boolean().optional(),matchScope:o.array(o.enum(["title","body","comments"])).optional(),sort:o.enum(["created","updated","best-match","comments","reactions"]).optional(),order:o.enum(["asc","desc"]).optional(),limit:o.number().int().optional(),page:o.number().int().optional(),archived:o.boolean().optional(),filePage:o.number().int().optional(),commentPage:o.number().int().optional(),commitPage:o.number().int().optional(),itemsPerPage:o.number().int().optional(),reviewMode:o.literal("full").optional(),content:o.object({metadata:o.boolean().optional(),body:o.boolean().optional(),changedFiles:o.boolean().optional(),patches:o.object({mode:o.enum(["none","selected","all"]).optional(),files:n,ranges:o.array(o.object({file:o.string(),additions:o.array(o.number().int()).optional(),deletions:o.array(o.number().int()).optional()})).optional()}).optional(),comments:o.object({discussion:o.boolean().optional(),reviewInline:o.boolean().optional(),includeBots:o.boolean().optional(),file:o.string().optional()}).optional(),reviews:o.boolean().optional(),commits:o.object({list:o.boolean().optional(),includeFiles:o.boolean().optional()}).optional()}).optional(),matchString:o.string().optional(),charOffset:o.number().int().optional(),charLength:o.number().int().optional(),includeBots:o.boolean().optional(),minify:o.enum(["none","standard"]).optional()});export const GitHubViewRepoStructureQuerySchema=o.object({...t,owner:o.string(),repo:o.string(),branch:o.string().optional(),path:o.string().optional(),depth:o.number().int().optional(),page:o.number().int().optional(),itemsPerPage:o.number().int().optional(),verbose:o.boolean().optional()});export const NpmPackageQuerySchema=o.object({...t,ecosystem:o.literal("npm").optional(),packageName:o.string(),mode:o.enum(["smart","full","lean"]).optional()});export const CloneRepoQuerySchema=o.object({...t,owner:o.string(),repo:o.string(),branch:o.string().optional(),sparsePath:o.string().optional(),forceRefresh:o.boolean().optional()});export const BulkCloneRepoSchema=o.object({queries:o.array(CloneRepoQuerySchema).min(1)});const e={...t,uri:o.string(),symbolName:o.string(),lineHint:o.number().int(),orderHint:o.number().int().optional()};export const LSPGotoDefinitionQuerySchema=o.object({...e,contextLines:o.number().int().optional()});export const LSPFindReferencesQuerySchema=o.object({...e,includeDeclaration:o.boolean().optional(),contextLines:o.number().int().optional(),itemsPerPage:o.number().int().optional(),page:o.number().int().optional(),groupByFile:o.boolean().optional()});export const LSPCallHierarchyQuerySchema=o.object({...e,direction:o.enum(["incoming","outgoing"]),depth:o.number().int().optional(),contextLines:o.number().int().optional(),itemsPerPage:o.number().int().optional(),page:o.number().int().optional()});
|
|
1
|
+
import{z as e}from"zod";import{baseSchema as o,toolNames as t}from"../resources/global.js";import{ghCloneRepo as n}from"../resources/tools/ghCloneRepo.js";import{ghGetFileContent as i}from"../resources/tools/ghGetFileContent.js";import{ghSearchCode as a}from"../resources/tools/ghSearchCode.js";import{ghSearchPRs as s}from"../resources/tools/ghSearchPRs.js";import{ghSearchRepos as l}from"../resources/tools/ghSearchRepos.js";import{ghViewRepoStructure as r}from"../resources/tools/ghViewRepoStructure.js";import{localFindFiles as c}from"../resources/tools/localFindFiles.js";import{localGetFileContent as p}from"../resources/tools/localGetFileContent.js";import{localSearchCode as m}from"../resources/tools/localSearchCode.js";import{localViewStructure as u}from"../resources/tools/localViewStructure.js";import{lspGetSemantics as d}from"../resources/tools/lspGetSemantics.js";import{npmSearch as g}from"../resources/tools/npmSearch.js";const h=e.array(e.string()).optional(),f=1e3,S=1e9,b=1e5,y=100,L=1e5;function E(o,t){return e.number().int().min(o).max(t)}function _(){return E(1,f).default(1)}function C(){return E(1,f).optional()}function T(){return E(0,100).optional()}function R(){return E(1,S).optional()}function I(){return E(0,1e8).optional()}function P(){return E(1,5e4).optional()}const x={[t.GITHUB_FETCH_CONTENT]:i.schema,[t.GITHUB_SEARCH_CODE]:a.schema,[t.GITHUB_SEARCH_PULL_REQUESTS]:s.schema,[t.GITHUB_SEARCH_REPOSITORIES]:l.schema,[t.GITHUB_VIEW_REPO_STRUCTURE]:r.schema,[t.PACKAGE_SEARCH]:g.schema,[t.GITHUB_CLONE_REPO]:n.schema,[t.LOCAL_RIPGREP]:m.schema,[t.LOCAL_FETCH_CONTENT]:p.schema,[t.LOCAL_FIND_FILES]:c.schema,[t.LOCAL_VIEW_STRUCTURE]:u.schema,[t.LSP_GET_SEMANTIC_CONTENT]:d.schema};function H(e,t){const n=x[e];return o[t]??n[t]}function v(e,o){return o?e.describe(o):e}function O(o,t,n=""){const i={};for(const e of Object.keys(t)){const a=t[e],s=H(o,n?`${n}.${e}`:e);i[e]=v(a,s)}return e.object(i)}function U(e,o){return O(e,o)}const G={id:e.string().optional(),mainResearchGoal:e.string().optional(),researchGoal:e.string().optional(),reasoning:e.string().optional()};export const RipgrepQuerySchema=U(t.LOCAL_RIPGREP,{...G,keywords:e.string(),path:e.string(),mode:e.enum(["paginated","discovery","detailed"]).default("paginated"),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:T(),matchContentLength:E(1,L).default(500),maxMatchesPerFile:E(1,L).optional(),maxFiles:E(1,L).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:C(),itemsPerPage:E(1,f).optional(),page:_()}).superRefine((e,o)=>{e.filesOnly&&e.filesWithoutMatch&&o.addIssue({code:"custom",message:"filesOnly and filesWithoutMatch are mutually exclusive.",path:["filesWithoutMatch"]}),e.fixedString&&e.perlRegex&&o.addIssue({code:"custom",message:"fixedString and perlRegex are mutually exclusive.",path:["perlRegex"]}),e.caseSensitive&&e.caseInsensitive&&o.addIssue({code:"custom",message:"caseSensitive and caseInsensitive are mutually exclusive.",path:["caseInsensitive"]}),e.multilineDotall&&!e.multiline&&o.addIssue({code:"custom",message:"multilineDotall requires multiline=true.",path:["multilineDotall"]}),e.countLinesPerFile&&e.countMatchesPerFile&&o.addIssue({code:"custom",message:"countLinesPerFile and countMatchesPerFile are mutually exclusive.",path:["countMatchesPerFile"]})});export const FindFilesQuerySchema=U(t.LOCAL_FIND_FILES,{...G,path:e.string(),maxDepth:E(0,100).optional(),minDepth:E(0,100).optional(),names:h,pathPattern:e.string().optional(),regex:e.string().optional(),empty:e.boolean().optional(),modifiedWithin:e.string().optional(),modifiedBefore:e.string().optional(),accessedWithin:e.string().optional(),sizeGreater:e.string().optional(),sizeLess:e.string().optional(),permissions:e.string().optional(),executable:e.boolean().optional(),readable:e.boolean().optional(),writable:e.boolean().optional(),excludeDir:h,limit:E(1,1e4).optional(),details:e.boolean().optional(),showFileLastModified:e.boolean().optional(),sortBy:e.enum(["modified","name","path","size"]).default("modified"),entryType:e.enum(["f","d"]).optional(),page:_(),itemsPerPage:E(1,50).optional()}).superRefine((e,o)=>{void 0!==e.minDepth&&void 0!==e.maxDepth&&e.minDepth>e.maxDepth&&o.addIssue({code:"custom",message:"minDepth must be less than or equal to maxDepth.",path:["minDepth"]})});export const ViewStructureQuerySchema=U(t.LOCAL_VIEW_STRUCTURE,{...G,path:e.string(),details:e.boolean().optional(),hidden:e.boolean().optional(),sortBy:e.enum(["name","size","time","extension"]).default("name"),reverse:e.boolean().optional(),pattern:e.string().optional(),directoriesOnly:e.boolean().optional(),filesOnly:e.boolean().optional(),recursive:e.boolean().optional(),extensions:h,depth:E(0,20).optional(),limit:E(1,1e4).optional(),showFileLastModified:e.boolean().optional(),page:_(),itemsPerPage:E(1,50).optional()}).superRefine((e,o)=>{e.filesOnly&&e.directoriesOnly&&o.addIssue({code:"custom",message:"filesOnly and directoriesOnly are mutually exclusive.",path:["directoriesOnly"]})});function N(e,o){const t=!0===e.fullContent,n=void 0!==e.matchString,i=void 0!==e.startLine||void 0!==e.endLine;t&&n&&o.addIssue({code:"custom",message:"Cannot use fullContent with matchString — these are mutually exclusive extraction methods.",path:["matchString"]}),t&&i&&o.addIssue({code:"custom",message:"Cannot use fullContent with startLine/endLine — these are mutually exclusive extraction methods.",path:["startLine"]}),n&&i&&o.addIssue({code:"custom",message:"Cannot use matchString with startLine/endLine — these are mutually exclusive extraction methods.",path:["startLine"]}),void 0!==e.startLine&&void 0!==e.endLine&&e.endLine<e.startLine&&o.addIssue({code:"custom",message:"Invalid line range: endLine must be greater than or equal to startLine.",path:["endLine"]})}export const FetchContentQuerySchema=U(t.LOCAL_FETCH_CONTENT,{...G,path:e.string(),fullContent:e.boolean().optional(),matchString:e.string().optional(),matchStringIsRegex:e.boolean().optional(),matchStringCaseSensitive:e.boolean().optional(),startLine:R(),endLine:R(),contextLines:E(0,100).default(5),charOffset:I(),charLength:P(),minify:e.enum(["none","standard","symbols"]).default("standard")}).superRefine(N);export const FileContentQuerySchema=U(t.GITHUB_FETCH_CONTENT,{...G,owner:e.string(),repo:e.string(),branch:e.string().optional(),path:e.string(),startLine:R(),endLine:R(),fullContent:e.boolean().optional(),matchString:e.string().optional(),matchStringIsRegex:e.boolean().optional(),matchStringCaseSensitive:e.boolean().optional(),forceRefresh:e.boolean().optional(),type:e.enum(["file","directory"]).default("file"),contextLines:E(0,100).default(5),charOffset:I(),charLength:P(),minify:e.enum(["none","standard","symbols"]).default("standard")}).superRefine(N);export const GitHubCodeSearchQuerySchema=U(t.GITHUB_SEARCH_CODE,{...G,keywordsToSearch:h,owner:e.string().optional(),repo:e.string().optional(),extension:e.string().optional(),filename:e.string().optional(),path:e.string().optional(),language:e.string().optional(),match:e.enum(["file","path"]).default("file"),limit:E(1,100).default(30),page:_(),verbose:e.boolean().optional()});export const GitHubReposSearchSingleQuerySchema=U(t.GITHUB_SEARCH_REPOSITORIES,{...G,keywordsToSearch:h,topicsToSearch:h,language:e.string().optional(),owner:e.string().optional(),stars:e.string().optional(),size:e.string().optional(),created:e.string().optional(),updated:e.string().optional(),match:e.array(e.enum(["name","description","readme"])).optional(),sort:e.enum(["stars","forks","help-wanted-issues","updated","best-match"]).default("best-match"),limit:E(1,100).default(30),page:_(),archived:e.boolean().optional(),visibility:e.enum(["public","private"]).optional(),forks:e.string().optional(),license:e.string().optional(),goodFirstIssues:e.string().optional(),verbose:e.boolean().optional()});export const GitHubPullRequestSearchQuerySchema=U(t.GITHUB_SEARCH_PULL_REQUESTS,{...G,keywordsToSearch:e.array(e.string()).optional(),query:e.string().optional(),prNumber:E(1,S).optional(),owner:e.string().optional(),repo:e.string().optional(),verbose:e.boolean().optional(),state:e.enum(["open","closed","merged"]).optional(),assignee:e.string().optional(),author:e.string().optional(),commenter:e.string().optional(),involves:e.string().optional(),mentions:e.string().optional(),"review-requested":e.string().optional(),"reviewed-by":e.string().optional(),label:e.union([e.string(),e.array(e.string())]).optional(),"no-label":e.boolean().optional(),"no-milestone":e.boolean().optional(),"no-project":e.boolean().optional(),"no-assignee":e.boolean().optional(),head:e.string().optional(),base:e.string().optional(),created:e.string().optional(),updated:e.string().optional(),closed:e.string().optional(),"merged-at":e.string().optional(),comments:e.string().optional(),reactions:e.string().optional(),interactions:e.string().optional(),draft:e.boolean().optional(),match:e.array(e.enum(["title","body","comments"])).optional(),sort:e.enum(["created","updated","best-match","comments","reactions"]).optional(),order:e.enum(["asc","desc"]).optional(),limit:E(1,100).default(30),page:_(),archived:e.boolean().optional(),filePage:C(),commentPage:C(),commitPage:C(),itemsPerPage:E(1,y).default(20),reviewMode:e.literal("full").optional(),content:O(t.GITHUB_SEARCH_PULL_REQUESTS,{metadata:e.boolean().optional(),body:e.boolean().optional(),changedFiles:e.boolean().optional(),patches:O(t.GITHUB_SEARCH_PULL_REQUESTS,{mode:e.enum(["none","selected","all"]).default("none"),files:h,ranges:e.array(O(t.GITHUB_SEARCH_PULL_REQUESTS,{file:e.string(),additions:e.array(E(1,S)).optional(),deletions:e.array(E(1,S)).optional()},"content.patches.ranges")).optional()},"content.patches").optional(),comments:O(t.GITHUB_SEARCH_PULL_REQUESTS,{discussion:e.boolean().optional(),reviewInline:e.boolean().optional(),includeBots:e.boolean().default(!1),file:e.string().optional()},"content.comments").optional(),reviews:e.boolean().optional(),commits:O(t.GITHUB_SEARCH_PULL_REQUESTS,{list:e.boolean().optional(),includeFiles:e.boolean().optional()},"content.commits").optional()},"content").optional(),matchString:e.string().optional(),charOffset:I(),charLength:P()}).superRefine((e,o)=>{const t=e.content?.patches;if(!t)return;const n=(t.files?.length??0)>0,i=(t.ranges?.length??0)>0,a=n||i;"selected"!==t.mode||a||o.addIssue({code:"custom",message:'content.patches.mode="selected" requires non-empty files or ranges.',path:["content","patches","files"]}),"selected"!==t.mode&&a&&o.addIssue({code:"custom",message:'content.patches.files and content.patches.ranges require mode="selected".',path:["content","patches","mode"]})});export const GitHubViewRepoStructureQuerySchema=U(t.GITHUB_VIEW_REPO_STRUCTURE,{...G,owner:e.string(),repo:e.string(),branch:e.string().optional(),path:e.string().optional(),depth:E(0,20).optional(),page:_(),itemsPerPage:E(1,200).default(100)});export const NpmPackageQuerySchema=U(t.PACKAGE_SEARCH,{...G,packageName:e.string(),page:_()});export const CloneRepoQuerySchema=U(t.GITHUB_CLONE_REPO,{...G,owner:e.string(),repo:e.string(),branch:e.string().optional(),sparsePath:e.string().optional(),forceRefresh:e.boolean().optional()});export const BulkCloneRepoSchema=e.object({queries:e.array(CloneRepoQuerySchema).min(1)});const F={...G,uri:e.string(),symbolName:e.string(),lineHint:E(1,S),orderHint:E(0,b).default(0)};export const LSPGotoDefinitionQuerySchema=U(t.LSP_GET_SEMANTIC_CONTENT,{...F,contextLines:T()});export const LSPFindReferencesQuerySchema=U(t.LSP_GET_SEMANTIC_CONTENT,{...F,includeDeclaration:e.boolean().optional(),contextLines:T(),itemsPerPage:E(1,y).optional(),page:_(),groupByFile:e.boolean().optional()});export const LSPCallHierarchyQuerySchema=U(t.LSP_GET_SEMANTIC_CONTENT,{...F,direction:e.enum(["incoming","outgoing"]),depth:E(0,20).optional(),contextLines:T(),itemsPerPage:E(1,y).optional(),page:_()});export const LspGetSemanticsQuerySchema=U(t.LSP_GET_SEMANTIC_CONTENT,{...G,uri:e.string(),type:e.enum(["definition","references","callers","callees","callHierarchy","hover","documentSymbols","typeDefinition","implementation"]).default("definition"),symbolName:e.string().min(1).optional(),lineHint:E(1,S).optional(),orderHint:E(0,b).default(0),depth:E(0,20).optional(),includeDeclaration:e.boolean().default(!0),groupByFile:e.boolean().optional(),page:_(),itemsPerPage:E(1,y).optional(),contextLines:T(),format:e.enum(["structured","compact"]).default("structured"),workspaceRoot:e.string().optional()}).superRefine((e,o)=>{"documentSymbols"!==e.type&&(e.symbolName||o.addIssue({code:"custom",path:["symbolName"],message:"symbolName is required unless type is documentSymbols"}),Number.isInteger(e.lineHint)||o.addIssue({code:"custom",path:["lineHint"],message:"lineHint is required unless type is documentSymbols"}))});
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zod output schemas — every tool's *envelope* shape, mirroring the
|
|
3
|
-
* structural types in `../types/index.ts`. The mcp-host overlay layers
|
|
4
|
-
* peer-level keys (`hints`, `format`, `columns`, `rows`, `evidence`) on
|
|
5
|
-
* top via `.extend()`, so each schema here is a plain `z.object` with
|
|
6
|
-
* `.passthrough()` so the overlay can attach fields without strict-mode
|
|
7
|
-
* rejection.
|
|
8
|
-
*
|
|
9
|
-
* Field-level constraints are intentionally loose — the runtime
|
|
10
|
-
* `ToolResultEnvelope<T>` is the source of truth; these schemas exist
|
|
11
|
-
* primarily to let consumers feed them to MCP `outputSchema` slots.
|
|
12
|
-
*/
|
|
13
1
|
import { z } from "zod";
|
|
14
2
|
export declare const ErrorDataSchema: z.ZodObject<{
|
|
15
3
|
id: z.ZodOptional<z.ZodString>;
|
|
@@ -814,7 +802,7 @@ export declare const GitHubCloneRepoOutputSchema: z.ZodObject<{
|
|
|
814
802
|
}, z.core.$loose>]>>>;
|
|
815
803
|
error: z.ZodOptional<z.ZodString>;
|
|
816
804
|
}, z.core.$loose>;
|
|
817
|
-
export declare const
|
|
805
|
+
export declare const NpmSearchOutputSchema: z.ZodObject<{
|
|
818
806
|
status: z.ZodOptional<z.ZodEnum<{
|
|
819
807
|
empty: import("../types/index.js").ToolStatus.Empty;
|
|
820
808
|
error: import("../types/index.js").ToolStatus.Error;
|
package/dist/schemas/outputs.js
CHANGED
|
@@ -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
|
|
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,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime helpers for ripgrep queries — kept tiny intentionally. The
|
|
3
|
-
* mcp-host already has rich validation (zod overlay, command builder
|
|
4
|
-
* pre-flight); this surface exists so consumers can call the canonical
|
|
5
|
-
* function name without forking their own copy.
|
|
6
|
-
*/
|
|
7
1
|
import type { z } from "zod";
|
|
8
2
|
import { RipgrepQuerySchema } from "./index.js";
|
|
9
3
|
type RuntimeRipgrepQuery = z.infer<typeof RipgrepQuerySchema>;
|
|
@@ -12,21 +6,6 @@ export interface RipgrepValidationResult {
|
|
|
12
6
|
errors: string[];
|
|
13
7
|
warnings: string[];
|
|
14
8
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Lightweight ripgrep-query sanity check. Returns `isValid: true` when
|
|
17
|
-
* the minimum required fields are present. Real validation runs in the
|
|
18
|
-
* mcp-host overlay; this helper is a no-op gate plus a couple of cheap
|
|
19
|
-
* mutex checks for combinations ripgrep itself rejects.
|
|
20
|
-
*/
|
|
21
9
|
export declare function validateRipgrepQuery(query: RuntimeRipgrepQuery): RipgrepValidationResult;
|
|
22
|
-
/**
|
|
23
|
-
* Translate a ripgrep query's `mode` cost lever into concrete flag
|
|
24
|
-
* defaults. Idempotent — re-applying the function yields the same
|
|
25
|
-
* query. Returns a shallow clone so callers can keep the original.
|
|
26
|
-
*
|
|
27
|
-
* discovery → filesOnly=true, no content
|
|
28
|
-
* detailed → contextLines=3 by default
|
|
29
|
-
* paginated → no-op (caller-supplied pagination knobs win)
|
|
30
|
-
*/
|
|
31
10
|
export declare function applyWorkflowMode<T extends RuntimeRipgrepQuery>(query: T): T;
|
|
32
11
|
export {};
|
package/dist/schemas/runtime.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export function validateRipgrepQuery(e){const
|
|
1
|
+
export function validateRipgrepQuery(e){const i=[],t=[];return e&&"object"==typeof e?(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}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Maps constant keys (SCREAMING_SNAKE_CASE) to their canonical MCP tool name
|
|
3
|
-
* strings. Adding a new tool means adding one entry here; consumers derive
|
|
4
|
-
* key/value unions with `keyof ToolNames` and `ToolNames[keyof ToolNames]`.
|
|
5
|
-
*/
|
|
6
1
|
export interface ToolNames {
|
|
7
|
-
GITHUB_FETCH_CONTENT: "
|
|
8
|
-
GITHUB_SEARCH_CODE: "
|
|
9
|
-
GITHUB_SEARCH_PULL_REQUESTS: "
|
|
10
|
-
GITHUB_SEARCH_REPOSITORIES: "
|
|
11
|
-
GITHUB_VIEW_REPO_STRUCTURE: "
|
|
12
|
-
PACKAGE_SEARCH: "
|
|
13
|
-
GITHUB_CLONE_REPO: "
|
|
2
|
+
GITHUB_FETCH_CONTENT: "ghGetFileContent";
|
|
3
|
+
GITHUB_SEARCH_CODE: "ghSearchCode";
|
|
4
|
+
GITHUB_SEARCH_PULL_REQUESTS: "ghSearchPRs";
|
|
5
|
+
GITHUB_SEARCH_REPOSITORIES: "ghSearchRepos";
|
|
6
|
+
GITHUB_VIEW_REPO_STRUCTURE: "ghViewRepoStructure";
|
|
7
|
+
PACKAGE_SEARCH: "npmSearch";
|
|
8
|
+
GITHUB_CLONE_REPO: "ghCloneRepo";
|
|
14
9
|
LOCAL_RIPGREP: "localSearchCode";
|
|
15
10
|
LOCAL_FETCH_CONTENT: "localGetFileContent";
|
|
16
11
|
LOCAL_FIND_FILES: "localFindFiles";
|
|
17
12
|
LOCAL_VIEW_STRUCTURE: "localViewStructure";
|
|
18
|
-
LSP_GET_SEMANTIC_CONTENT: "
|
|
13
|
+
LSP_GET_SEMANTIC_CONTENT: "lspGetSemantics";
|
|
19
14
|
}
|
|
20
15
|
export interface ToolHints {
|
|
21
16
|
readonly empty: readonly string[];
|
|
@@ -23,31 +18,13 @@ export interface ToolHints {
|
|
|
23
18
|
export interface ToolSchema {
|
|
24
19
|
readonly [param: string]: string;
|
|
25
20
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Authoring type for resource files — carries the static definition
|
|
28
|
-
* (name, description, schema) plus optional empty-result hints authored
|
|
29
|
-
* alongside the tool. Runtime hints from the MCP server response layer
|
|
30
|
-
* are additive; these provide pre-call and empty-result guidance.
|
|
31
|
-
*/
|
|
32
21
|
export interface ToolSpec {
|
|
33
22
|
readonly name: string;
|
|
34
23
|
readonly description: string;
|
|
35
24
|
readonly schema: ToolSchema;
|
|
36
|
-
/** Hints authored in the resource file. Defaults to `{ empty: [] }` when absent. */
|
|
37
25
|
readonly hints?: ToolHints;
|
|
38
26
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Full tool descriptor stored in the config blob and consumed by MCP clients.
|
|
41
|
-
* Extends ToolSpec with optional runtime hints (rarely populated — most
|
|
42
|
-
* response-handling guidance now lives in the system prompt).
|
|
43
|
-
*/
|
|
44
27
|
export interface ToolMetadata extends ToolSpec {
|
|
45
|
-
/**
|
|
46
|
-
* Runtime hint registry — always present (defaults to `{ empty: [] }`).
|
|
47
|
-
* Consumers index into this without null-checking the property itself,
|
|
48
|
-
* so it stays required even when the config blob ships no hints for the
|
|
49
|
-
* tool.
|
|
50
|
-
*/
|
|
51
28
|
readonly hints: ToolHints;
|
|
52
29
|
}
|
|
53
30
|
export interface BaseSchema {
|
|
@@ -55,7 +32,6 @@ export interface BaseSchema {
|
|
|
55
32
|
readonly mainResearchGoal: string;
|
|
56
33
|
readonly researchGoal: string;
|
|
57
34
|
readonly reasoning: string;
|
|
58
|
-
/** Description string for the boolean verbose field shown in tool schemas. */
|
|
59
35
|
readonly verbose?: string;
|
|
60
36
|
}
|
|
61
37
|
export interface OctocodeConfig {
|
|
@@ -71,22 +47,14 @@ export interface CompleteMetadata {
|
|
|
71
47
|
readonly toolNames: ToolNames;
|
|
72
48
|
readonly baseSchema: BaseSchema;
|
|
73
49
|
readonly tools: Record<string, ToolSpec | ToolMetadata>;
|
|
74
|
-
/**
|
|
75
|
-
* Shared hint registry — keys are result kinds (`"empty"`, …). Always
|
|
76
|
-
* present (defaults to `{}`); consumers fall through to per-tool `hints`
|
|
77
|
-
* for tools without a matching key.
|
|
78
|
-
*/
|
|
79
50
|
readonly baseHints: Readonly<Record<string, readonly string[]>>;
|
|
80
|
-
/** Generic-error hint list — surfaced on any unhandled tool error. Defaults to `[]`. */
|
|
81
51
|
readonly genericErrorHints: readonly string[];
|
|
82
52
|
}
|
|
83
|
-
/** Envelope-level status — every tool's response carries this. */
|
|
84
53
|
export declare enum ToolStatus {
|
|
85
54
|
Empty = "empty",
|
|
86
55
|
Error = "error"
|
|
87
56
|
}
|
|
88
57
|
export declare const STATUS_VALUES: readonly [ToolStatus.Empty, ToolStatus.Error];
|
|
89
|
-
/** Row-level pagination — superset of every per-tool flavour. */
|
|
90
58
|
export interface PaginationInfo {
|
|
91
59
|
readonly currentPage: number;
|
|
92
60
|
readonly totalPages: number;
|
|
@@ -100,7 +68,6 @@ export interface PaginationInfo {
|
|
|
100
68
|
readonly filesPerPage?: number;
|
|
101
69
|
readonly matchesPerPage?: number;
|
|
102
70
|
}
|
|
103
|
-
/** Rendered-payload pagination — used by `charOffset` / `charLength` paths. */
|
|
104
71
|
export interface CharPagination {
|
|
105
72
|
readonly currentPage: number;
|
|
106
73
|
readonly totalPages: number;
|
|
@@ -108,18 +75,14 @@ export interface CharPagination {
|
|
|
108
75
|
readonly charOffset: number;
|
|
109
76
|
readonly charLength: number;
|
|
110
77
|
readonly totalChars: number;
|
|
78
|
+
readonly chunkMode?: "semantic" | "char-limit";
|
|
79
|
+
readonly nextBlockChar?: number;
|
|
111
80
|
}
|
|
112
|
-
/** LSP semantic vs. fallback mode marker. */
|
|
113
81
|
export declare enum LspMode {
|
|
114
82
|
Semantic = "semantic",
|
|
115
83
|
Fallback = "fallback"
|
|
116
84
|
}
|
|
117
85
|
export declare const LSP_MODES: readonly [LspMode.Semantic, LspMode.Fallback];
|
|
118
|
-
/**
|
|
119
|
-
* Typed warning kinds emitted by tool responses. Discriminated by `kind`.
|
|
120
|
-
* Add new kinds here when introducing new advisory categories — keeps the
|
|
121
|
-
* agent-facing wire contract stable across consumers.
|
|
122
|
-
*/
|
|
123
86
|
export interface ToolWarning {
|
|
124
87
|
readonly kind: "match-value-truncated" | "content-truncated";
|
|
125
88
|
readonly truncatedAt?: number;
|
|
@@ -127,7 +90,6 @@ export interface ToolWarning {
|
|
|
127
90
|
readonly path?: string;
|
|
128
91
|
readonly detail?: string;
|
|
129
92
|
}
|
|
130
|
-
/** Generic envelope every tool wraps its data in. */
|
|
131
93
|
export interface ToolResultEnvelope<TData> {
|
|
132
94
|
readonly status?: ToolStatus;
|
|
133
95
|
readonly data?: TData;
|
|
@@ -136,7 +98,6 @@ export interface ToolResultEnvelope<TData> {
|
|
|
136
98
|
readonly error?: string;
|
|
137
99
|
}
|
|
138
100
|
export type ContentView = "none" | "standard" | "symbols";
|
|
139
|
-
/** Per-file match pagination — for paging matches *within* a single file. */
|
|
140
101
|
export interface LocalSearchCodeMatchPagination {
|
|
141
102
|
readonly currentPage: number;
|
|
142
103
|
readonly totalPages: number;
|
|
@@ -151,9 +112,7 @@ export interface LocalSearchCodeMatch {
|
|
|
151
112
|
}
|
|
152
113
|
export interface LocalSearchCodeFile {
|
|
153
114
|
path: string;
|
|
154
|
-
/** Omitted in filesOnly/discovery mode — rg -l reports no per-file counts. */
|
|
155
115
|
matchCount?: number;
|
|
156
|
-
/** Omitted in discovery/filesOnly mode — empty arrays are noise. */
|
|
157
116
|
matches?: LocalSearchCodeMatch[];
|
|
158
117
|
modified?: string;
|
|
159
118
|
pagination?: LocalSearchCodeMatchPagination;
|
|
@@ -363,6 +322,6 @@ export interface PackageItem {
|
|
|
363
322
|
readonly downloads?: number;
|
|
364
323
|
readonly recentVersions?: readonly string[];
|
|
365
324
|
}
|
|
366
|
-
export interface
|
|
325
|
+
export interface NpmSearchData {
|
|
367
326
|
readonly packages: readonly PackageItem[];
|
|
368
327
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octocodeai/octocode-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.1.1",
|
|
4
4
|
"description": "Core config, prompts, tools, and schemas for Octocode MCP",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"generate": "tsx src/octocode-scripts/generateDefaultJson.ts",
|
|
46
|
+
"dump:agent-context": "tsx src/octocode-scripts/dumpAgentContext.ts",
|
|
46
47
|
"compress": "yarn generate && node scripts/compress-config.mjs",
|
|
47
48
|
"build": "rm -rf dist && yarn generate && node scripts/compress-config.mjs && tsc && node scripts/minify-dist.mjs",
|
|
48
49
|
"lint": "eslint src/**/*.ts",
|