UNPKG

@sourcebot/mcp

Version:

[![Sourcebot](https://img.shields.io/badge/Website-sourcebot.dev-blue)](https://sourcebot.dev) [![GitHub](https://img.shields.io/badge/GitHub-sourcebot--dev%2Fsourcebot-green?logo=github)](https://github.com/sourcebot-dev/sourcebot) [![Docs](https://img.s

148 lines (147 loc) 4.84 kB
import { AskCodebaseRequest, AskCodebaseResponse, FileSourceRequest, ListReposQueryParams, SearchRequest, ListCommitsQueryParamsSchema, ListLanguageModelsResponse, ListTreeApiRequest, ListTreeApiResponse } from './types.js'; export declare const search: (request: SearchRequest) => Promise<{ stats: { actualMatchCount: number; totalMatchCount: number; duration: number; fileCount: number; filesSkipped: number; contentBytesLoaded: number; indexBytesLoaded: number; crashes: number; shardFilesConsidered: number; filesConsidered: number; filesLoaded: number; shardsScanned: number; shardsSkipped: number; shardsSkippedFilter: number; ngramMatches: number; ngramLookups: number; wait: number; matchTreeConstruction: number; matchTreeSearch: number; regexpsConsidered: number; flushReason: string; }; files: { webUrl: string; fileName: { text: string; matchRanges: { start: { byteOffset: number; lineNumber: number; column: number; }; end: { byteOffset: number; lineNumber: number; column: number; }; }[]; }; repository: string; repositoryId: number; language: string; chunks: { matchRanges: { start: { byteOffset: number; lineNumber: number; column: number; }; end: { byteOffset: number; lineNumber: number; column: number; }; }[]; content: string; contentStart: { byteOffset: number; lineNumber: number; column: number; }; symbols?: { symbol: string; kind: string; parent?: { symbol: string; kind: string; } | undefined; }[] | undefined; }[]; externalWebUrl?: string | undefined; content?: string | undefined; branches?: string[] | undefined; }[]; repositoryInfo: { id: number; codeHostType: string; name: string; displayName?: string | undefined; webUrl?: string | undefined; }[]; isSearchExhaustive: boolean; }>; export declare const listRepos: (queryParams?: ListReposQueryParams) => Promise<{ repos: { codeHostType: string; webUrl: string; repoId: number; repoName: string; isFork: boolean; isArchived: boolean; externalWebUrl?: string | undefined; repoDisplayName?: string | undefined; imageUrl?: string | undefined; indexedAt?: Date | undefined; pushedAt?: Date | undefined; defaultBranch?: string | undefined; }[]; totalCount: number; }>; export declare const getFileSource: (request: FileSourceRequest) => Promise<{ path: string; webUrl: string; language: string; repo: string; source: string; repoCodeHostType: string; externalWebUrl?: string | undefined; repoDisplayName?: string | undefined; repoExternalWebUrl?: string | undefined; }>; export declare const listCommits: (queryParams: ListCommitsQueryParamsSchema) => Promise<{ commits: { message: string; date: string; hash: string; refs: string; body: string; author_name: string; author_email: string; }[]; totalCount: number; }>; /** * Fetches a repository tree (or subtree union) from the Sourcebot tree API. * * @param request - Repository name, revision, and path selectors for the tree query * @returns A tree response rooted at `tree` containing nested `tree`/`blob` nodes */ export declare const listTree: (request: ListTreeApiRequest) => Promise<ListTreeApiResponse>; /** * Asks a natural language question about the codebase using the Sourcebot AI agent. * This is a blocking call that runs the full agent loop and returns when complete. * * @param request - The question and optional repo filters * @returns The agent's answer, chat URL, sources, and metadata */ export declare const askCodebase: (request: AskCodebaseRequest) => Promise<AskCodebaseResponse>; /** * Lists the available language models configured on the Sourcebot instance. * * @returns Array of language model info objects */ export declare const listLanguageModels: () => Promise<ListLanguageModelsResponse>;