From a040ee1e07516a9827f48289748832e268eeafab Mon Sep 17 00:00:00 2001 From: bkellam Date: Thu, 13 Nov 2025 21:17:17 -0800 Subject: [PATCH] generate protobuf types --- packages/web/.eslintignore | 3 +- packages/web/package.json | 3 + .../web/src/proto/google/protobuf/Duration.ts | 13 ++ .../src/proto/google/protobuf/Timestamp.ts | 13 ++ packages/web/src/proto/query.ts | 55 ++++++ packages/web/src/proto/webserver.ts | 112 +++++++++++ .../web/src/proto/zoekt/webserver/v1/And.ts | 17 ++ .../web/src/proto/zoekt/webserver/v1/Boost.ts | 19 ++ .../src/proto/zoekt/webserver/v1/Branch.ts | 24 +++ .../proto/zoekt/webserver/v1/BranchRepos.ts | 26 +++ .../proto/zoekt/webserver/v1/BranchesRepos.ts | 17 ++ .../proto/zoekt/webserver/v1/ChunkMatch.ts | 67 +++++++ .../src/proto/zoekt/webserver/v1/FileMatch.ts | 132 +++++++++++++ .../proto/zoekt/webserver/v1/FileNameSet.ts | 16 ++ .../proto/zoekt/webserver/v1/FlushReason.ts | 20 ++ .../proto/zoekt/webserver/v1/IndexMetadata.ts | 26 +++ .../src/proto/zoekt/webserver/v1/Language.ts | 10 + .../zoekt/webserver/v1/LineFragmentMatch.ts | 38 ++++ .../src/proto/zoekt/webserver/v1/LineMatch.ts | 50 +++++ .../proto/zoekt/webserver/v1/ListOptions.ts | 34 ++++ .../proto/zoekt/webserver/v1/ListRequest.ts | 14 ++ .../proto/zoekt/webserver/v1/ListResponse.ts | 40 ++++ .../src/proto/zoekt/webserver/v1/Location.ts | 32 +++ .../webserver/v1/MinimalRepoListEntry.ts | 16 ++ .../web/src/proto/zoekt/webserver/v1/Not.ts | 17 ++ .../web/src/proto/zoekt/webserver/v1/Or.ts | 17 ++ .../src/proto/zoekt/webserver/v1/Progress.ts | 42 ++++ .../web/src/proto/zoekt/webserver/v1/Q.ts | 63 ++++++ .../web/src/proto/zoekt/webserver/v1/Range.ts | 25 +++ .../src/proto/zoekt/webserver/v1/RawConfig.ts | 46 +++++ .../src/proto/zoekt/webserver/v1/Regexp.ts | 22 +++ .../web/src/proto/zoekt/webserver/v1/Repo.ts | 10 + .../src/proto/zoekt/webserver/v1/RepoIds.ts | 24 +++ .../proto/zoekt/webserver/v1/RepoListEntry.ts | 17 ++ .../proto/zoekt/webserver/v1/RepoRegexp.ts | 10 + .../src/proto/zoekt/webserver/v1/RepoSet.ts | 16 ++ .../src/proto/zoekt/webserver/v1/RepoStats.ts | 97 +++++++++ .../proto/zoekt/webserver/v1/Repository.ts | 184 ++++++++++++++++++ .../zoekt/webserver/v1/RepositoryBranch.ts | 20 ++ .../proto/zoekt/webserver/v1/SearchOptions.ts | 156 +++++++++++++++ .../proto/zoekt/webserver/v1/SearchRequest.ts | 14 ++ .../zoekt/webserver/v1/SearchResponse.ts | 17 ++ .../web/src/proto/zoekt/webserver/v1/Stats.ts | 181 +++++++++++++++++ .../zoekt/webserver/v1/StreamSearchRequest.ts | 11 ++ .../webserver/v1/StreamSearchResponse.ts | 11 ++ .../src/proto/zoekt/webserver/v1/Substring.ts | 28 +++ .../src/proto/zoekt/webserver/v1/Symbol.ts | 11 ++ .../proto/zoekt/webserver/v1/SymbolInfo.ts | 16 ++ .../web/src/proto/zoekt/webserver/v1/Type.ts | 46 +++++ .../zoekt/webserver/v1/WebserverService.ts | 63 ++++++ yarn.lock | 12 ++ 51 files changed, 1972 insertions(+), 1 deletion(-) create mode 100644 packages/web/src/proto/google/protobuf/Duration.ts create mode 100644 packages/web/src/proto/google/protobuf/Timestamp.ts create mode 100644 packages/web/src/proto/query.ts create mode 100644 packages/web/src/proto/webserver.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/And.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Boost.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Branch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/BranchRepos.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/BranchesRepos.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/ChunkMatch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/FileMatch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/FileNameSet.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/FlushReason.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/IndexMetadata.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Language.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/LineFragmentMatch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/LineMatch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/ListOptions.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/ListRequest.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/ListResponse.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Location.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/MinimalRepoListEntry.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Not.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Or.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Progress.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Q.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Range.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RawConfig.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Regexp.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Repo.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepoIds.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepoListEntry.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepoRegexp.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepoSet.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepoStats.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Repository.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/RepositoryBranch.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/SearchOptions.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/SearchRequest.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/SearchResponse.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Stats.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/StreamSearchRequest.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/StreamSearchResponse.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Substring.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Symbol.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/SymbolInfo.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Type.ts create mode 100644 packages/web/src/proto/zoekt/webserver/v1/WebserverService.ts diff --git a/packages/web/.eslintignore b/packages/web/.eslintignore index b1a30067..82012262 100644 --- a/packages/web/.eslintignore +++ b/packages/web/.eslintignore @@ -1,3 +1,4 @@ # shadcn components src/components/ -next-env.d.ts \ No newline at end of file +next-env.d.ts +src/proto/** \ No newline at end of file diff --git a/packages/web/package.json b/packages/web/package.json index ba3c3dbc..4cea2bac 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -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", diff --git a/packages/web/src/proto/google/protobuf/Duration.ts b/packages/web/src/proto/google/protobuf/Duration.ts new file mode 100644 index 00000000..f24c347f --- /dev/null +++ b/packages/web/src/proto/google/protobuf/Duration.ts @@ -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); +} diff --git a/packages/web/src/proto/google/protobuf/Timestamp.ts b/packages/web/src/proto/google/protobuf/Timestamp.ts new file mode 100644 index 00000000..154167e2 --- /dev/null +++ b/packages/web/src/proto/google/protobuf/Timestamp.ts @@ -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); +} diff --git a/packages/web/src/proto/query.ts b/packages/web/src/proto/query.ts new file mode 100644 index 00000000..93631b52 --- /dev/null +++ b/packages/web/src/proto/query.ts @@ -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 any, Subtype> = { + new(...args: ConstructorParameters): 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> + } + } + } +} + diff --git a/packages/web/src/proto/webserver.ts b/packages/web/src/proto/webserver.ts new file mode 100644 index 00000000..0dc98637 --- /dev/null +++ b/packages/web/src/proto/webserver.ts @@ -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 any, Subtype> = { + new(...args: ConstructorParameters): 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 & { service: _zoekt_webserver_v1_WebserverServiceDefinition } + } + } + } +} + diff --git a/packages/web/src/proto/zoekt/webserver/v1/And.ts b/packages/web/src/proto/zoekt/webserver/v1/And.ts new file mode 100644 index 00000000..61fff3c4 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/And.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Boost.ts b/packages/web/src/proto/zoekt/webserver/v1/Boost.ts new file mode 100644 index 00000000..d5f03a80 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Boost.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Branch.ts b/packages/web/src/proto/zoekt/webserver/v1/Branch.ts new file mode 100644 index 00000000..6b7afce8 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Branch.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/BranchRepos.ts b/packages/web/src/proto/zoekt/webserver/v1/BranchRepos.ts new file mode 100644 index 00000000..7badc6d1 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/BranchRepos.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/BranchesRepos.ts b/packages/web/src/proto/zoekt/webserver/v1/BranchesRepos.ts new file mode 100644 index 00000000..b22b5a08 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/BranchesRepos.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/ChunkMatch.ts b/packages/web/src/proto/zoekt/webserver/v1/ChunkMatch.ts new file mode 100644 index 00000000..66d47099 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/ChunkMatch.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/FileMatch.ts b/packages/web/src/proto/zoekt/webserver/v1/FileMatch.ts new file mode 100644 index 00000000..7150fbc5 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/FileMatch.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/FileNameSet.ts b/packages/web/src/proto/zoekt/webserver/v1/FileNameSet.ts new file mode 100644 index 00000000..38aea627 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/FileNameSet.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/FlushReason.ts b/packages/web/src/proto/zoekt/webserver/v1/FlushReason.ts new file mode 100644 index 00000000..2cdad17d --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/FlushReason.ts @@ -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] diff --git a/packages/web/src/proto/zoekt/webserver/v1/IndexMetadata.ts b/packages/web/src/proto/zoekt/webserver/v1/IndexMetadata.ts new file mode 100644 index 00000000..3de1dbf6 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/IndexMetadata.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Language.ts b/packages/web/src/proto/zoekt/webserver/v1/Language.ts new file mode 100644 index 00000000..4f2a9e6b --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Language.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/LineFragmentMatch.ts b/packages/web/src/proto/zoekt/webserver/v1/LineFragmentMatch.ts new file mode 100644 index 00000000..7c21fa20 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/LineFragmentMatch.ts @@ -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"; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/LineMatch.ts b/packages/web/src/proto/zoekt/webserver/v1/LineMatch.ts new file mode 100644 index 00000000..f58361bd --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/LineMatch.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/ListOptions.ts b/packages/web/src/proto/zoekt/webserver/v1/ListOptions.ts new file mode 100644 index 00000000..1b178438 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/ListOptions.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/ListRequest.ts b/packages/web/src/proto/zoekt/webserver/v1/ListRequest.ts new file mode 100644 index 00000000..90fd117f --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/ListRequest.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/ListResponse.ts b/packages/web/src/proto/zoekt/webserver/v1/ListResponse.ts new file mode 100644 index 00000000..909ca221 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/ListResponse.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Location.ts b/packages/web/src/proto/zoekt/webserver/v1/Location.ts new file mode 100644 index 00000000..8f840a7b --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Location.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/MinimalRepoListEntry.ts b/packages/web/src/proto/zoekt/webserver/v1/MinimalRepoListEntry.ts new file mode 100644 index 00000000..ba361888 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/MinimalRepoListEntry.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Not.ts b/packages/web/src/proto/zoekt/webserver/v1/Not.ts new file mode 100644 index 00000000..6f7e43b7 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Not.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Or.ts b/packages/web/src/proto/zoekt/webserver/v1/Or.ts new file mode 100644 index 00000000..0e3e5974 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Or.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Progress.ts b/packages/web/src/proto/zoekt/webserver/v1/Progress.ts new file mode 100644 index 00000000..1d3f36b2 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Progress.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Q.ts b/packages/web/src/proto/zoekt/webserver/v1/Q.ts new file mode 100644 index 00000000..bf66e027 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Q.ts @@ -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"; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Range.ts b/packages/web/src/proto/zoekt/webserver/v1/Range.ts new file mode 100644 index 00000000..a6e69d3d --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Range.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RawConfig.ts b/packages/web/src/proto/zoekt/webserver/v1/RawConfig.ts new file mode 100644 index 00000000..6379dbbe --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RawConfig.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Regexp.ts b/packages/web/src/proto/zoekt/webserver/v1/Regexp.ts new file mode 100644 index 00000000..67582b03 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Regexp.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Repo.ts b/packages/web/src/proto/zoekt/webserver/v1/Repo.ts new file mode 100644 index 00000000..a1095883 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Repo.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepoIds.ts b/packages/web/src/proto/zoekt/webserver/v1/RepoIds.ts new file mode 100644 index 00000000..7ba23d27 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepoIds.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepoListEntry.ts b/packages/web/src/proto/zoekt/webserver/v1/RepoListEntry.ts new file mode 100644 index 00000000..a216311d --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepoListEntry.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepoRegexp.ts b/packages/web/src/proto/zoekt/webserver/v1/RepoRegexp.ts new file mode 100644 index 00000000..1ee2da09 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepoRegexp.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepoSet.ts b/packages/web/src/proto/zoekt/webserver/v1/RepoSet.ts new file mode 100644 index 00000000..3638f1dc --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepoSet.ts @@ -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}); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepoStats.ts b/packages/web/src/proto/zoekt/webserver/v1/RepoStats.ts new file mode 100644 index 00000000..db507c23 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepoStats.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Repository.ts b/packages/web/src/proto/zoekt/webserver/v1/Repository.ts new file mode 100644 index 00000000..347f26f3 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Repository.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/RepositoryBranch.ts b/packages/web/src/proto/zoekt/webserver/v1/RepositoryBranch.ts new file mode 100644 index 00000000..d18ee955 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/RepositoryBranch.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/SearchOptions.ts b/packages/web/src/proto/zoekt/webserver/v1/SearchOptions.ts new file mode 100644 index 00000000..a3fea5a2 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/SearchOptions.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/SearchRequest.ts b/packages/web/src/proto/zoekt/webserver/v1/SearchRequest.ts new file mode 100644 index 00000000..39a9fe3c --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/SearchRequest.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/SearchResponse.ts b/packages/web/src/proto/zoekt/webserver/v1/SearchResponse.ts new file mode 100644 index 00000000..51a64177 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/SearchResponse.ts @@ -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)[]; +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Stats.ts b/packages/web/src/proto/zoekt/webserver/v1/Stats.ts new file mode 100644 index 00000000..348eea64 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Stats.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/StreamSearchRequest.ts b/packages/web/src/proto/zoekt/webserver/v1/StreamSearchRequest.ts new file mode 100644 index 00000000..219e3477 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/StreamSearchRequest.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/StreamSearchResponse.ts b/packages/web/src/proto/zoekt/webserver/v1/StreamSearchResponse.ts new file mode 100644 index 00000000..7b9276ee --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/StreamSearchResponse.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Substring.ts b/packages/web/src/proto/zoekt/webserver/v1/Substring.ts new file mode 100644 index 00000000..07520aa3 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Substring.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Symbol.ts b/packages/web/src/proto/zoekt/webserver/v1/Symbol.ts new file mode 100644 index 00000000..7ccf5c71 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Symbol.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/SymbolInfo.ts b/packages/web/src/proto/zoekt/webserver/v1/SymbolInfo.ts new file mode 100644 index 00000000..5622d50f --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/SymbolInfo.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Type.ts b/packages/web/src/proto/zoekt/webserver/v1/Type.ts new file mode 100644 index 00000000..6f0163d3 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Type.ts @@ -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); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/WebserverService.ts b/packages/web/src/proto/zoekt/webserver/v1/WebserverService.ts new file mode 100644 index 00000000..c7c80eab --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/WebserverService.ts @@ -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> +} diff --git a/yarn.lock b/yarn.lock index f103fe78..2ee9f226 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"