Self-hosted AI coding assistant
This report summarizes scanner evidence for TabbyML/tabby, a Rust project with 33,924 GitHub stars. SynthScan examined 188,093 lines of code across 1670 source files, recording 268 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 142 finding(s).
Are imports declared and package/API names verified? 121 finding(s).
Are wrappers, guards, and repeated structures necessary? 79 finding(s).
Which changes need focused human review? 268 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 268 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …kotlin/com/tabbyml/intellijtabby/lsp/LanguageClient.kt | 36 | class LanguageClient(private val project: Project) : com.tabbyml.intellijtabby.lsp.protocol.client.LanguageClient(), | CODE |
| CRITICAL | …lin/com/tabbyml/intellijtabby/lsp/ConfigurationSync.kt | 48 | val proxySettings = com.intellij.util.net.HttpConfigurable.getInstance() | CODE |
| CRITICAL | …lin/com/tabbyml/intellijtabby/lsp/ConfigurationSync.kt | 57 | val proxySettings = com.intellij.util.net.HttpConfigurable.getInstance() | CODE |
| CRITICAL | …er/ui/_next/static/chunks/c0672f29-5c54ef189b1b49b1.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6056],{88105:function(t,e,i){let s;i.d(e,{$1:funct | CODE |
| CRITICAL | …er/ui/_next/static/chunks/7cd0a9a7-fa3b9a0f20fcec7d.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2025],{61667:function(t,e,i){let s;i.d(e,{$f:funct | CODE |
| CRITICAL | …bserver/ui/_next/static/chunks/240-6e4dd6e33fcf5a86.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[240],{84381:function(e,t,r){r.d(t,{F:function(){re | CODE |
| CRITICAL | …server/ui/_next/static/chunks/6635-85423d316922c3d8.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6635],{86575:function(e,t,n){let{DOCUMENT_MODE:r}= | CODE |
| CRITICAL | …server/ui/_next/static/chunks/7003-05c7a4c5b4e5989f.js | 6 | */e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.i | COMMENT |
| CRITICAL⚡ | …server/ui/_next/static/chunks/4691-3ed340b4558906b1.js | 11 | ${l}`:l;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,i,!0),this.lexer.state.top=u,0=== | CODE |
| CRITICAL⚡ | …server/ui/_next/static/chunks/4691-3ed340b4558906b1.js | 19 | `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.pars | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …abby-python-client/tabby_python_client/api/v1/event.py | 60 | Args: json_body (LogEventRequest): Raises: errors.UnexpectedStatus: If the server returns an u | STRING |
| HIGH | …abby-python-client/tabby_python_client/api/v1/event.py | 90 | Args: json_body (LogEventRequest): Raises: errors.UnexpectedStatus: If the server returns an u | STRING |
| HIGH | …python-client/tabby_python_client/api/v1/completion.py | 64 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python-client/tabby_python_client/api/v1/completion.py | 95 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python-client/tabby_python_client/api/v1/completion.py | 119 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python-client/tabby_python_client/api/v1/completion.py | 148 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python-client/tabby_python_client/api/v1beta/search.py | 74 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python-client/tabby_python_client/api/v1beta/search.py | 110 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python-client/tabby_python_client/api/v1beta/search.py | 139 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python-client/tabby_python_client/api/v1beta/search.py | 173 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …abby_python_client/tabby_python_client/api/v1/event.py | 60 | Args: json_body (LogEventRequest): Raises: errors.UnexpectedStatus: If the server returns an u | STRING |
| HIGH | …abby_python_client/tabby_python_client/api/v1/event.py | 90 | Args: json_body (LogEventRequest): Raises: errors.UnexpectedStatus: If the server returns an u | STRING |
| HIGH | …python_client/tabby_python_client/api/v1/completion.py | 64 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python_client/tabby_python_client/api/v1/completion.py | 95 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python_client/tabby_python_client/api/v1/completion.py | 119 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python_client/tabby_python_client/api/v1/completion.py | 148 | Args: json_body (CompletionRequest): Example: {'language': 'python', 'segments': {'prefix': 'd | STRING |
| HIGH | …python_client/tabby_python_client/api/v1beta/search.py | 74 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python_client/tabby_python_client/api/v1beta/search.py | 110 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python_client/tabby_python_client/api/v1beta/search.py | 139 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| HIGH | …python_client/tabby_python_client/api/v1beta/search.py | 173 | Args: q (str): Default: 'get'. limit (Union[Unset, None, int]): Default: 20. offset (Unio | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/docs/references/models-http-api/deepseek.md | 14 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/deepseek.md | 26 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/fireworks.md | 18 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/azure-openai.md | 16 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/azure-openai.md | 32 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/deepinfra.md | 14 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/deepinfra.md | 26 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/deepinfra.md | 38 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/voyage-ai.md | 13 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/openai.md | 14 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/openai.md | 30 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/mistral-ai.md | 14 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/mistral-ai.md | 26 | api_key = "your-api-key" | CODE |
| HIGH | …te/docs/references/models-http-api/anthropic-claude.md | 15 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/vllm.md | 22 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/vllm.md | 34 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/vllm.md | 47 | api_key = "your-api-key" | CODE |
| HIGH | …site/docs/references/models-http-api/amazon-bedrock.md | 16 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/perplexity.md | 14 | api_key = "your-api-key" | CODE |
| HIGH | website/docs/references/models-http-api/openrouter.md | 14 | api_key = "your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/tabby-agent/src/chat/smartApply.ts | 143 | async function provideSmartApplyLineRange( | CODE |
| LOW | clients/tabby-agent/src/config/index.ts | 22 | function shouldBeNonBlankStringValue(meta: unknown) { | CODE |
| LOW | clients/tabby-agent/src/utils/string.ts | 66 | export function extractNonReservedWordList(text: string): string { | CODE |
| LOW | clients/tabby-agent/src/utils/string.ts | 204 | export function findUnpairedAutoClosingChars(input: string): string[] { | CODE |
| LOW | clients/tabby-agent/src/utils/diff.ts | 26 | function mapDiffRangeToEditorRange(diffRange: DiffRange, editorRanges: Range[]): Range | undefined { | CODE |
| LOW | clients/tabby-agent/src/codeCompletion/contexts.ts | 149 | export function buildCompletionContextWithAppend(context: CompletionContext, appendText: string): CompletionContext { | CODE |
| LOW | …ients/tabby-agent/src/codeCompletion/latencyTracker.ts | 93 | export function buildHelpMessageForLatencyIssue( | CODE |
| LOW | clients/tabby-agent/src/codeCompletion/cache.ts | 19 | export function calculateCompletionContextHash( | CODE |
| LOW | clients/tabby-agent/src/codeCompletion/cache.ts | 39 | export function generateForwardingContexts( | CODE |
| LOW | clients/tabby-agent/src/codeCompletion/solution.ts | 115 | export function createCompletionResultItemFromResponse( | CODE |
| LOW | …ompletion/postprocess/trimMultiLineInSingleLineMode.ts | 5 | export function trimMultiLineInSingleLineMode(): PostprocessFilter { | CODE |
| LOW | …letion/postprocess/removeDuplicatedBlockClosingLine.ts | 8 | export function removeDuplicatedBlockClosingLine(): PostprocessFilter { | CODE |
| LOW | …deCompletion/postprocess/removeDuplicateSuffixLines.ts | 6 | export function removeDuplicateSuffixLines(): PostprocessFilter { | CODE |
| LOW | …Completion/postprocess/removeLineEndsWithRepetition.ts | 10 | export function removeLineEndsWithRepetition(): PostprocessFilter { | CODE |
| LOW | …abby-agent/src/codeCompletion/postprocess/testUtils.ts | 51 | export async function assertFilterResultNotEqual( | CODE |
| LOW | clients/vscode/src/findSymbols.ts | 54 | function convertToSymbolInformation(symbols: (DocumentSymbol | SymbolInformation)[]): SymbolInformation[] { | CODE |
| LOW | clients/vscode/src/findFiles.ts | 29 | function gitIgnoreItemToExcludePatterns(item: string, prefix?: string | undefined): string[] { | CODE |
| LOW | clients/vscode/src/chat/utils.ts | 17 | export function isValidForSyncActiveEditorSelection(editor: TextEditor): boolean { | CODE |
| LOW | clients/vscode/src/chat/utils.ts | 27 | export function localUriToChatPanelFilepath(uri: Uri, gitProvider: GitProvider): Filepath { | CODE |
| LOW | clients/vscode/src/chat/utils.ts | 70 | export function chatPanelFilepathToLocalUri(filepath: Filepath, gitProvider: GitProvider): Uri | null { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 108 | export function vscodePositionToChatPanelPosition(position: VSCodePosition): ChatPanelPosition { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 115 | export function chatPanelPositionToVSCodePosition(position: ChatPanelPosition): VSCodePosition { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 119 | export function vscodeRangeToChatPanelPositionRange(range: VSCodeRange): PositionRange { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 126 | export function chatPanelPositionRangeToVSCodeRange(positionRange: PositionRange): VSCodeRange { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 133 | export function chatPanelLineRangeToVSCodeRange(lineRange: LineRange): VSCodeRange { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 138 | export function vscodeRangeToChatPanelLineRange(range: VSCodeRange): LineRange { | CODE |
| LOW⚡ | clients/vscode/src/chat/utils.ts | 145 | export function chatPanelLocationToVSCodeRange(location: Location | undefined): VSCodeRange | null { | CODE |
| LOW | clients/vscode/src/chat/utils.ts | 168 | function isJupyterNotebookFilepath(uri: Uri): boolean { | CODE |
| LOW | clients/vscode/src/chat/utils.ts | 187 | function convertFromNotebookCellUri(uri: Uri): Uri { | CODE |
| LOW | clients/vscode/src/lsp/WorkspaceFeature.ts | 83 | function applyTextEditMinimalLineChange(editBuilder: TextEditorEdit, textEdit: TextEdit, document: TextDocument) { | CODE |
| LOW | experimental/prompt-rewrite-eval/evaluator.py | 60 | def generate_completion_segments(args): | CODE |
| LOW | python/tabby/trainer.py | 77 | def _read_dataset_into_buffer(self): | CODE |
| LOW | …h/signin/components/reset-password-request-section.tsx | 11 | export default function ResetPasswordRequestSection() { | CODE |
| LOW | ee/tabby-ui/app/search/components/search.tsx | 1139 | function formatThreadRunErrorMessage(error?: ExtendedCombinedError) { | CODE |
| LOW | ee/tabby-ui/app/files/components/utils.ts | 26 | function getProviderVariantFromKind(kind: RepositoryKind) { | CODE |
| LOW | ee/tabby-ui/app/files/components/utils.ts | 30 | function resolveRepositoryInfoFromPath(path: string | undefined): { | CODE |
| LOW | ee/tabby-ui/app/files/components/utils.ts | 123 | function getDirectoriesFromBasename( | CODE |
| LOW | ee/tabby-ui/app/files/components/utils.ts | 139 | function resolveRepoSpecifierFromRepoInfo( | CODE |
| LOW | ee/tabby-ui/app/files/components/utils.ts | 165 | function encodeURIComponentIgnoringSlash(str: string) { | CODE |
| LOW | …/lib/action-bar-widget/action-bar-widget-extension.tsx | 83 | function shouldShowActionBarWidget(transaction: Transaction): boolean { | CODE |
| LOW | …by-ui/app/files/lib/editor-search-extension/search.tsx | 78 | function getMatchIndexForSelection( | CODE |
| LOW | …/files/lib/line-menu-extension/line-menu-extension.tsx | 144 | function selectedLinesGutterHighlighter(field: StateField<SelectedLinesRange>) { | CODE |
| LOW | …/files/lib/line-menu-extension/line-menu-extension.tsx | 197 | function getMarkersFromSelectedLinesField(view: EditorView) { | CODE |
| LOW | …d)/settings/(integrations)/providers/[kind]/layout.tsx | 14 | export default function IntegrationProviderLayout({ | CODE |
| LOW | …providers/[kind]/detail/components/provider-detail.tsx | 724 | function useAllInactiveRepositories(id: string, kind: IntegrationKind) { | CODE |
| LOW | …-ui/components/codemirror/code-tag-widget-extension.ts | 143 | export function getCodeTagWidgetExtension( | CODE |
| LOW | ee/tabby-ui/components/chat/question-answer.tsx | 608 | function AssistantMessageCardActions(props: AssistantMessageActionProps) { | CODE |
| LOW | ee/tabby-ui/components/chat/question-answer.tsx | 656 | function ChatMessageActionsWrapper({ | CODE |
| LOW | ee/tabby-ui/components/chat/chat.tsx | 960 | function formatThreadRunErrorMessage(error: ExtendedCombinedError | undefined) { | CODE |
| LOW | ee/tabby-ui/components/chat/form-editor/helper.ts | 8 | export function extractRepoNameFromGitUrl(gitUrl: string): string { | CODE |
| LOW | ee/tabby-ui/components/chat/form-editor/utils.tsx | 66 | export function replaceAtMentionPlaceHolderWithAt(value: string) { | CODE |
| LOW | ee/tabby-ui/components/chat/form-editor/utils.tsx | 100 | export function getFilepathStringByChatPanelFilePath( | CODE |
| LOW | ee/tabby-ui/components/chat/form-editor/utils.tsx | 110 | export function convertTextToTiptapContent( | CODE |
| LOW | ee/tabby-ui/components/chat/form-editor/utils.tsx | 221 | export function isSameEntireFileContextFromMention( | CODE |
| LOW | ee/tabby-ui/components/chat/git/utils.tsx | 10 | export function convertChangesToGitChanges(changes: ChangeItem[]): GitChange[] { | CODE |
| LOW | …omponents/message-markdown/custom-strip-tags-plugin.ts | 5 | function createTagFilterExpression(tagNames: string[]): RegExp { | CODE |
| LOW | ee/tabby-ui/lib/utils/markdown.ts | 52 | export function parseMarkdownWithContextCommands(input: string): string { | CODE |
| LOW | ee/tabby-ui/lib/utils/markdown.ts | 63 | export function convertContextBlockToPlaceholder(input: string): string { | CODE |
| LOW | ee/tabby-ui/lib/utils/markdown.ts | 75 | export function formatObjectToMarkdownBlock( | CODE |
| LOW | ee/tabby-ui/lib/utils/markdown.ts | 119 | export function convertChangeItemsToContextContent( | CODE |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ee/tabby-ui/test/utils/markdown.test.ts | 246 | const newUser = createUser("John Doe", "john@example.com"); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 11 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 27 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 45 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 66 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 80 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 91 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 102 | expect(result?.placeholderNode.type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 143 | expect(result.children[0].children[1].type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 174 | expect(result.children[0].children[1].type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 178 | expect(result.children[0].children[3].type).toBe('placeholder'); | CODE |
| LOW | …/tabby-ui/test/utils/remark-placeholder-parser.test.ts | 263 | expect(paragraphNode.children[1].type).toBe('placeholder'); | CODE |
| LOW | …-ui/test/utils/remark-codeblock-to-placeholder.test.ts | 82 | expect(result.type).toBe('placeholder') | CODE |
| LOW⚡ | …-ui/test/utils/remark-codeblock-to-placeholder.test.ts | 97 | expect(result.type).toBe('placeholder') | CODE |
| LOW⚡ | …-ui/test/utils/remark-codeblock-to-placeholder.test.ts | 106 | expect(result.type).toBe('placeholder') | CODE |
| LOW⚡ | …-ui/test/utils/remark-codeblock-to-placeholder.test.ts | 115 | expect(result.type).toBe('placeholder') | CODE |
| LOW⚡ | …-ui/test/utils/remark-codeblock-to-placeholder.test.ts | 124 | expect(result.type).toBe('placeholder') | CODE |
| LOW | …/lib/utils/markdown/remark-codeblock-to-placeholder.ts | 18 | type: 'placeholder', | CODE |
| LOW | …/lib/utils/markdown/remark-codeblock-to-placeholder.ts | 106 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 10 | type: 'placeholder' | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 43 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 61 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 75 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 88 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 101 | type: 'placeholder', | CODE |
| LOW | …bby-ui/lib/utils/markdown/remark-placeholder-parser.ts | 113 | type: 'placeholder', | CODE |
| LOW | …server/ui/_next/static/chunks/9505.8db27f67df404d9a.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9505],{59505:function(e,t,a){a.r(t),a.d(t,{autoClo | CODE |
| LOW | …server/ui/_next/static/chunks/6520.c41bfe83286324b2.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6520],{26520:function(e,O,t){t.r(O),t.d(O,{css:fun | CODE |
| LOW⚡ | …server/ui/_next/static/chunks/4691-3ed340b4558906b1.js | 1 | (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4691],{37061:function(e,t,r){"use strict";function n(){for(var | CODE |
| LOW | …server/ui/_next/static/chunks/3492-7ca10e8ef6aab493.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3492],{74038:function(e,n,i){i.d(n,{Bt:function(){ | CODE |
| LOW | …server/ui/_next/static/chunks/9860-b2cab0e640a501ef.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9860],{31022:function(e,t,n){function o(e){if(null | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1318 | .create_user("admin@example.com".into(), None, true, None) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1324 | .create_user("user@example.com".into(), None, false, None) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1349 | .create_user("admin@example.com".into(), None, true, None) | CODE |
| LOW⚡ | ee/tabby-webserver/src/service/auth.rs | 1372 | .create_user("user@example.com".into(), Some("pass".into()), true, None) | CODE |
| LOW⚡ | ee/tabby-webserver/src/service/auth.rs | 1375 | let user = service.get_user_by_email("user@example.com").await.unwrap(); | CODE |
| LOW⚡ | ee/tabby-webserver/src/service/auth.rs | 1378 | .request_password_reset_email("user@example.com".into()) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1407 | .request_password_reset_email("user@example.com".into()) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1892 | .create_invitation("user@example.com".into()) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1926 | .create_invitation("user@example.com".into()) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1960 | user_email: "user@example.com".into(), | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1965 | .create_invitation("user@example.com".into()) | CODE |
| LOW | ee/tabby-webserver/src/service/auth.rs | 1985 | user_email: "user@example.com".into(), | CODE |
| LOW | ee/tabby-webserver/src/service/auth/testutils.rs | 36 | email: "user@example.com".to_string(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | experimental/scheduler/completion.py | 1 | CODE | |
| LOW | experimental/scheduler/completion.py | 4 | CODE | |
| LOW | experimental/scheduler/search.py | 3 | CODE | |
| LOW | experimental/eval/tabby.py | 1 | CODE | |
| LOW | experimental/eval/tabby.py | 3 | CODE | |
| LOW | experimental/eval/tabby.py | 4 | CODE | |
| LOW | experimental/eval/tabby.py | 4 | CODE | |
| LOW | experimental/eval/tabby.py | 4 | CODE | |
| LOW | experimental/eval/tabby.py | 89 | CODE | |
| LOW | …al/tabby-python-client/tabby_python_client/__init__.py | 2 | CODE | |
| LOW | …al/tabby-python-client/tabby_python_client/__init__.py | 2 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 3 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 4 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 5 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 6 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 7 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 8 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 9 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 10 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 11 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 12 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 13 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 14 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 15 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 16 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 17 | CODE | |
| LOW | …y-python-client/tabby_python_client/models/__init__.py | 18 | CODE | |
| LOW | experimental/supervisor/app.py | 10 | CODE | |
| LOW | …al/tabby_python_client/tabby_python_client/__init__.py | 2 | CODE | |
| LOW | …al/tabby_python_client/tabby_python_client/__init__.py | 2 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 3 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 4 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 5 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 6 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 7 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 8 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 9 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 10 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 11 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 12 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 13 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 14 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 15 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 16 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 17 | CODE | |
| LOW | …y_python_client/tabby_python_client/models/__init__.py | 18 | CODE | |
| LOW | …te/docs/references/cloud-deployment/bentoml/service.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/tabby-agent/src/chat/utils.ts | 221 | } | COMMENT |
| LOW | clients/tabby-agent/src/config/configFile.ts | 21 | # [server] | COMMENT |
| LOW | crates/ollama-api-bindings/src/model.rs | 21 | async fn get_first_available_model(&self) -> Result<Option<String>>; | COMMENT |
| LOW | crates/http-api-bindings/src/embedding/azure.rs | 41 | /// | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/lib.rs | 1 | //! With [sqlx] and its [sqlx::migrate!] macro it is possible to create migrations and apply them to a database. | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/validate.rs | 21 | /// | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/validate.rs | 41 | C: Migrate; | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/validate.rs | 61 | /// | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/validate.rs | 81 | /// # Examples | COMMENT |
| LOW | crates/sqlx-migrate-validate/src/validate.rs | 121 | /// ```rust,no_run | COMMENT |
| LOW | crates/tabby-common/src/config.rs | 301 | #[derive(Serialize, Deserialize, Builder, Debug, Clone)] | COMMENT |
| LOW | crates/tabby-common/src/index/mod.rs | 21 | /// | corpus | <--- A group of documents, each document has a unique | COMMENT |
| LOW | crates/tabby/src/services/completion.rs | 141 | COMMENT | |
| LOW | crates/tabby/src/services/completion.rs | 161 | /// When provided alongside [Segments::declarations], the snippets have | COMMENT |
| LOW | ee/tabby-ui/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | …-ui/components/codemirror/code-tag-widget-extension.ts | 181 | // const { name_range, syntax_type_name } = item | COMMENT |
| LOW | …-ui/components/codemirror/code-tag-widget-extension.ts | 201 | // <span> | COMMENT |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 1 | // import { Extension, StateEffect, StateField } from '@codemirror/state' | COMMENT |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 21 | // to: change.mapPos(to) | COMMENT |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 41 | // filter: () => false | COMMENT |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 61 | COMMENT | |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 81 | // } | COMMENT |
| LOW | ee/tabby-ui/components/codemirror/hover-highlight.ts | 101 | // }) | COMMENT |
| LOW | ee/tabby-schema/src/juniper/relay/node_type.rs | 1 | use std::str::FromStr; | COMMENT |
| LOW | website/blog/2023-10-14-seed-round-release-0-3-0-RAG.md | 21 | A blog series detailing the technical designs of retrieval-augmented code completion will be published soon. Stay tuned! | COMMENT |
| LOW | …-10-16-repository-context-for-code-completion/index.md | 101 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …er/ui/_next/static/chunks/21c8b353-925bb40fc9c4670c.js | 9 | */var r,l=n(3546),a=n(71306),i={usingClientEntryPoint:!1,Events:null,Dispatcher:{current:null}};function o(e){for(var t | COMMENT |
| MEDIUM | …er/ui/_next/static/chunks/21c8b353-925bb40fc9c4670c.js | 9 | */var r,l=n(3546),a=n(71306),i={usingClientEntryPoint:!1,Events:null,Dispatcher:{current:null}};function o(e){for(var t | COMMENT |
| MEDIUM | …server/ui/_next/static/chunks/9505.8db27f67df404d9a.js | 1 | "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9505],{59505:function(e,t,a){a.r(t),a.d(t,{autoClo | CODE |
| MEDIUM | …server/ui/_next/static/chunks/7003-05c7a4c5b4e5989f.js | 6 | */e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.i | COMMENT |
| MEDIUM | …server/ui/_next/static/chunks/2928-98ebfedf06caf8e1.js | 8 | */var a=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},o={manual:e.Prism&&e.Prism.manual,disableW | COMMENT |
| MEDIUM | …r/ui/_next/static/chunks/framework-d01b68062ece2457.js | 9 | */var r,l,a,u,o,i,s=t(52983),c=t(35655);function f(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant= | COMMENT |
| MEDIUM | …r/ui/_next/static/chunks/framework-d01b68062ece2457.js | 9 | */var r,l,a,u,o,i,s=t(52983),c=t(35655);function f(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant= | COMMENT |
| MEDIUM | …ervice/background_job/third_party_integration/pulls.rs | 266 | // we must utilize the `List pull requests files` API to retrieve the diff, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | experimental/eval/tabby.py | 62 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | experimental/supervisor/app.py | 47 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | python/tabby-loadtest/server.py | 86 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | python/tabby-eval/modal/predict.py | 83 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | website/docs/references/cloud-deployment/modal/app.py | 83 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | …te/docs/references/cloud-deployment/bentoml/service.py | 34 | # Check if launcher webserving process has exited. | COMMENT |
| LOW | .github/workflows/release.yml | 272 | # Check if the file has an extension | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | clients/tabby-openapi/openapi.json | 1 | {"openapi":"3.0.3","info":{"title":"Tabby Server","description":"\n[ is a company that develops large language models and offers them through the | CODE |
| MEDIUM | website/blog/2023-10-14-seed-round-release-0-3-0-RAG.md | 8 | # Announcing our $3.2M seed round, and the long-awaited RAG release in Tabby v0.3.0 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/eval/tabby-python-client/tabby_python_client/types.py | 44 | __all__ = ["File", "Response", "FileJsonType"] | CODE |
| LOW | …eval/tabby-python-client/tabby_python_client/errors.py | 14 | __all__ = ["UnexpectedStatus"] | CODE |
| LOW | …modal/tabby_python_client/tabby_python_client/types.py | 44 | __all__ = ["File", "Response", "FileJsonType"] | CODE |
| LOW | …odal/tabby_python_client/tabby_python_client/errors.py | 14 | __all__ = ["UnexpectedStatus"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | experimental/prompt-rewrite-eval/evaluator.py | 60 | CODE | |
| LOW | python/tabby-eval/modal/predict.py | 162 | CODE | |
| LOW | python/tabby/trainer.py | 77 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tabby-eval/modal/predict.py | 133 | except Exception as e: | CODE |