generate protobuf types

This commit is contained in:
bkellam 2025-11-13 21:17:17 -08:00
parent 09507d3e89
commit a040ee1e07
51 changed files with 1972 additions and 1 deletions

View file

@ -1,3 +1,4 @@
# shadcn components
src/components/
next-env.d.ts
src/proto/**

View file

@ -8,6 +8,7 @@
"start": "next start",
"lint": "cross-env SKIP_ENV_VALIDATION=1 eslint .",
"test": "cross-env SKIP_ENV_VALIDATION=1 vitest",
"generate:protos": "proto-loader-gen-types --includeComments --longs=Number --enums=String --defaults --oneofs --grpcLib=@grpc/grpc-js --keepCase --includeDirs=../../vendor/zoekt/grpc/protos --outDir=src/proto zoekt/webserver/v1/webserver.proto zoekt/webserver/v1/query.proto",
"dev:emails": "email dev --dir ./src/emails",
"stripe:listen": "stripe listen --forward-to http://localhost:3000/api/stripe"
},
@ -52,6 +53,8 @@
"@codemirror/state": "^6.4.1",
"@codemirror/view": "^6.33.0",
"@floating-ui/react": "^0.27.2",
"@grpc/grpc-js": "^1.14.1",
"@grpc/proto-loader": "^0.8.0",
"@hookform/resolvers": "^3.9.0",
"@iconify/react": "^5.1.0",
"@iizukak/codemirror-lang-wgsl": "^0.3.0",

View file

@ -0,0 +1,13 @@
// Original file: null
import type { Long } from '@grpc/proto-loader';
export interface Duration {
'seconds'?: (number | string | Long);
'nanos'?: (number);
}
export interface Duration__Output {
'seconds': (number);
'nanos': (number);
}

View file

@ -0,0 +1,13 @@
// Original file: null
import type { Long } from '@grpc/proto-loader';
export interface Timestamp {
'seconds'?: (number | string | Long);
'nanos'?: (number);
}
export interface Timestamp__Output {
'seconds': (number);
'nanos': (number);
}

View file

@ -0,0 +1,55 @@
import type * as grpc from '@grpc/grpc-js';
import type { MessageTypeDefinition } from '@grpc/proto-loader';
import type { And as _zoekt_webserver_v1_And, And__Output as _zoekt_webserver_v1_And__Output } from './zoekt/webserver/v1/And';
import type { Boost as _zoekt_webserver_v1_Boost, Boost__Output as _zoekt_webserver_v1_Boost__Output } from './zoekt/webserver/v1/Boost';
import type { Branch as _zoekt_webserver_v1_Branch, Branch__Output as _zoekt_webserver_v1_Branch__Output } from './zoekt/webserver/v1/Branch';
import type { BranchRepos as _zoekt_webserver_v1_BranchRepos, BranchRepos__Output as _zoekt_webserver_v1_BranchRepos__Output } from './zoekt/webserver/v1/BranchRepos';
import type { BranchesRepos as _zoekt_webserver_v1_BranchesRepos, BranchesRepos__Output as _zoekt_webserver_v1_BranchesRepos__Output } from './zoekt/webserver/v1/BranchesRepos';
import type { FileNameSet as _zoekt_webserver_v1_FileNameSet, FileNameSet__Output as _zoekt_webserver_v1_FileNameSet__Output } from './zoekt/webserver/v1/FileNameSet';
import type { Language as _zoekt_webserver_v1_Language, Language__Output as _zoekt_webserver_v1_Language__Output } from './zoekt/webserver/v1/Language';
import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from './zoekt/webserver/v1/Not';
import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or__Output } from './zoekt/webserver/v1/Or';
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from './zoekt/webserver/v1/Q';
import type { RawConfig as _zoekt_webserver_v1_RawConfig, RawConfig__Output as _zoekt_webserver_v1_RawConfig__Output } from './zoekt/webserver/v1/RawConfig';
import type { Regexp as _zoekt_webserver_v1_Regexp, Regexp__Output as _zoekt_webserver_v1_Regexp__Output } from './zoekt/webserver/v1/Regexp';
import type { Repo as _zoekt_webserver_v1_Repo, Repo__Output as _zoekt_webserver_v1_Repo__Output } from './zoekt/webserver/v1/Repo';
import type { RepoIds as _zoekt_webserver_v1_RepoIds, RepoIds__Output as _zoekt_webserver_v1_RepoIds__Output } from './zoekt/webserver/v1/RepoIds';
import type { RepoRegexp as _zoekt_webserver_v1_RepoRegexp, RepoRegexp__Output as _zoekt_webserver_v1_RepoRegexp__Output } from './zoekt/webserver/v1/RepoRegexp';
import type { RepoSet as _zoekt_webserver_v1_RepoSet, RepoSet__Output as _zoekt_webserver_v1_RepoSet__Output } from './zoekt/webserver/v1/RepoSet';
import type { Substring as _zoekt_webserver_v1_Substring, Substring__Output as _zoekt_webserver_v1_Substring__Output } from './zoekt/webserver/v1/Substring';
import type { Symbol as _zoekt_webserver_v1_Symbol, Symbol__Output as _zoekt_webserver_v1_Symbol__Output } from './zoekt/webserver/v1/Symbol';
import type { Type as _zoekt_webserver_v1_Type, Type__Output as _zoekt_webserver_v1_Type__Output } from './zoekt/webserver/v1/Type';
type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
new(...args: ConstructorParameters<Constructor>): Subtype;
};
export interface ProtoGrpcType {
zoekt: {
webserver: {
v1: {
And: MessageTypeDefinition<_zoekt_webserver_v1_And, _zoekt_webserver_v1_And__Output>
Boost: MessageTypeDefinition<_zoekt_webserver_v1_Boost, _zoekt_webserver_v1_Boost__Output>
Branch: MessageTypeDefinition<_zoekt_webserver_v1_Branch, _zoekt_webserver_v1_Branch__Output>
BranchRepos: MessageTypeDefinition<_zoekt_webserver_v1_BranchRepos, _zoekt_webserver_v1_BranchRepos__Output>
BranchesRepos: MessageTypeDefinition<_zoekt_webserver_v1_BranchesRepos, _zoekt_webserver_v1_BranchesRepos__Output>
FileNameSet: MessageTypeDefinition<_zoekt_webserver_v1_FileNameSet, _zoekt_webserver_v1_FileNameSet__Output>
Language: MessageTypeDefinition<_zoekt_webserver_v1_Language, _zoekt_webserver_v1_Language__Output>
Not: MessageTypeDefinition<_zoekt_webserver_v1_Not, _zoekt_webserver_v1_Not__Output>
Or: MessageTypeDefinition<_zoekt_webserver_v1_Or, _zoekt_webserver_v1_Or__Output>
Q: MessageTypeDefinition<_zoekt_webserver_v1_Q, _zoekt_webserver_v1_Q__Output>
RawConfig: MessageTypeDefinition<_zoekt_webserver_v1_RawConfig, _zoekt_webserver_v1_RawConfig__Output>
Regexp: MessageTypeDefinition<_zoekt_webserver_v1_Regexp, _zoekt_webserver_v1_Regexp__Output>
Repo: MessageTypeDefinition<_zoekt_webserver_v1_Repo, _zoekt_webserver_v1_Repo__Output>
RepoIds: MessageTypeDefinition<_zoekt_webserver_v1_RepoIds, _zoekt_webserver_v1_RepoIds__Output>
RepoRegexp: MessageTypeDefinition<_zoekt_webserver_v1_RepoRegexp, _zoekt_webserver_v1_RepoRegexp__Output>
RepoSet: MessageTypeDefinition<_zoekt_webserver_v1_RepoSet, _zoekt_webserver_v1_RepoSet__Output>
Substring: MessageTypeDefinition<_zoekt_webserver_v1_Substring, _zoekt_webserver_v1_Substring__Output>
Symbol: MessageTypeDefinition<_zoekt_webserver_v1_Symbol, _zoekt_webserver_v1_Symbol__Output>
Type: MessageTypeDefinition<_zoekt_webserver_v1_Type, _zoekt_webserver_v1_Type__Output>
}
}
}
}

View file

@ -0,0 +1,112 @@
import type * as grpc from '@grpc/grpc-js';
import type { EnumTypeDefinition, MessageTypeDefinition } from '@grpc/proto-loader';
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from './google/protobuf/Duration';
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from './google/protobuf/Timestamp';
import type { And as _zoekt_webserver_v1_And, And__Output as _zoekt_webserver_v1_And__Output } from './zoekt/webserver/v1/And';
import type { Boost as _zoekt_webserver_v1_Boost, Boost__Output as _zoekt_webserver_v1_Boost__Output } from './zoekt/webserver/v1/Boost';
import type { Branch as _zoekt_webserver_v1_Branch, Branch__Output as _zoekt_webserver_v1_Branch__Output } from './zoekt/webserver/v1/Branch';
import type { BranchRepos as _zoekt_webserver_v1_BranchRepos, BranchRepos__Output as _zoekt_webserver_v1_BranchRepos__Output } from './zoekt/webserver/v1/BranchRepos';
import type { BranchesRepos as _zoekt_webserver_v1_BranchesRepos, BranchesRepos__Output as _zoekt_webserver_v1_BranchesRepos__Output } from './zoekt/webserver/v1/BranchesRepos';
import type { ChunkMatch as _zoekt_webserver_v1_ChunkMatch, ChunkMatch__Output as _zoekt_webserver_v1_ChunkMatch__Output } from './zoekt/webserver/v1/ChunkMatch';
import type { FileMatch as _zoekt_webserver_v1_FileMatch, FileMatch__Output as _zoekt_webserver_v1_FileMatch__Output } from './zoekt/webserver/v1/FileMatch';
import type { FileNameSet as _zoekt_webserver_v1_FileNameSet, FileNameSet__Output as _zoekt_webserver_v1_FileNameSet__Output } from './zoekt/webserver/v1/FileNameSet';
import type { IndexMetadata as _zoekt_webserver_v1_IndexMetadata, IndexMetadata__Output as _zoekt_webserver_v1_IndexMetadata__Output } from './zoekt/webserver/v1/IndexMetadata';
import type { Language as _zoekt_webserver_v1_Language, Language__Output as _zoekt_webserver_v1_Language__Output } from './zoekt/webserver/v1/Language';
import type { LineFragmentMatch as _zoekt_webserver_v1_LineFragmentMatch, LineFragmentMatch__Output as _zoekt_webserver_v1_LineFragmentMatch__Output } from './zoekt/webserver/v1/LineFragmentMatch';
import type { LineMatch as _zoekt_webserver_v1_LineMatch, LineMatch__Output as _zoekt_webserver_v1_LineMatch__Output } from './zoekt/webserver/v1/LineMatch';
import type { ListOptions as _zoekt_webserver_v1_ListOptions, ListOptions__Output as _zoekt_webserver_v1_ListOptions__Output } from './zoekt/webserver/v1/ListOptions';
import type { ListRequest as _zoekt_webserver_v1_ListRequest, ListRequest__Output as _zoekt_webserver_v1_ListRequest__Output } from './zoekt/webserver/v1/ListRequest';
import type { ListResponse as _zoekt_webserver_v1_ListResponse, ListResponse__Output as _zoekt_webserver_v1_ListResponse__Output } from './zoekt/webserver/v1/ListResponse';
import type { Location as _zoekt_webserver_v1_Location, Location__Output as _zoekt_webserver_v1_Location__Output } from './zoekt/webserver/v1/Location';
import type { MinimalRepoListEntry as _zoekt_webserver_v1_MinimalRepoListEntry, MinimalRepoListEntry__Output as _zoekt_webserver_v1_MinimalRepoListEntry__Output } from './zoekt/webserver/v1/MinimalRepoListEntry';
import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from './zoekt/webserver/v1/Not';
import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or__Output } from './zoekt/webserver/v1/Or';
import type { Progress as _zoekt_webserver_v1_Progress, Progress__Output as _zoekt_webserver_v1_Progress__Output } from './zoekt/webserver/v1/Progress';
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from './zoekt/webserver/v1/Q';
import type { Range as _zoekt_webserver_v1_Range, Range__Output as _zoekt_webserver_v1_Range__Output } from './zoekt/webserver/v1/Range';
import type { RawConfig as _zoekt_webserver_v1_RawConfig, RawConfig__Output as _zoekt_webserver_v1_RawConfig__Output } from './zoekt/webserver/v1/RawConfig';
import type { Regexp as _zoekt_webserver_v1_Regexp, Regexp__Output as _zoekt_webserver_v1_Regexp__Output } from './zoekt/webserver/v1/Regexp';
import type { Repo as _zoekt_webserver_v1_Repo, Repo__Output as _zoekt_webserver_v1_Repo__Output } from './zoekt/webserver/v1/Repo';
import type { RepoIds as _zoekt_webserver_v1_RepoIds, RepoIds__Output as _zoekt_webserver_v1_RepoIds__Output } from './zoekt/webserver/v1/RepoIds';
import type { RepoListEntry as _zoekt_webserver_v1_RepoListEntry, RepoListEntry__Output as _zoekt_webserver_v1_RepoListEntry__Output } from './zoekt/webserver/v1/RepoListEntry';
import type { RepoRegexp as _zoekt_webserver_v1_RepoRegexp, RepoRegexp__Output as _zoekt_webserver_v1_RepoRegexp__Output } from './zoekt/webserver/v1/RepoRegexp';
import type { RepoSet as _zoekt_webserver_v1_RepoSet, RepoSet__Output as _zoekt_webserver_v1_RepoSet__Output } from './zoekt/webserver/v1/RepoSet';
import type { RepoStats as _zoekt_webserver_v1_RepoStats, RepoStats__Output as _zoekt_webserver_v1_RepoStats__Output } from './zoekt/webserver/v1/RepoStats';
import type { Repository as _zoekt_webserver_v1_Repository, Repository__Output as _zoekt_webserver_v1_Repository__Output } from './zoekt/webserver/v1/Repository';
import type { RepositoryBranch as _zoekt_webserver_v1_RepositoryBranch, RepositoryBranch__Output as _zoekt_webserver_v1_RepositoryBranch__Output } from './zoekt/webserver/v1/RepositoryBranch';
import type { SearchOptions as _zoekt_webserver_v1_SearchOptions, SearchOptions__Output as _zoekt_webserver_v1_SearchOptions__Output } from './zoekt/webserver/v1/SearchOptions';
import type { SearchRequest as _zoekt_webserver_v1_SearchRequest, SearchRequest__Output as _zoekt_webserver_v1_SearchRequest__Output } from './zoekt/webserver/v1/SearchRequest';
import type { SearchResponse as _zoekt_webserver_v1_SearchResponse, SearchResponse__Output as _zoekt_webserver_v1_SearchResponse__Output } from './zoekt/webserver/v1/SearchResponse';
import type { Stats as _zoekt_webserver_v1_Stats, Stats__Output as _zoekt_webserver_v1_Stats__Output } from './zoekt/webserver/v1/Stats';
import type { StreamSearchRequest as _zoekt_webserver_v1_StreamSearchRequest, StreamSearchRequest__Output as _zoekt_webserver_v1_StreamSearchRequest__Output } from './zoekt/webserver/v1/StreamSearchRequest';
import type { StreamSearchResponse as _zoekt_webserver_v1_StreamSearchResponse, StreamSearchResponse__Output as _zoekt_webserver_v1_StreamSearchResponse__Output } from './zoekt/webserver/v1/StreamSearchResponse';
import type { Substring as _zoekt_webserver_v1_Substring, Substring__Output as _zoekt_webserver_v1_Substring__Output } from './zoekt/webserver/v1/Substring';
import type { Symbol as _zoekt_webserver_v1_Symbol, Symbol__Output as _zoekt_webserver_v1_Symbol__Output } from './zoekt/webserver/v1/Symbol';
import type { SymbolInfo as _zoekt_webserver_v1_SymbolInfo, SymbolInfo__Output as _zoekt_webserver_v1_SymbolInfo__Output } from './zoekt/webserver/v1/SymbolInfo';
import type { Type as _zoekt_webserver_v1_Type, Type__Output as _zoekt_webserver_v1_Type__Output } from './zoekt/webserver/v1/Type';
import type { WebserverServiceClient as _zoekt_webserver_v1_WebserverServiceClient, WebserverServiceDefinition as _zoekt_webserver_v1_WebserverServiceDefinition } from './zoekt/webserver/v1/WebserverService';
type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
new(...args: ConstructorParameters<Constructor>): Subtype;
};
export interface ProtoGrpcType {
google: {
protobuf: {
Duration: MessageTypeDefinition<_google_protobuf_Duration, _google_protobuf_Duration__Output>
Timestamp: MessageTypeDefinition<_google_protobuf_Timestamp, _google_protobuf_Timestamp__Output>
}
}
zoekt: {
webserver: {
v1: {
And: MessageTypeDefinition<_zoekt_webserver_v1_And, _zoekt_webserver_v1_And__Output>
Boost: MessageTypeDefinition<_zoekt_webserver_v1_Boost, _zoekt_webserver_v1_Boost__Output>
Branch: MessageTypeDefinition<_zoekt_webserver_v1_Branch, _zoekt_webserver_v1_Branch__Output>
BranchRepos: MessageTypeDefinition<_zoekt_webserver_v1_BranchRepos, _zoekt_webserver_v1_BranchRepos__Output>
BranchesRepos: MessageTypeDefinition<_zoekt_webserver_v1_BranchesRepos, _zoekt_webserver_v1_BranchesRepos__Output>
ChunkMatch: MessageTypeDefinition<_zoekt_webserver_v1_ChunkMatch, _zoekt_webserver_v1_ChunkMatch__Output>
FileMatch: MessageTypeDefinition<_zoekt_webserver_v1_FileMatch, _zoekt_webserver_v1_FileMatch__Output>
FileNameSet: MessageTypeDefinition<_zoekt_webserver_v1_FileNameSet, _zoekt_webserver_v1_FileNameSet__Output>
FlushReason: EnumTypeDefinition
IndexMetadata: MessageTypeDefinition<_zoekt_webserver_v1_IndexMetadata, _zoekt_webserver_v1_IndexMetadata__Output>
Language: MessageTypeDefinition<_zoekt_webserver_v1_Language, _zoekt_webserver_v1_Language__Output>
LineFragmentMatch: MessageTypeDefinition<_zoekt_webserver_v1_LineFragmentMatch, _zoekt_webserver_v1_LineFragmentMatch__Output>
LineMatch: MessageTypeDefinition<_zoekt_webserver_v1_LineMatch, _zoekt_webserver_v1_LineMatch__Output>
ListOptions: MessageTypeDefinition<_zoekt_webserver_v1_ListOptions, _zoekt_webserver_v1_ListOptions__Output>
ListRequest: MessageTypeDefinition<_zoekt_webserver_v1_ListRequest, _zoekt_webserver_v1_ListRequest__Output>
ListResponse: MessageTypeDefinition<_zoekt_webserver_v1_ListResponse, _zoekt_webserver_v1_ListResponse__Output>
Location: MessageTypeDefinition<_zoekt_webserver_v1_Location, _zoekt_webserver_v1_Location__Output>
MinimalRepoListEntry: MessageTypeDefinition<_zoekt_webserver_v1_MinimalRepoListEntry, _zoekt_webserver_v1_MinimalRepoListEntry__Output>
Not: MessageTypeDefinition<_zoekt_webserver_v1_Not, _zoekt_webserver_v1_Not__Output>
Or: MessageTypeDefinition<_zoekt_webserver_v1_Or, _zoekt_webserver_v1_Or__Output>
Progress: MessageTypeDefinition<_zoekt_webserver_v1_Progress, _zoekt_webserver_v1_Progress__Output>
Q: MessageTypeDefinition<_zoekt_webserver_v1_Q, _zoekt_webserver_v1_Q__Output>
Range: MessageTypeDefinition<_zoekt_webserver_v1_Range, _zoekt_webserver_v1_Range__Output>
RawConfig: MessageTypeDefinition<_zoekt_webserver_v1_RawConfig, _zoekt_webserver_v1_RawConfig__Output>
Regexp: MessageTypeDefinition<_zoekt_webserver_v1_Regexp, _zoekt_webserver_v1_Regexp__Output>
Repo: MessageTypeDefinition<_zoekt_webserver_v1_Repo, _zoekt_webserver_v1_Repo__Output>
RepoIds: MessageTypeDefinition<_zoekt_webserver_v1_RepoIds, _zoekt_webserver_v1_RepoIds__Output>
RepoListEntry: MessageTypeDefinition<_zoekt_webserver_v1_RepoListEntry, _zoekt_webserver_v1_RepoListEntry__Output>
RepoRegexp: MessageTypeDefinition<_zoekt_webserver_v1_RepoRegexp, _zoekt_webserver_v1_RepoRegexp__Output>
RepoSet: MessageTypeDefinition<_zoekt_webserver_v1_RepoSet, _zoekt_webserver_v1_RepoSet__Output>
RepoStats: MessageTypeDefinition<_zoekt_webserver_v1_RepoStats, _zoekt_webserver_v1_RepoStats__Output>
Repository: MessageTypeDefinition<_zoekt_webserver_v1_Repository, _zoekt_webserver_v1_Repository__Output>
RepositoryBranch: MessageTypeDefinition<_zoekt_webserver_v1_RepositoryBranch, _zoekt_webserver_v1_RepositoryBranch__Output>
SearchOptions: MessageTypeDefinition<_zoekt_webserver_v1_SearchOptions, _zoekt_webserver_v1_SearchOptions__Output>
SearchRequest: MessageTypeDefinition<_zoekt_webserver_v1_SearchRequest, _zoekt_webserver_v1_SearchRequest__Output>
SearchResponse: MessageTypeDefinition<_zoekt_webserver_v1_SearchResponse, _zoekt_webserver_v1_SearchResponse__Output>
Stats: MessageTypeDefinition<_zoekt_webserver_v1_Stats, _zoekt_webserver_v1_Stats__Output>
StreamSearchRequest: MessageTypeDefinition<_zoekt_webserver_v1_StreamSearchRequest, _zoekt_webserver_v1_StreamSearchRequest__Output>
StreamSearchResponse: MessageTypeDefinition<_zoekt_webserver_v1_StreamSearchResponse, _zoekt_webserver_v1_StreamSearchResponse__Output>
Substring: MessageTypeDefinition<_zoekt_webserver_v1_Substring, _zoekt_webserver_v1_Substring__Output>
Symbol: MessageTypeDefinition<_zoekt_webserver_v1_Symbol, _zoekt_webserver_v1_Symbol__Output>
SymbolInfo: MessageTypeDefinition<_zoekt_webserver_v1_SymbolInfo, _zoekt_webserver_v1_SymbolInfo__Output>
Type: MessageTypeDefinition<_zoekt_webserver_v1_Type, _zoekt_webserver_v1_Type__Output>
WebserverService: SubtypeConstructor<typeof grpc.Client, _zoekt_webserver_v1_WebserverServiceClient> & { service: _zoekt_webserver_v1_WebserverServiceDefinition }
}
}
}
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
/**
* And is matched when all its children are.
*/
export interface And {
'children'?: (_zoekt_webserver_v1_Q)[];
}
/**
* And is matched when all its children are.
*/
export interface And__Output {
'children': (_zoekt_webserver_v1_Q__Output)[];
}

View file

@ -0,0 +1,19 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
/**
* Boost multiplies the score of its child by the boost factor.
*/
export interface Boost {
'child'?: (_zoekt_webserver_v1_Q | null);
'boost'?: (number | string);
}
/**
* Boost multiplies the score of its child by the boost factor.
*/
export interface Boost__Output {
'child': (_zoekt_webserver_v1_Q__Output | null);
'boost': (number);
}

View file

@ -0,0 +1,24 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* Branch limits search to a specific branch.
*/
export interface Branch {
'pattern'?: (string);
/**
* exact is true if we want to Pattern to equal branch.
*/
'exact'?: (boolean);
}
/**
* Branch limits search to a specific branch.
*/
export interface Branch__Output {
'pattern': (string);
/**
* exact is true if we want to Pattern to equal branch.
*/
'exact': (boolean);
}

View file

@ -0,0 +1,26 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* BranchRepos is a (branch, sourcegraph repo ids bitmap) tuple. It is a
* Sourcegraph addition.
*/
export interface BranchRepos {
'branch'?: (string);
/**
* a serialized roaring bitmap of the target repo ids
*/
'repos'?: (Buffer | Uint8Array | string);
}
/**
* BranchRepos is a (branch, sourcegraph repo ids bitmap) tuple. It is a
* Sourcegraph addition.
*/
export interface BranchRepos__Output {
'branch': (string);
/**
* a serialized roaring bitmap of the target repo ids
*/
'repos': (Buffer);
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { BranchRepos as _zoekt_webserver_v1_BranchRepos, BranchRepos__Output as _zoekt_webserver_v1_BranchRepos__Output } from '../../../zoekt/webserver/v1/BranchRepos';
/**
* BranchesRepos is a slice of BranchRepos to match.
*/
export interface BranchesRepos {
'list'?: (_zoekt_webserver_v1_BranchRepos)[];
}
/**
* BranchesRepos is a slice of BranchRepos to match.
*/
export interface BranchesRepos__Output {
'list': (_zoekt_webserver_v1_BranchRepos__Output)[];
}

View file

@ -0,0 +1,67 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Location as _zoekt_webserver_v1_Location, Location__Output as _zoekt_webserver_v1_Location__Output } from '../../../zoekt/webserver/v1/Location';
import type { Range as _zoekt_webserver_v1_Range, Range__Output as _zoekt_webserver_v1_Range__Output } from '../../../zoekt/webserver/v1/Range';
import type { SymbolInfo as _zoekt_webserver_v1_SymbolInfo, SymbolInfo__Output as _zoekt_webserver_v1_SymbolInfo__Output } from '../../../zoekt/webserver/v1/SymbolInfo';
export interface ChunkMatch {
/**
* A contiguous range of complete lines that fully contains Ranges.
*/
'content'?: (Buffer | Uint8Array | string);
/**
* The location (inclusive) of the beginning of content
* relative to the beginning of the file. It will always be at the
* beginning of a line (Column will always be 1).
*/
'content_start'?: (_zoekt_webserver_v1_Location | null);
/**
* True if this match is a match on the file name, in
* which case Content will contain the file name.
*/
'file_name'?: (boolean);
/**
* A set of matching ranges within this chunk. Each range is relative
* to the beginning of the file (not the beginning of Content).
*/
'ranges'?: (_zoekt_webserver_v1_Range)[];
/**
* The symbol information associated with Ranges. If it is non-nil,
* its length will equal that of Ranges. Any of its elements may be nil.
*/
'symbol_info'?: (_zoekt_webserver_v1_SymbolInfo)[];
'score'?: (number | string);
'debug_score'?: (string);
'best_line_match'?: (number);
}
export interface ChunkMatch__Output {
/**
* A contiguous range of complete lines that fully contains Ranges.
*/
'content': (Buffer);
/**
* The location (inclusive) of the beginning of content
* relative to the beginning of the file. It will always be at the
* beginning of a line (Column will always be 1).
*/
'content_start': (_zoekt_webserver_v1_Location__Output | null);
/**
* True if this match is a match on the file name, in
* which case Content will contain the file name.
*/
'file_name': (boolean);
/**
* A set of matching ranges within this chunk. Each range is relative
* to the beginning of the file (not the beginning of Content).
*/
'ranges': (_zoekt_webserver_v1_Range__Output)[];
/**
* The symbol information associated with Ranges. If it is non-nil,
* its length will equal that of Ranges. Any of its elements may be nil.
*/
'symbol_info': (_zoekt_webserver_v1_SymbolInfo__Output)[];
'score': (number);
'debug_score': (string);
'best_line_match': (number);
}

View file

@ -0,0 +1,132 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { LineMatch as _zoekt_webserver_v1_LineMatch, LineMatch__Output as _zoekt_webserver_v1_LineMatch__Output } from '../../../zoekt/webserver/v1/LineMatch';
import type { ChunkMatch as _zoekt_webserver_v1_ChunkMatch, ChunkMatch__Output as _zoekt_webserver_v1_ChunkMatch__Output } from '../../../zoekt/webserver/v1/ChunkMatch';
/**
* FileMatch contains all the matches within a file.
*/
export interface FileMatch {
/**
* Ranking; the higher, the better.
*/
'score'?: (number | string);
/**
* For debugging. Needs DebugScore set, but public so tests in
* other packages can print some diagnostics.
*/
'debug'?: (string);
/**
* The repository-relative path to the file.
* 🚨 Warning: file_name might not be a valid UTF-8 string.
*/
'file_name'?: (Buffer | Uint8Array | string);
/**
* Repository is the globally unique name of the repo of the
* match
*/
'repository'?: (string);
'branches'?: (string)[];
/**
* One of line_matches or chunk_matches will be returned depending on whether
* the SearchOptions.ChunkMatches is set.
*/
'line_matches'?: (_zoekt_webserver_v1_LineMatch)[];
'chunk_matches'?: (_zoekt_webserver_v1_ChunkMatch)[];
/**
* repository_id is a Sourcegraph extension. This is the ID of Repository in
* Sourcegraph.
*/
'repository_id'?: (number);
'repository_priority'?: (number | string);
/**
* Only set if requested
*/
'content'?: (Buffer | Uint8Array | string);
/**
* Checksum of the content.
*/
'checksum'?: (Buffer | Uint8Array | string);
/**
* Detected language of the result.
*/
'language'?: (string);
/**
* sub_repository_name is the globally unique name of the repo,
* if it came from a subrepository
*/
'sub_repository_name'?: (string);
/**
* sub_repository_path holds the prefix where the subrepository
* was mounted.
*/
'sub_repository_path'?: (string);
/**
* Commit SHA1 (hex) of the (sub)repo holding the file.
*/
'version'?: (string);
}
/**
* FileMatch contains all the matches within a file.
*/
export interface FileMatch__Output {
/**
* Ranking; the higher, the better.
*/
'score': (number);
/**
* For debugging. Needs DebugScore set, but public so tests in
* other packages can print some diagnostics.
*/
'debug': (string);
/**
* The repository-relative path to the file.
* 🚨 Warning: file_name might not be a valid UTF-8 string.
*/
'file_name': (Buffer);
/**
* Repository is the globally unique name of the repo of the
* match
*/
'repository': (string);
'branches': (string)[];
/**
* One of line_matches or chunk_matches will be returned depending on whether
* the SearchOptions.ChunkMatches is set.
*/
'line_matches': (_zoekt_webserver_v1_LineMatch__Output)[];
'chunk_matches': (_zoekt_webserver_v1_ChunkMatch__Output)[];
/**
* repository_id is a Sourcegraph extension. This is the ID of Repository in
* Sourcegraph.
*/
'repository_id': (number);
'repository_priority': (number);
/**
* Only set if requested
*/
'content': (Buffer);
/**
* Checksum of the content.
*/
'checksum': (Buffer);
/**
* Detected language of the result.
*/
'language': (string);
/**
* sub_repository_name is the globally unique name of the repo,
* if it came from a subrepository
*/
'sub_repository_name': (string);
/**
* sub_repository_path holds the prefix where the subrepository
* was mounted.
*/
'sub_repository_path': (string);
/**
* Commit SHA1 (hex) of the (sub)repo holding the file.
*/
'version': (string);
}

View file

@ -0,0 +1,16 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* FileNameSet is a list of file names to match.
*/
export interface FileNameSet {
'set'?: (string)[];
}
/**
* FileNameSet is a list of file names to match.
*/
export interface FileNameSet__Output {
'set': (string)[];
}

View file

@ -0,0 +1,20 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
export const FlushReason = {
FLUSH_REASON_UNKNOWN_UNSPECIFIED: 'FLUSH_REASON_UNKNOWN_UNSPECIFIED',
FLUSH_REASON_TIMER_EXPIRED: 'FLUSH_REASON_TIMER_EXPIRED',
FLUSH_REASON_FINAL_FLUSH: 'FLUSH_REASON_FINAL_FLUSH',
FLUSH_REASON_MAX_SIZE: 'FLUSH_REASON_MAX_SIZE',
} as const;
export type FlushReason =
| 'FLUSH_REASON_UNKNOWN_UNSPECIFIED'
| 0
| 'FLUSH_REASON_TIMER_EXPIRED'
| 1
| 'FLUSH_REASON_FINAL_FLUSH'
| 2
| 'FLUSH_REASON_MAX_SIZE'
| 3
export type FlushReason__Output = typeof FlushReason[keyof typeof FlushReason]

View file

@ -0,0 +1,26 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
import type { Long } from '@grpc/proto-loader';
export interface IndexMetadata {
'index_format_version'?: (number | string | Long);
'index_feature_version'?: (number | string | Long);
'index_min_reader_version'?: (number | string | Long);
'index_time'?: (_google_protobuf_Timestamp | null);
'plain_ascii'?: (boolean);
'language_map'?: ({[key: string]: number});
'zoekt_version'?: (string);
'id'?: (string);
}
export interface IndexMetadata__Output {
'index_format_version': (number);
'index_feature_version': (number);
'index_min_reader_version': (number);
'index_time': (_google_protobuf_Timestamp__Output | null);
'plain_ascii': (boolean);
'language_map': ({[key: string]: number});
'zoekt_version': (string);
'id': (string);
}

View file

@ -0,0 +1,10 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export interface Language {
'language'?: (string);
}
export interface Language__Output {
'language': (string);
}

View file

@ -0,0 +1,38 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { SymbolInfo as _zoekt_webserver_v1_SymbolInfo, SymbolInfo__Output as _zoekt_webserver_v1_SymbolInfo__Output } from '../../../zoekt/webserver/v1/SymbolInfo';
import type { Long } from '@grpc/proto-loader';
export interface LineFragmentMatch {
/**
* Offset within the line, in bytes.
*/
'line_offset'?: (number | string | Long);
/**
* Offset from file start, in bytes.
*/
'offset'?: (number);
/**
* Number bytes that match.
*/
'match_length'?: (number | string | Long);
'symbol_info'?: (_zoekt_webserver_v1_SymbolInfo | null);
'_symbol_info'?: "symbol_info";
}
export interface LineFragmentMatch__Output {
/**
* Offset within the line, in bytes.
*/
'line_offset': (number);
/**
* Offset from file start, in bytes.
*/
'offset': (number);
/**
* Number bytes that match.
*/
'match_length': (number);
'symbol_info'?: (_zoekt_webserver_v1_SymbolInfo__Output | null);
'_symbol_info'?: "symbol_info";
}

View file

@ -0,0 +1,50 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { LineFragmentMatch as _zoekt_webserver_v1_LineFragmentMatch, LineFragmentMatch__Output as _zoekt_webserver_v1_LineFragmentMatch__Output } from '../../../zoekt/webserver/v1/LineFragmentMatch';
import type { Long } from '@grpc/proto-loader';
export interface LineMatch {
'line'?: (Buffer | Uint8Array | string);
'line_start'?: (number | string | Long);
'line_end'?: (number | string | Long);
'line_number'?: (number | string | Long);
/**
* before and after are only set when SearchOptions.NumContextLines is > 0
*/
'before'?: (Buffer | Uint8Array | string);
'after'?: (Buffer | Uint8Array | string);
/**
* If set, this was a match on the filename.
*/
'file_name'?: (boolean);
/**
* The higher the better. Only ranks the quality of the match
* within the file, does not take rank of file into account
*/
'score'?: (number | string);
'debug_score'?: (string);
'line_fragments'?: (_zoekt_webserver_v1_LineFragmentMatch)[];
}
export interface LineMatch__Output {
'line': (Buffer);
'line_start': (number);
'line_end': (number);
'line_number': (number);
/**
* before and after are only set when SearchOptions.NumContextLines is > 0
*/
'before': (Buffer);
'after': (Buffer);
/**
* If set, this was a match on the filename.
*/
'file_name': (boolean);
/**
* The higher the better. Only ranks the quality of the match
* within the file, does not take rank of file into account
*/
'score': (number);
'debug_score': (string);
'line_fragments': (_zoekt_webserver_v1_LineFragmentMatch__Output)[];
}

View file

@ -0,0 +1,34 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
export const _zoekt_webserver_v1_ListOptions_RepoListField = {
REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED: 'REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED',
REPO_LIST_FIELD_REPOS: 'REPO_LIST_FIELD_REPOS',
REPO_LIST_FIELD_REPOS_MAP: 'REPO_LIST_FIELD_REPOS_MAP',
} as const;
export type _zoekt_webserver_v1_ListOptions_RepoListField =
| 'REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED'
| 0
| 'REPO_LIST_FIELD_REPOS'
| 1
| 'REPO_LIST_FIELD_REPOS_MAP'
| 3
export type _zoekt_webserver_v1_ListOptions_RepoListField__Output = typeof _zoekt_webserver_v1_ListOptions_RepoListField[keyof typeof _zoekt_webserver_v1_ListOptions_RepoListField]
export interface ListOptions {
/**
* Field decides which field to populate in RepoList response.
*/
'field'?: (_zoekt_webserver_v1_ListOptions_RepoListField);
}
export interface ListOptions__Output {
/**
* Field decides which field to populate in RepoList response.
*/
'field': (_zoekt_webserver_v1_ListOptions_RepoListField__Output);
}

View file

@ -0,0 +1,14 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
import type { ListOptions as _zoekt_webserver_v1_ListOptions, ListOptions__Output as _zoekt_webserver_v1_ListOptions__Output } from '../../../zoekt/webserver/v1/ListOptions';
export interface ListRequest {
'query'?: (_zoekt_webserver_v1_Q | null);
'opts'?: (_zoekt_webserver_v1_ListOptions | null);
}
export interface ListRequest__Output {
'query': (_zoekt_webserver_v1_Q__Output | null);
'opts': (_zoekt_webserver_v1_ListOptions__Output | null);
}

View file

@ -0,0 +1,40 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { RepoListEntry as _zoekt_webserver_v1_RepoListEntry, RepoListEntry__Output as _zoekt_webserver_v1_RepoListEntry__Output } from '../../../zoekt/webserver/v1/RepoListEntry';
import type { MinimalRepoListEntry as _zoekt_webserver_v1_MinimalRepoListEntry, MinimalRepoListEntry__Output as _zoekt_webserver_v1_MinimalRepoListEntry__Output } from '../../../zoekt/webserver/v1/MinimalRepoListEntry';
import type { RepoStats as _zoekt_webserver_v1_RepoStats, RepoStats__Output as _zoekt_webserver_v1_RepoStats__Output } from '../../../zoekt/webserver/v1/RepoStats';
import type { Long } from '@grpc/proto-loader';
export interface ListResponse {
/**
* Returned when ListOptions.Field is RepoListFieldRepos.
*/
'repos'?: (_zoekt_webserver_v1_RepoListEntry)[];
/**
* ReposMap is set when ListOptions.Field is RepoListFieldReposMap.
*/
'repos_map'?: ({[key: number]: _zoekt_webserver_v1_MinimalRepoListEntry});
'crashes'?: (number | string | Long);
/**
* Stats response to a List request.
* This is the aggregate RepoStats of all repos matching the input query.
*/
'stats'?: (_zoekt_webserver_v1_RepoStats | null);
}
export interface ListResponse__Output {
/**
* Returned when ListOptions.Field is RepoListFieldRepos.
*/
'repos': (_zoekt_webserver_v1_RepoListEntry__Output)[];
/**
* ReposMap is set when ListOptions.Field is RepoListFieldReposMap.
*/
'repos_map': ({[key: number]: _zoekt_webserver_v1_MinimalRepoListEntry__Output});
'crashes': (number);
/**
* Stats response to a List request.
* This is the aggregate RepoStats of all repos matching the input query.
*/
'stats': (_zoekt_webserver_v1_RepoStats__Output | null);
}

View file

@ -0,0 +1,32 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
export interface Location {
/**
* 0-based byte offset from the beginning of the file
*/
'byte_offset'?: (number);
/**
* 1-based line number from the beginning of the file
*/
'line_number'?: (number);
/**
* 1-based column number (in runes) from the beginning of line
*/
'column'?: (number);
}
export interface Location__Output {
/**
* 0-based byte offset from the beginning of the file
*/
'byte_offset': (number);
/**
* 1-based line number from the beginning of the file
*/
'line_number': (number);
/**
* 1-based column number (in runes) from the beginning of line
*/
'column': (number);
}

View file

@ -0,0 +1,16 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { RepositoryBranch as _zoekt_webserver_v1_RepositoryBranch, RepositoryBranch__Output as _zoekt_webserver_v1_RepositoryBranch__Output } from '../../../zoekt/webserver/v1/RepositoryBranch';
import type { Long } from '@grpc/proto-loader';
export interface MinimalRepoListEntry {
'has_symbols'?: (boolean);
'branches'?: (_zoekt_webserver_v1_RepositoryBranch)[];
'index_time_unix'?: (number | string | Long);
}
export interface MinimalRepoListEntry__Output {
'has_symbols': (boolean);
'branches': (_zoekt_webserver_v1_RepositoryBranch__Output)[];
'index_time_unix': (number);
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
/**
* Not inverts the meaning of its child.
*/
export interface Not {
'child'?: (_zoekt_webserver_v1_Q | null);
}
/**
* Not inverts the meaning of its child.
*/
export interface Not__Output {
'child': (_zoekt_webserver_v1_Q__Output | null);
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
/**
* Or is matched when any of its children is matched.
*/
export interface Or {
'children'?: (_zoekt_webserver_v1_Q)[];
}
/**
* Or is matched when any of its children is matched.
*/
export interface Or__Output {
'children': (_zoekt_webserver_v1_Q__Output)[];
}

View file

@ -0,0 +1,42 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
/**
* Progress contains information about the global progress of the running search query.
* This is used by the frontend to reorder results and emit them when stable.
* Sourcegraph specific: this is used when querying multiple zoekt-webserver instances.
*/
export interface Progress {
/**
* Priority of the shard that was searched.
*/
'priority'?: (number | string);
/**
* max_pending_priority is the maximum priority of pending result that is being searched in parallel.
* This is used to reorder results when the result set is known to be stable-- that is, when a result's
* Priority is greater than the max(MaxPendingPriority) from the latest results of each backend, it can be returned to the user.
*
* max_pending_priority decreases monotonically in each SearchResult.
*/
'max_pending_priority'?: (number | string);
}
/**
* Progress contains information about the global progress of the running search query.
* This is used by the frontend to reorder results and emit them when stable.
* Sourcegraph specific: this is used when querying multiple zoekt-webserver instances.
*/
export interface Progress__Output {
/**
* Priority of the shard that was searched.
*/
'priority': (number);
/**
* max_pending_priority is the maximum priority of pending result that is being searched in parallel.
* This is used to reorder results when the result set is known to be stable-- that is, when a result's
* Priority is greater than the max(MaxPendingPriority) from the latest results of each backend, it can be returned to the user.
*
* max_pending_priority decreases monotonically in each SearchResult.
*/
'max_pending_priority': (number);
}

View file

@ -0,0 +1,63 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { RawConfig as _zoekt_webserver_v1_RawConfig, RawConfig__Output as _zoekt_webserver_v1_RawConfig__Output } from '../../../zoekt/webserver/v1/RawConfig';
import type { Regexp as _zoekt_webserver_v1_Regexp, Regexp__Output as _zoekt_webserver_v1_Regexp__Output } from '../../../zoekt/webserver/v1/Regexp';
import type { Symbol as _zoekt_webserver_v1_Symbol, Symbol__Output as _zoekt_webserver_v1_Symbol__Output } from '../../../zoekt/webserver/v1/Symbol';
import type { Language as _zoekt_webserver_v1_Language, Language__Output as _zoekt_webserver_v1_Language__Output } from '../../../zoekt/webserver/v1/Language';
import type { Repo as _zoekt_webserver_v1_Repo, Repo__Output as _zoekt_webserver_v1_Repo__Output } from '../../../zoekt/webserver/v1/Repo';
import type { RepoRegexp as _zoekt_webserver_v1_RepoRegexp, RepoRegexp__Output as _zoekt_webserver_v1_RepoRegexp__Output } from '../../../zoekt/webserver/v1/RepoRegexp';
import type { BranchesRepos as _zoekt_webserver_v1_BranchesRepos, BranchesRepos__Output as _zoekt_webserver_v1_BranchesRepos__Output } from '../../../zoekt/webserver/v1/BranchesRepos';
import type { RepoIds as _zoekt_webserver_v1_RepoIds, RepoIds__Output as _zoekt_webserver_v1_RepoIds__Output } from '../../../zoekt/webserver/v1/RepoIds';
import type { RepoSet as _zoekt_webserver_v1_RepoSet, RepoSet__Output as _zoekt_webserver_v1_RepoSet__Output } from '../../../zoekt/webserver/v1/RepoSet';
import type { FileNameSet as _zoekt_webserver_v1_FileNameSet, FileNameSet__Output as _zoekt_webserver_v1_FileNameSet__Output } from '../../../zoekt/webserver/v1/FileNameSet';
import type { Type as _zoekt_webserver_v1_Type, Type__Output as _zoekt_webserver_v1_Type__Output } from '../../../zoekt/webserver/v1/Type';
import type { Substring as _zoekt_webserver_v1_Substring, Substring__Output as _zoekt_webserver_v1_Substring__Output } from '../../../zoekt/webserver/v1/Substring';
import type { And as _zoekt_webserver_v1_And, And__Output as _zoekt_webserver_v1_And__Output } from '../../../zoekt/webserver/v1/And';
import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or__Output } from '../../../zoekt/webserver/v1/Or';
import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from '../../../zoekt/webserver/v1/Not';
import type { Branch as _zoekt_webserver_v1_Branch, Branch__Output as _zoekt_webserver_v1_Branch__Output } from '../../../zoekt/webserver/v1/Branch';
import type { Boost as _zoekt_webserver_v1_Boost, Boost__Output as _zoekt_webserver_v1_Boost__Output } from '../../../zoekt/webserver/v1/Boost';
export interface Q {
'raw_config'?: (_zoekt_webserver_v1_RawConfig | null);
'regexp'?: (_zoekt_webserver_v1_Regexp | null);
'symbol'?: (_zoekt_webserver_v1_Symbol | null);
'language'?: (_zoekt_webserver_v1_Language | null);
'const'?: (boolean);
'repo'?: (_zoekt_webserver_v1_Repo | null);
'repo_regexp'?: (_zoekt_webserver_v1_RepoRegexp | null);
'branches_repos'?: (_zoekt_webserver_v1_BranchesRepos | null);
'repo_ids'?: (_zoekt_webserver_v1_RepoIds | null);
'repo_set'?: (_zoekt_webserver_v1_RepoSet | null);
'file_name_set'?: (_zoekt_webserver_v1_FileNameSet | null);
'type'?: (_zoekt_webserver_v1_Type | null);
'substring'?: (_zoekt_webserver_v1_Substring | null);
'and'?: (_zoekt_webserver_v1_And | null);
'or'?: (_zoekt_webserver_v1_Or | null);
'not'?: (_zoekt_webserver_v1_Not | null);
'branch'?: (_zoekt_webserver_v1_Branch | null);
'boost'?: (_zoekt_webserver_v1_Boost | null);
'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost";
}
export interface Q__Output {
'raw_config'?: (_zoekt_webserver_v1_RawConfig__Output | null);
'regexp'?: (_zoekt_webserver_v1_Regexp__Output | null);
'symbol'?: (_zoekt_webserver_v1_Symbol__Output | null);
'language'?: (_zoekt_webserver_v1_Language__Output | null);
'const'?: (boolean);
'repo'?: (_zoekt_webserver_v1_Repo__Output | null);
'repo_regexp'?: (_zoekt_webserver_v1_RepoRegexp__Output | null);
'branches_repos'?: (_zoekt_webserver_v1_BranchesRepos__Output | null);
'repo_ids'?: (_zoekt_webserver_v1_RepoIds__Output | null);
'repo_set'?: (_zoekt_webserver_v1_RepoSet__Output | null);
'file_name_set'?: (_zoekt_webserver_v1_FileNameSet__Output | null);
'type'?: (_zoekt_webserver_v1_Type__Output | null);
'substring'?: (_zoekt_webserver_v1_Substring__Output | null);
'and'?: (_zoekt_webserver_v1_And__Output | null);
'or'?: (_zoekt_webserver_v1_Or__Output | null);
'not'?: (_zoekt_webserver_v1_Not__Output | null);
'branch'?: (_zoekt_webserver_v1_Branch__Output | null);
'boost'?: (_zoekt_webserver_v1_Boost__Output | null);
'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost";
}

View file

@ -0,0 +1,25 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Location as _zoekt_webserver_v1_Location, Location__Output as _zoekt_webserver_v1_Location__Output } from '../../../zoekt/webserver/v1/Location';
export interface Range {
/**
* The inclusive beginning of the range.
*/
'start'?: (_zoekt_webserver_v1_Location | null);
/**
* The exclusive end of the range.
*/
'end'?: (_zoekt_webserver_v1_Location | null);
}
export interface Range__Output {
/**
* The inclusive beginning of the range.
*/
'start': (_zoekt_webserver_v1_Location__Output | null);
/**
* The exclusive end of the range.
*/
'end': (_zoekt_webserver_v1_Location__Output | null);
}

View file

@ -0,0 +1,46 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export const _zoekt_webserver_v1_RawConfig_Flag = {
FLAG_UNKNOWN_UNSPECIFIED: 'FLAG_UNKNOWN_UNSPECIFIED',
FLAG_ONLY_PUBLIC: 'FLAG_ONLY_PUBLIC',
FLAG_ONLY_PRIVATE: 'FLAG_ONLY_PRIVATE',
FLAG_ONLY_FORKS: 'FLAG_ONLY_FORKS',
FLAG_NO_FORKS: 'FLAG_NO_FORKS',
FLAG_ONLY_ARCHIVED: 'FLAG_ONLY_ARCHIVED',
FLAG_NO_ARCHIVED: 'FLAG_NO_ARCHIVED',
} as const;
export type _zoekt_webserver_v1_RawConfig_Flag =
| 'FLAG_UNKNOWN_UNSPECIFIED'
| 0
| 'FLAG_ONLY_PUBLIC'
| 1
| 'FLAG_ONLY_PRIVATE'
| 2
| 'FLAG_ONLY_FORKS'
| 4
| 'FLAG_NO_FORKS'
| 8
| 'FLAG_ONLY_ARCHIVED'
| 16
| 'FLAG_NO_ARCHIVED'
| 32
export type _zoekt_webserver_v1_RawConfig_Flag__Output = typeof _zoekt_webserver_v1_RawConfig_Flag[keyof typeof _zoekt_webserver_v1_RawConfig_Flag]
/**
* RawConfig filters repositories based on their encoded RawConfig map.
*/
export interface RawConfig {
'flags'?: (_zoekt_webserver_v1_RawConfig_Flag)[];
}
/**
* RawConfig filters repositories based on their encoded RawConfig map.
*/
export interface RawConfig__Output {
'flags': (_zoekt_webserver_v1_RawConfig_Flag__Output)[];
}

View file

@ -0,0 +1,22 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* Regexp is a query looking for regular expressions matches.
*/
export interface Regexp {
'regexp'?: (string);
'file_name'?: (boolean);
'content'?: (boolean);
'case_sensitive'?: (boolean);
}
/**
* Regexp is a query looking for regular expressions matches.
*/
export interface Regexp__Output {
'regexp': (string);
'file_name': (boolean);
'content': (boolean);
'case_sensitive': (boolean);
}

View file

@ -0,0 +1,10 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export interface Repo {
'regexp'?: (string);
}
export interface Repo__Output {
'regexp': (string);
}

View file

@ -0,0 +1,24 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* Similar to BranchRepos but will be used to match only by repoid and
* therefore matches all branches
*/
export interface RepoIds {
/**
* a serialized roaring bitmap of the target repo ids
*/
'repos'?: (Buffer | Uint8Array | string);
}
/**
* Similar to BranchRepos but will be used to match only by repoid and
* therefore matches all branches
*/
export interface RepoIds__Output {
/**
* a serialized roaring bitmap of the target repo ids
*/
'repos': (Buffer);
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Repository as _zoekt_webserver_v1_Repository, Repository__Output as _zoekt_webserver_v1_Repository__Output } from '../../../zoekt/webserver/v1/Repository';
import type { IndexMetadata as _zoekt_webserver_v1_IndexMetadata, IndexMetadata__Output as _zoekt_webserver_v1_IndexMetadata__Output } from '../../../zoekt/webserver/v1/IndexMetadata';
import type { RepoStats as _zoekt_webserver_v1_RepoStats, RepoStats__Output as _zoekt_webserver_v1_RepoStats__Output } from '../../../zoekt/webserver/v1/RepoStats';
export interface RepoListEntry {
'repository'?: (_zoekt_webserver_v1_Repository | null);
'index_metadata'?: (_zoekt_webserver_v1_IndexMetadata | null);
'stats'?: (_zoekt_webserver_v1_RepoStats | null);
}
export interface RepoListEntry__Output {
'repository': (_zoekt_webserver_v1_Repository__Output | null);
'index_metadata': (_zoekt_webserver_v1_IndexMetadata__Output | null);
'stats': (_zoekt_webserver_v1_RepoStats__Output | null);
}

View file

@ -0,0 +1,10 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export interface RepoRegexp {
'regexp'?: (string);
}
export interface RepoRegexp__Output {
'regexp': (string);
}

View file

@ -0,0 +1,16 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
/**
* RepoSet is a list of repos to match.
*/
export interface RepoSet {
'set'?: ({[key: string]: boolean});
}
/**
* RepoSet is a list of repos to match.
*/
export interface RepoSet__Output {
'set': ({[key: string]: boolean});
}

View file

@ -0,0 +1,97 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Long } from '@grpc/proto-loader';
/**
* RepoStats is a collection of statistics for a set of repositories.
*/
export interface RepoStats {
/**
* repos is used for aggregrating the number of repositories.
*/
'repos'?: (number | string | Long);
/**
* shards is the total number of search shards.
*/
'shards'?: (number | string | Long);
/**
* documents holds the number of documents or files.
*/
'documents'?: (number | string | Long);
/**
* index_bytes is the amount of RAM used for index overhead.
*/
'index_bytes'?: (number | string | Long);
/**
* content_bytes is the amount of RAM used for raw content.
*/
'content_bytes'?: (number | string | Long);
/**
* new_lines_count is the number of newlines "\n" that appear in the zoekt
* indexed documents. This is not exactly the same as line count, since it
* will not include lines not terminated by "\n" (eg a file with no "\n", or
* a final line without "\n"). Note: Zoekt deduplicates documents across
* branches, so if a path has the same contents on multiple branches, there
* is only one document for it. As such that document's newlines is only
* counted once. See DefaultBranchNewLinesCount and AllBranchesNewLinesCount
* for counts which do not deduplicate.
*/
'new_lines_count'?: (number | string | Long);
/**
* default_branch_new_lines_count is the number of newlines "\n" in the default
* branch.
*/
'default_branch_new_lines_count'?: (number | string | Long);
/**
* other_branches_new_lines_count is the number of newlines "\n" in all branches
* except the default branch.
*/
'other_branches_new_lines_count'?: (number | string | Long);
}
/**
* RepoStats is a collection of statistics for a set of repositories.
*/
export interface RepoStats__Output {
/**
* repos is used for aggregrating the number of repositories.
*/
'repos': (number);
/**
* shards is the total number of search shards.
*/
'shards': (number);
/**
* documents holds the number of documents or files.
*/
'documents': (number);
/**
* index_bytes is the amount of RAM used for index overhead.
*/
'index_bytes': (number);
/**
* content_bytes is the amount of RAM used for raw content.
*/
'content_bytes': (number);
/**
* new_lines_count is the number of newlines "\n" that appear in the zoekt
* indexed documents. This is not exactly the same as line count, since it
* will not include lines not terminated by "\n" (eg a file with no "\n", or
* a final line without "\n"). Note: Zoekt deduplicates documents across
* branches, so if a path has the same contents on multiple branches, there
* is only one document for it. As such that document's newlines is only
* counted once. See DefaultBranchNewLinesCount and AllBranchesNewLinesCount
* for counts which do not deduplicate.
*/
'new_lines_count': (number);
/**
* default_branch_new_lines_count is the number of newlines "\n" in the default
* branch.
*/
'default_branch_new_lines_count': (number);
/**
* other_branches_new_lines_count is the number of newlines "\n" in all branches
* except the default branch.
*/
'other_branches_new_lines_count': (number);
}

View file

@ -0,0 +1,184 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { RepositoryBranch as _zoekt_webserver_v1_RepositoryBranch, RepositoryBranch__Output as _zoekt_webserver_v1_RepositoryBranch__Output } from '../../../zoekt/webserver/v1/RepositoryBranch';
import type { Repository as _zoekt_webserver_v1_Repository, Repository__Output as _zoekt_webserver_v1_Repository__Output } from '../../../zoekt/webserver/v1/Repository';
import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
import type { Long } from '@grpc/proto-loader';
export interface Repository {
/**
* Sourcegraph's repository ID
*/
'id'?: (number);
/**
* The repository name
*/
'name'?: (string);
/**
* The repository URL.
*/
'url'?: (string);
/**
* The physical source where this repo came from, eg. full
* path to the zip filename or git repository directory. This
* will not be exposed in the UI, but can be used to detect
* orphaned index shards.
*/
'source'?: (string);
/**
* The branches indexed in this repo.
*/
'branches'?: (_zoekt_webserver_v1_RepositoryBranch)[];
/**
* Nil if this is not the super project.
*/
'sub_repo_map'?: ({[key: string]: _zoekt_webserver_v1_Repository});
/**
* URL template to link to the commit of a branch
*/
'commit_url_template'?: (string);
/**
* The repository URL for getting to a file. Has access to
* {{.Version}}, {{.Path}}
*/
'file_url_template'?: (string);
/**
* The URL fragment to add to a file URL for line numbers. has
* access to {{.LineNumber}}. The fragment should include the
* separator, generally '#' or ';'.
*/
'line_fragment_template'?: (string);
/**
* Perf optimization: priority is set when we load the shard. It corresponds to
* the value of "priority" stored in RawConfig.
*/
'priority'?: (number | string);
/**
* All zoekt.* configuration settings.
*/
'raw_config'?: ({[key: string]: string});
/**
* Importance of the repository, bigger is more important
*/
'rank'?: (number);
/**
* index_options is a hash of the options used to create the index for the
* repo.
*/
'index_options'?: (string);
/**
* has_symbols is true if this repository has indexed ctags
* output. Sourcegraph specific: This field is more appropriate for
* IndexMetadata. However, we store it here since the Sourcegraph frontend
* can read this structure but not IndexMetadata.
*/
'has_symbols'?: (boolean);
/**
* tombstone is true if we are not allowed to search this repo.
*/
'tombstone'?: (boolean);
/**
* latest_commit_date is the date of the latest commit among all indexed Branches.
* The date might be time.Time's 0-value if the repository was last indexed
* before this field was added.
*/
'latest_commit_date'?: (_google_protobuf_Timestamp | null);
/**
* file_tombstones is a set of file paths that should be ignored across all branches
* in this shard.
*/
'file_tombstones'?: (string)[];
/**
* tenant_id is the tenant ID of the repository.
*/
'tenant_id'?: (number | string | Long);
}
export interface Repository__Output {
/**
* Sourcegraph's repository ID
*/
'id': (number);
/**
* The repository name
*/
'name': (string);
/**
* The repository URL.
*/
'url': (string);
/**
* The physical source where this repo came from, eg. full
* path to the zip filename or git repository directory. This
* will not be exposed in the UI, but can be used to detect
* orphaned index shards.
*/
'source': (string);
/**
* The branches indexed in this repo.
*/
'branches': (_zoekt_webserver_v1_RepositoryBranch__Output)[];
/**
* Nil if this is not the super project.
*/
'sub_repo_map': ({[key: string]: _zoekt_webserver_v1_Repository__Output});
/**
* URL template to link to the commit of a branch
*/
'commit_url_template': (string);
/**
* The repository URL for getting to a file. Has access to
* {{.Version}}, {{.Path}}
*/
'file_url_template': (string);
/**
* The URL fragment to add to a file URL for line numbers. has
* access to {{.LineNumber}}. The fragment should include the
* separator, generally '#' or ';'.
*/
'line_fragment_template': (string);
/**
* Perf optimization: priority is set when we load the shard. It corresponds to
* the value of "priority" stored in RawConfig.
*/
'priority': (number);
/**
* All zoekt.* configuration settings.
*/
'raw_config': ({[key: string]: string});
/**
* Importance of the repository, bigger is more important
*/
'rank': (number);
/**
* index_options is a hash of the options used to create the index for the
* repo.
*/
'index_options': (string);
/**
* has_symbols is true if this repository has indexed ctags
* output. Sourcegraph specific: This field is more appropriate for
* IndexMetadata. However, we store it here since the Sourcegraph frontend
* can read this structure but not IndexMetadata.
*/
'has_symbols': (boolean);
/**
* tombstone is true if we are not allowed to search this repo.
*/
'tombstone': (boolean);
/**
* latest_commit_date is the date of the latest commit among all indexed Branches.
* The date might be time.Time's 0-value if the repository was last indexed
* before this field was added.
*/
'latest_commit_date': (_google_protobuf_Timestamp__Output | null);
/**
* file_tombstones is a set of file paths that should be ignored across all branches
* in this shard.
*/
'file_tombstones': (string)[];
/**
* tenant_id is the tenant ID of the repository.
*/
'tenant_id': (number);
}

View file

@ -0,0 +1,20 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
/**
* RepositoryBranch describes an indexed branch, which is a name
* combined with a version.
*/
export interface RepositoryBranch {
'name'?: (string);
'version'?: (string);
}
/**
* RepositoryBranch describes an indexed branch, which is a name
* combined with a version.
*/
export interface RepositoryBranch__Output {
'name': (string);
'version': (string);
}

View file

@ -0,0 +1,156 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../google/protobuf/Duration';
import type { Long } from '@grpc/proto-loader';
export interface SearchOptions {
/**
* Return an upper-bound estimate of eligible documents in
* stats.ShardFilesConsidered.
*/
'estimate_doc_count'?: (boolean);
/**
* Return the whole file.
*/
'whole'?: (boolean);
/**
* Maximum number of matches: skip all processing an index
* shard after we found this many non-overlapping matches.
*/
'shard_max_match_count'?: (number | string | Long);
/**
* Maximum number of matches: stop looking for more matches
* once we have this many matches across shards.
*/
'total_max_match_count'?: (number | string | Long);
/**
* Maximum number of matches: skip processing documents for a repository in
* a shard once we have found ShardRepoMaxMatchCount.
*
* A compound shard may contain multiple repositories. This will most often
* be set to 1 to find all repositories containing a result.
*/
'shard_repo_max_match_count'?: (number | string | Long);
/**
* Abort the search after this much time has passed.
*/
'max_wall_time'?: (_google_protobuf_Duration | null);
/**
* FlushWallTime if non-zero will stop streaming behaviour at first and
* instead will collate and sort results. At FlushWallTime the results will
* be sent and then the behaviour will revert to the normal streaming.
*/
'flush_wall_time'?: (_google_protobuf_Duration | null);
/**
* Truncates the number of documents (i.e. files) after collating and
* sorting the results.
*/
'max_doc_display_count'?: (number | string | Long);
/**
* If set to a number greater than zero then up to this many number
* of context lines will be added before and after each matched line.
* Note that the included context lines might contain matches and
* it's up to the consumer of the result to remove those lines.
*/
'num_context_lines'?: (number | string | Long);
/**
* If true, ChunkMatches will be returned in each FileMatch rather than LineMatches
* EXPERIMENTAL: the behavior of this flag may be changed in future versions.
*/
'chunk_matches'?: (boolean);
/**
* Trace turns on opentracing for this request if true and if the Jaeger address was provided as
* a command-line flag
*/
'trace'?: (boolean);
/**
* If set, the search results will contain debug information for scoring.
*/
'debug_score'?: (boolean);
/**
* EXPERIMENTAL. If true, use text search scoring instead of the default scoring formula.
* Currently, this treats each match in a file as a term and computes an approximation to BM25.
* When enabled, all other scoring signals are ignored, including document ranks.
*/
'use_bm25_scoring'?: (boolean);
/**
* Truncates the number of matchs after collating and sorting the results.
*/
'max_match_display_count'?: (number | string | Long);
}
export interface SearchOptions__Output {
/**
* Return an upper-bound estimate of eligible documents in
* stats.ShardFilesConsidered.
*/
'estimate_doc_count': (boolean);
/**
* Return the whole file.
*/
'whole': (boolean);
/**
* Maximum number of matches: skip all processing an index
* shard after we found this many non-overlapping matches.
*/
'shard_max_match_count': (number);
/**
* Maximum number of matches: stop looking for more matches
* once we have this many matches across shards.
*/
'total_max_match_count': (number);
/**
* Maximum number of matches: skip processing documents for a repository in
* a shard once we have found ShardRepoMaxMatchCount.
*
* A compound shard may contain multiple repositories. This will most often
* be set to 1 to find all repositories containing a result.
*/
'shard_repo_max_match_count': (number);
/**
* Abort the search after this much time has passed.
*/
'max_wall_time': (_google_protobuf_Duration__Output | null);
/**
* FlushWallTime if non-zero will stop streaming behaviour at first and
* instead will collate and sort results. At FlushWallTime the results will
* be sent and then the behaviour will revert to the normal streaming.
*/
'flush_wall_time': (_google_protobuf_Duration__Output | null);
/**
* Truncates the number of documents (i.e. files) after collating and
* sorting the results.
*/
'max_doc_display_count': (number);
/**
* If set to a number greater than zero then up to this many number
* of context lines will be added before and after each matched line.
* Note that the included context lines might contain matches and
* it's up to the consumer of the result to remove those lines.
*/
'num_context_lines': (number);
/**
* If true, ChunkMatches will be returned in each FileMatch rather than LineMatches
* EXPERIMENTAL: the behavior of this flag may be changed in future versions.
*/
'chunk_matches': (boolean);
/**
* Trace turns on opentracing for this request if true and if the Jaeger address was provided as
* a command-line flag
*/
'trace': (boolean);
/**
* If set, the search results will contain debug information for scoring.
*/
'debug_score': (boolean);
/**
* EXPERIMENTAL. If true, use text search scoring instead of the default scoring formula.
* Currently, this treats each match in a file as a term and computes an approximation to BM25.
* When enabled, all other scoring signals are ignored, including document ranks.
*/
'use_bm25_scoring': (boolean);
/**
* Truncates the number of matchs after collating and sorting the results.
*/
'max_match_display_count': (number);
}

View file

@ -0,0 +1,14 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
import type { SearchOptions as _zoekt_webserver_v1_SearchOptions, SearchOptions__Output as _zoekt_webserver_v1_SearchOptions__Output } from '../../../zoekt/webserver/v1/SearchOptions';
export interface SearchRequest {
'query'?: (_zoekt_webserver_v1_Q | null);
'opts'?: (_zoekt_webserver_v1_SearchOptions | null);
}
export interface SearchRequest__Output {
'query': (_zoekt_webserver_v1_Q__Output | null);
'opts': (_zoekt_webserver_v1_SearchOptions__Output | null);
}

View file

@ -0,0 +1,17 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Stats as _zoekt_webserver_v1_Stats, Stats__Output as _zoekt_webserver_v1_Stats__Output } from '../../../zoekt/webserver/v1/Stats';
import type { Progress as _zoekt_webserver_v1_Progress, Progress__Output as _zoekt_webserver_v1_Progress__Output } from '../../../zoekt/webserver/v1/Progress';
import type { FileMatch as _zoekt_webserver_v1_FileMatch, FileMatch__Output as _zoekt_webserver_v1_FileMatch__Output } from '../../../zoekt/webserver/v1/FileMatch';
export interface SearchResponse {
'stats'?: (_zoekt_webserver_v1_Stats | null);
'progress'?: (_zoekt_webserver_v1_Progress | null);
'files'?: (_zoekt_webserver_v1_FileMatch)[];
}
export interface SearchResponse__Output {
'stats': (_zoekt_webserver_v1_Stats__Output | null);
'progress': (_zoekt_webserver_v1_Progress__Output | null);
'files': (_zoekt_webserver_v1_FileMatch__Output)[];
}

View file

@ -0,0 +1,181 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../google/protobuf/Duration';
import type { FlushReason as _zoekt_webserver_v1_FlushReason, FlushReason__Output as _zoekt_webserver_v1_FlushReason__Output } from '../../../zoekt/webserver/v1/FlushReason';
import type { Long } from '@grpc/proto-loader';
export interface Stats {
/**
* Amount of I/O for reading contents.
*/
'content_bytes_loaded'?: (number | string | Long);
/**
* Amount of I/O for reading from index.
*/
'index_bytes_loaded'?: (number | string | Long);
/**
* Number of search shards that had a crash.
*/
'crashes'?: (number | string | Long);
/**
* Wall clock time for this search
*/
'duration'?: (_google_protobuf_Duration | null);
/**
* Number of files containing a match.
*/
'file_count'?: (number | string | Long);
/**
* Number of files in shards that we considered.
*/
'shard_files_considered'?: (number | string | Long);
/**
* Files that we evaluated. Equivalent to files for which all
* atom matches (including negations) evaluated to true.
*/
'files_considered'?: (number | string | Long);
/**
* Files for which we loaded file content to verify substring matches
*/
'files_loaded'?: (number | string | Long);
/**
* Candidate files whose contents weren't examined because we
* gathered enough matches.
*/
'files_skipped'?: (number | string | Long);
/**
* Shards that we scanned to find matches.
*/
'shards_scanned'?: (number | string | Long);
/**
* Shards that we did not process because a query was canceled.
*/
'shards_skipped'?: (number | string | Long);
/**
* Shards that we did not process because the query was rejected by the
* ngram filter indicating it had no matches.
*/
'shards_skipped_filter'?: (number | string | Long);
/**
* Number of non-overlapping matches
*/
'match_count'?: (number | string | Long);
/**
* Number of candidate matches as a result of searching ngrams.
*/
'ngram_matches'?: (number | string | Long);
/**
* Wall clock time for queued search.
*/
'wait'?: (_google_protobuf_Duration | null);
/**
* Number of times regexp was called on files that we evaluated.
*/
'regexps_considered'?: (number | string | Long);
/**
* FlushReason explains why results were flushed.
*/
'flush_reason'?: (_zoekt_webserver_v1_FlushReason);
/**
* NgramLookups is the number of times we accessed an ngram in the index.
*/
'ngram_lookups'?: (number | string | Long);
/**
* Aggregate wall clock time spent constructing and pruning the match tree.
* This accounts for time such as lookups in the trigram index.
*/
'match_tree_construction'?: (_google_protobuf_Duration | null);
/**
* Aggregate wall clock time spent searching the match tree. This accounts
* for the bulk of search work done looking for matches.
*/
'match_tree_search'?: (_google_protobuf_Duration | null);
}
export interface Stats__Output {
/**
* Amount of I/O for reading contents.
*/
'content_bytes_loaded': (number);
/**
* Amount of I/O for reading from index.
*/
'index_bytes_loaded': (number);
/**
* Number of search shards that had a crash.
*/
'crashes': (number);
/**
* Wall clock time for this search
*/
'duration': (_google_protobuf_Duration__Output | null);
/**
* Number of files containing a match.
*/
'file_count': (number);
/**
* Number of files in shards that we considered.
*/
'shard_files_considered': (number);
/**
* Files that we evaluated. Equivalent to files for which all
* atom matches (including negations) evaluated to true.
*/
'files_considered': (number);
/**
* Files for which we loaded file content to verify substring matches
*/
'files_loaded': (number);
/**
* Candidate files whose contents weren't examined because we
* gathered enough matches.
*/
'files_skipped': (number);
/**
* Shards that we scanned to find matches.
*/
'shards_scanned': (number);
/**
* Shards that we did not process because a query was canceled.
*/
'shards_skipped': (number);
/**
* Shards that we did not process because the query was rejected by the
* ngram filter indicating it had no matches.
*/
'shards_skipped_filter': (number);
/**
* Number of non-overlapping matches
*/
'match_count': (number);
/**
* Number of candidate matches as a result of searching ngrams.
*/
'ngram_matches': (number);
/**
* Wall clock time for queued search.
*/
'wait': (_google_protobuf_Duration__Output | null);
/**
* Number of times regexp was called on files that we evaluated.
*/
'regexps_considered': (number);
/**
* FlushReason explains why results were flushed.
*/
'flush_reason': (_zoekt_webserver_v1_FlushReason__Output);
/**
* NgramLookups is the number of times we accessed an ngram in the index.
*/
'ngram_lookups': (number);
/**
* Aggregate wall clock time spent constructing and pruning the match tree.
* This accounts for time such as lookups in the trigram index.
*/
'match_tree_construction': (_google_protobuf_Duration__Output | null);
/**
* Aggregate wall clock time spent searching the match tree. This accounts
* for the bulk of search work done looking for matches.
*/
'match_tree_search': (_google_protobuf_Duration__Output | null);
}

View file

@ -0,0 +1,11 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { SearchRequest as _zoekt_webserver_v1_SearchRequest, SearchRequest__Output as _zoekt_webserver_v1_SearchRequest__Output } from '../../../zoekt/webserver/v1/SearchRequest';
export interface StreamSearchRequest {
'request'?: (_zoekt_webserver_v1_SearchRequest | null);
}
export interface StreamSearchRequest__Output {
'request': (_zoekt_webserver_v1_SearchRequest__Output | null);
}

View file

@ -0,0 +1,11 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type { SearchResponse as _zoekt_webserver_v1_SearchResponse, SearchResponse__Output as _zoekt_webserver_v1_SearchResponse__Output } from '../../../zoekt/webserver/v1/SearchResponse';
export interface StreamSearchResponse {
'response_chunk'?: (_zoekt_webserver_v1_SearchResponse | null);
}
export interface StreamSearchResponse__Output {
'response_chunk': (_zoekt_webserver_v1_SearchResponse__Output | null);
}

View file

@ -0,0 +1,28 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export interface Substring {
'pattern'?: (string);
'case_sensitive'?: (boolean);
/**
* Match only filename
*/
'file_name'?: (boolean);
/**
* Match only content
*/
'content'?: (boolean);
}
export interface Substring__Output {
'pattern': (string);
'case_sensitive': (boolean);
/**
* Match only filename
*/
'file_name': (boolean);
/**
* Match only content
*/
'content': (boolean);
}

View file

@ -0,0 +1,11 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
export interface Symbol {
'expr'?: (_zoekt_webserver_v1_Q | null);
}
export interface Symbol__Output {
'expr': (_zoekt_webserver_v1_Q__Output | null);
}

View file

@ -0,0 +1,16 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
export interface SymbolInfo {
'sym'?: (string);
'kind'?: (string);
'parent'?: (string);
'parent_kind'?: (string);
}
export interface SymbolInfo__Output {
'sym': (string);
'kind': (string);
'parent': (string);
'parent_kind': (string);
}

View file

@ -0,0 +1,46 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from '../../../zoekt/webserver/v1/Q';
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto
export const _zoekt_webserver_v1_Type_Kind = {
KIND_UNKNOWN_UNSPECIFIED: 'KIND_UNKNOWN_UNSPECIFIED',
KIND_FILE_MATCH: 'KIND_FILE_MATCH',
KIND_FILE_NAME: 'KIND_FILE_NAME',
KIND_REPO: 'KIND_REPO',
} as const;
export type _zoekt_webserver_v1_Type_Kind =
| 'KIND_UNKNOWN_UNSPECIFIED'
| 0
| 'KIND_FILE_MATCH'
| 1
| 'KIND_FILE_NAME'
| 2
| 'KIND_REPO'
| 3
export type _zoekt_webserver_v1_Type_Kind__Output = typeof _zoekt_webserver_v1_Type_Kind[keyof typeof _zoekt_webserver_v1_Type_Kind]
/**
* Type changes the result type returned.
*/
export interface Type {
'child'?: (_zoekt_webserver_v1_Q | null);
/**
* TODO: type constants
*/
'type'?: (_zoekt_webserver_v1_Type_Kind);
}
/**
* Type changes the result type returned.
*/
export interface Type__Output {
'child': (_zoekt_webserver_v1_Q__Output | null);
/**
* TODO: type constants
*/
'type': (_zoekt_webserver_v1_Type_Kind__Output);
}

View file

@ -0,0 +1,63 @@
// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/webserver.proto
import type * as grpc from '@grpc/grpc-js'
import type { MethodDefinition } from '@grpc/proto-loader'
import type { ListRequest as _zoekt_webserver_v1_ListRequest, ListRequest__Output as _zoekt_webserver_v1_ListRequest__Output } from '../../../zoekt/webserver/v1/ListRequest';
import type { ListResponse as _zoekt_webserver_v1_ListResponse, ListResponse__Output as _zoekt_webserver_v1_ListResponse__Output } from '../../../zoekt/webserver/v1/ListResponse';
import type { SearchRequest as _zoekt_webserver_v1_SearchRequest, SearchRequest__Output as _zoekt_webserver_v1_SearchRequest__Output } from '../../../zoekt/webserver/v1/SearchRequest';
import type { SearchResponse as _zoekt_webserver_v1_SearchResponse, SearchResponse__Output as _zoekt_webserver_v1_SearchResponse__Output } from '../../../zoekt/webserver/v1/SearchResponse';
import type { StreamSearchRequest as _zoekt_webserver_v1_StreamSearchRequest, StreamSearchRequest__Output as _zoekt_webserver_v1_StreamSearchRequest__Output } from '../../../zoekt/webserver/v1/StreamSearchRequest';
import type { StreamSearchResponse as _zoekt_webserver_v1_StreamSearchResponse, StreamSearchResponse__Output as _zoekt_webserver_v1_StreamSearchResponse__Output } from '../../../zoekt/webserver/v1/StreamSearchResponse';
export interface WebserverServiceClient extends grpc.Client {
/**
* List lists repositories. The query `q` can only contain
* query.Repo atoms.
*/
List(argument: _zoekt_webserver_v1_ListRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
List(argument: _zoekt_webserver_v1_ListRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
List(argument: _zoekt_webserver_v1_ListRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
List(argument: _zoekt_webserver_v1_ListRequest, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
/**
* List lists repositories. The query `q` can only contain
* query.Repo atoms.
*/
list(argument: _zoekt_webserver_v1_ListRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
list(argument: _zoekt_webserver_v1_ListRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
list(argument: _zoekt_webserver_v1_ListRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
list(argument: _zoekt_webserver_v1_ListRequest, callback: grpc.requestCallback<_zoekt_webserver_v1_ListResponse__Output>): grpc.ClientUnaryCall;
Search(argument: _zoekt_webserver_v1_SearchRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
Search(argument: _zoekt_webserver_v1_SearchRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
Search(argument: _zoekt_webserver_v1_SearchRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
Search(argument: _zoekt_webserver_v1_SearchRequest, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
search(argument: _zoekt_webserver_v1_SearchRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
search(argument: _zoekt_webserver_v1_SearchRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
search(argument: _zoekt_webserver_v1_SearchRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
search(argument: _zoekt_webserver_v1_SearchRequest, callback: grpc.requestCallback<_zoekt_webserver_v1_SearchResponse__Output>): grpc.ClientUnaryCall;
StreamSearch(argument: _zoekt_webserver_v1_StreamSearchRequest, metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<_zoekt_webserver_v1_StreamSearchResponse__Output>;
StreamSearch(argument: _zoekt_webserver_v1_StreamSearchRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<_zoekt_webserver_v1_StreamSearchResponse__Output>;
streamSearch(argument: _zoekt_webserver_v1_StreamSearchRequest, metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<_zoekt_webserver_v1_StreamSearchResponse__Output>;
streamSearch(argument: _zoekt_webserver_v1_StreamSearchRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<_zoekt_webserver_v1_StreamSearchResponse__Output>;
}
export interface WebserverServiceHandlers extends grpc.UntypedServiceImplementation {
/**
* List lists repositories. The query `q` can only contain
* query.Repo atoms.
*/
List: grpc.handleUnaryCall<_zoekt_webserver_v1_ListRequest__Output, _zoekt_webserver_v1_ListResponse>;
Search: grpc.handleUnaryCall<_zoekt_webserver_v1_SearchRequest__Output, _zoekt_webserver_v1_SearchResponse>;
StreamSearch: grpc.handleServerStreamingCall<_zoekt_webserver_v1_StreamSearchRequest__Output, _zoekt_webserver_v1_StreamSearchResponse>;
}
export interface WebserverServiceDefinition extends grpc.ServiceDefinition {
List: MethodDefinition<_zoekt_webserver_v1_ListRequest, _zoekt_webserver_v1_ListResponse, _zoekt_webserver_v1_ListRequest__Output, _zoekt_webserver_v1_ListResponse__Output>
Search: MethodDefinition<_zoekt_webserver_v1_SearchRequest, _zoekt_webserver_v1_SearchResponse, _zoekt_webserver_v1_SearchRequest__Output, _zoekt_webserver_v1_SearchResponse__Output>
StreamSearch: MethodDefinition<_zoekt_webserver_v1_StreamSearchRequest, _zoekt_webserver_v1_StreamSearchResponse, _zoekt_webserver_v1_StreamSearchRequest__Output, _zoekt_webserver_v1_StreamSearchResponse__Output>
}

View file

@ -2338,6 +2338,16 @@ __metadata:
languageName: node
linkType: hard
"@grpc/grpc-js@npm:^1.14.1":
version: 1.14.1
resolution: "@grpc/grpc-js@npm:1.14.1"
dependencies:
"@grpc/proto-loader": "npm:^0.8.0"
"@js-sdsl/ordered-map": "npm:^4.4.2"
checksum: 10c0/a9a8fc7f4dfa374a34e37350b37ad2c092ed533b203fe16d45ba3220fe38195d17a87527dade2e5546afeeeccfcf68d3e914705d94e44e8df461321b0c02cc7a
languageName: node
linkType: hard
"@grpc/proto-loader@npm:^0.8.0":
version: 0.8.0
resolution: "@grpc/proto-loader@npm:0.8.0"
@ -8060,6 +8070,8 @@ __metadata:
"@codemirror/view": "npm:^6.33.0"
"@eslint/eslintrc": "npm:^3"
"@floating-ui/react": "npm:^0.27.2"
"@grpc/grpc-js": "npm:^1.14.1"
"@grpc/proto-loader": "npm:^0.8.0"
"@hookform/resolvers": "npm:^3.9.0"
"@iconify/react": "npm:^5.1.0"
"@iizukak/codemirror-lang-wgsl": "npm:^0.3.0"