Scan timing: clone 3.56s · analysis 32.75s · 5.6 MB · GitHub preflight 459ms
https://github.com/braintrustdata/braintrust-proxy
· scanned 2026-06-05 19:27 UTC (1 week, 2 days ago)
· 10 languages
228 raw signals (80 security + 148 graph) 58th percentile · Typescript · medium (20-100K LoC) System graph score 82 (lower by 14)
Last scanned 1 week, 2 days ago · v2 · 133 actionable findings from 2 signal sources. 21 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
75.0 | 0.15 | 11.25 |
security_score |
43.9 | 0.25 | 10.97 |
testing_score |
85.0 | 0.20 | 17.00 |
documentation_score |
59.7 | 0.15 | 8.96 |
practices_score |
89.0 | 0.15 | 13.35 |
code_quality |
67.2 | 0.10 | 6.72 |
| Overall | 1.00 | 68.2 |
All 753 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
createInMemoryCache |
software | healthy | packages/proxy/edge/index.test.ts:createInMemoryCache |
getCorsHeaders |
software | healthy | packages/proxy/edge/index.ts:getCorsHeaders |
handleOptions |
software | healthy | packages/proxy/edge/index.ts:handleOptions |
digestMessage |
software | healthy | packages/proxy/edge/index.ts:digestMessage |
isRecord |
software | healthy | packages/proxy/edge/index.ts:isRecord |
makeFetchApiSecrets |
software | healthy | packages/proxy/edge/index.ts:makeFetchApiSecrets |
EdgeProxyV1 |
software | healthy | packages/proxy/edge/index.ts:EdgeProxyV1 |
setStatus |
software | healthy | packages/proxy/edge/index.ts:setStatus |
setHeader |
software | healthy | packages/proxy/edge/index.ts:setHeader |
cacheGet |
software | healthy | packages/proxy/edge/index.ts:cacheGet |
cachePut |
software | healthy | packages/proxy/edge/index.ts:cachePut |
encryptedGet |
software | healthy | packages/proxy/edge/index.ts:encryptedGet |
encryptedPut |
software | healthy | packages/proxy/edge/index.ts:encryptedPut |
fileToBase64 |
software | healthy | packages/proxy/tests/fixtures/base64.ts:fileToBase64 |
isFieldManuallyPreserved |
software | healthy | packages/proxy/scripts/sync_models.ts:isFieldManuallyPreser… |
isSupportedRemoteModel |
software | healthy | packages/proxy/scripts/sync_models.ts:isSupportedRemoteModel |
fetchRemoteModels |
software | healthy | packages/proxy/scripts/sync_models.ts:fetchRemoteModels |
readLocalModels |
software | healthy | packages/proxy/scripts/sync_models.ts:readLocalModels |
canonicalizeLocalModelsContent |
software | healthy | packages/proxy/scripts/sync_models.ts:canonicalizeLocalMode… |
getJsonPropertyName |
software | healthy | packages/proxy/scripts/sync_models.ts:getJsonPropertyName |
findDuplicateJsonKeys |
software | healthy | packages/proxy/scripts/sync_models.ts:findDuplicateJsonKeys |
visit |
software | healthy | packages/proxy/scripts/sync_models.ts:visit |
resolveRemoteModels |
software | healthy | packages/proxy/scripts/sync_models.ts:resolveRemoteModels |
mergeLocalModelDetails |
software | healthy | packages/proxy/scripts/sync_models.ts:mergeLocalModelDetails |
getUpdatedAvailableProviders |
software | healthy | packages/proxy/scripts/sync_models.ts:getUpdatedAvailablePr… |
normalizeLocalModels |
software | healthy | packages/proxy/scripts/sync_models.ts:normalizeLocalModels |
reorderModelProperties |
software | healthy | packages/proxy/scripts/sync_models.ts:reorderModelProperties |
writeLocalModels |
software | healthy | packages/proxy/scripts/sync_models.ts:writeLocalModels |
getNonZeroNumber |
software | healthy | packages/proxy/scripts/sync_models.ts:getNonZeroNumber |
isProviderMappingEntryEnd |
software | healthy | packages/proxy/scripts/sync_models.ts:isProviderMappingEntr… |
findProviderMappingEntryRange |
software | healthy | packages/proxy/scripts/sync_models.ts:findProviderMappingEn… |
normalizeProviderMappingContent |
software | healthy | packages/proxy/scripts/sync_models.ts:normalizeProviderMapp… |
normalizeProviderMappingsFile |
software | healthy | packages/proxy/scripts/sync_models.ts:normalizeProviderMapp… |
formatProviderMappingProviders |
software | healthy | packages/proxy/scripts/sync_models.ts:formatProviderMapping… |
updateProviderMapping |
software | healthy | packages/proxy/scripts/sync_models.ts:updateProviderMapping |
convertRemoteToLocalModel |
software | healthy | packages/proxy/scripts/sync_models.ts:convertRemoteToLocalM… |
roundCost |
software | healthy | packages/proxy/scripts/sync_models.ts:roundCost |
getOptimalModelOrderingFromClaude |
software | healthy | packages/proxy/scripts/sync_models.ts:getOptimalModelOrderi… |
callClaudeWithSpawn |
software | healthy | packages/proxy/scripts/sync_models.ts:callClaudeWithSpawn |
rebuildCompleteModelList |
software | healthy | packages/proxy/scripts/sync_models.ts:rebuildCompleteModelL… |
findMissingCommand |
software | healthy | packages/proxy/scripts/sync_models.ts:findMissingCommand |
updateModelsCommand |
software | healthy | packages/proxy/scripts/sync_models.ts:updateModelsCommand |
reportModelIfNeeded |
software | healthy | packages/proxy/scripts/sync_models.ts:reportModelIfNeeded |
checkAndUpdateCost |
software | healthy | packages/proxy/scripts/sync_models.ts:checkAndUpdateCost |
checkAndUpdateTokenLimit |
software | healthy | packages/proxy/scripts/sync_models.ts:checkAndUpdateTokenLi… |
checkAndUpdateDeprecationDate |
software | healthy | packages/proxy/scripts/sync_models.ts:checkAndUpdateDepreca… |
currentProviders |
software | healthy | packages/proxy/scripts/sync_models.ts:currentProviders |
addModelsCommand |
software | healthy | packages/proxy/scripts/sync_models.ts:addModelsCommand |
normalizeLocalModelsCommand |
software | healthy | packages/proxy/scripts/sync_models.ts:normalizeLocalModelsC… |
main |
software | healthy | packages/proxy/scripts/sync_models.ts:main |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
package.json |
software | healthy | package.json |
vitest.config.js |
software | warning | vitest.config.js |
mise.toml |
software | healthy | mise.toml |
.gitleaks.toml |
software | healthy | .gitleaks.toml |
turbo.json |
software | healthy | turbo.json |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
.eslintrc.json |
software | healthy | .eslintrc.json |
generated_types.json |
software | healthy | packages/proxy/generated_types.json |
package.json |
software | healthy | packages/proxy/package.json |
vitest.config.js |
software | warning | packages/proxy/vitest.config.js |
turbo.json |
software | healthy | packages/proxy/turbo.json |
tsup.config.ts |
software | warning | packages/proxy/tsup.config.ts |
tsconfig.json |
software | healthy | packages/proxy/tsconfig.json |
index.test.ts |
software | healthy | packages/proxy/edge/index.test.ts |
index.ts |
software | healthy | packages/proxy/edge/index.ts |
index.metrics.test.ts |
software | warning | packages/proxy/edge/index.metrics.test.ts |
index.ts |
software | healthy | packages/proxy/types/index.ts |
openai.ts |
software | warning | packages/proxy/types/openai.ts |
google.ts |
software | warning | packages/proxy/types/google.ts |
anthropic.ts |
software | warning | packages/proxy/types/anthropic.ts |
text.md |
software | healthy | packages/proxy/tests/fixtures/text.md |
base64.ts |
software | healthy | packages/proxy/tests/fixtures/base64.ts |
model_name_translation.test.ts |
software | warning | packages/proxy/scripts/model_name_translation.test.ts |
sync_models.ts |
software | healthy | packages/proxy/scripts/sync_models.ts |
sync_model_catalog.ts |
software | healthy | packages/proxy/scripts/sync_model_catalog.ts |
verify_proxy_models.ts |
software | healthy | packages/proxy/scripts/verify_proxy_models.ts |
sync_model_catalog.test.ts |
software | warning | packages/proxy/scripts/sync_model_catalog.test.ts |
sync_vertex_regions.ts |
software | healthy | packages/proxy/scripts/sync_vertex_regions.ts |
cloudflare_worker_media_test.ts |
software | healthy | packages/proxy/scripts/cloudflare_worker_media_test.ts |
verify_proxy_models.test.ts |
software | warning | packages/proxy/scripts/verify_proxy_models.test.ts |
fix_bot_issue.test.ts |
software | healthy | packages/proxy/scripts/fix_bot_issue.test.ts |
generate_types.ts |
software | healthy | packages/proxy/scripts/generate_types.ts |
collect_changed_model_ids.ts |
software | healthy | packages/proxy/scripts/collect_changed_model_ids.ts |
sync_models.test.ts |
software | warning | packages/proxy/scripts/sync_models.test.ts |
model_name_translation.ts |
software | healthy | packages/proxy/scripts/model_name_translation.ts |
tsconfig.json |
software | healthy | packages/proxy/scripts/tsconfig.json |
fix_bot_issue.ts |
software | healthy | packages/proxy/scripts/fix_bot_issue.ts |
collect_changed_model_ids.test.ts |
software | warning | packages/proxy/scripts/collect_changed_model_ids.test.ts |
tempCredentials.ts |
software | healthy | packages/proxy/utils/tempCredentials.ts |
audioEncoder.ts |
software | healthy | packages/proxy/utils/audioEncoder.ts |
tests.ts |
software | healthy | packages/proxy/utils/tests.ts |
index.ts |
software | healthy | packages/proxy/utils/index.ts |
openai.ts |
software | healthy | packages/proxy/utils/openai.ts |
encrypt.test.ts |
software | warning | packages/proxy/utils/encrypt.test.ts |
tempCredentials.test.ts |
software | healthy | packages/proxy/utils/tempCredentials.test.ts |
encrypt.ts |
software | healthy | packages/proxy/utils/encrypt.ts |
media-types.ts |
software | healthy | packages/proxy/schema/media-types.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
PR_TITLE |
cicd | healthy | — |
OPENAI_API_KEY |
cicd | healthy | — |
METRICS_LICENSE_KEY |
cicd | healthy | — |
STORE_PATH |
cicd | healthy | — |
VERCEL_AUTOMATION_BYPASS_SECRET |
cicd | healthy | — |
GROQ_API_KEY |
cicd | healthy | — |
MISTRAL_API_KEY |
cicd | healthy | — |
BRAINTRUST_API_KEY |
cicd | healthy | — |
CLOUDFLARE_KV_ID |
cicd | healthy | — |
BLOCKED_LABEL |
cicd | healthy | — |
TEST_CLOUDFLARE_ACCOUNT_ID |
cicd | healthy | — |
AZURE_OPENAI_API_KEY |
cicd | healthy | — |
PERPLEXITY_API_KEY |
cicd | healthy | — |
CLOUDFLARE_API_TOKEN |
cicd | healthy | — |
PR_BODY |
cicd | healthy | — |
LEPTON_API_KEY |
cicd | healthy | — |
BASETEN_API_KEY |
cicd | healthy | — |
BATCH_DIR |
cicd | healthy | — |
ANTHROPIC_API_KEY |
cicd | healthy | — |
AZURE_OPENAI_API_VERSION |
cicd | healthy | — |
FIREWORKS_API_KEY |
cicd | healthy | — |
NATIVE_INFERENCE_SECRET_KEY |
cicd | healthy | — |
CLOUDFLARE_ACCOUNT_ID |
cicd | healthy | — |
CEREBRAS_API_KEY |
cicd | healthy | — |
BEDROCK_API_KEY |
cicd | healthy | — |
GEMINI_API_KEY |
cicd | healthy | — |
COMMIT_MESSAGE |
cicd | healthy | — |
AZURE_OPENAI_ENDPOINT |
cicd | healthy | — |
BRANCH_NAME |
cicd | healthy | — |
TEST_CLOUDFLARE_API_TOKEN |
cicd | healthy | — |
REPLICATE_API_KEY |
cicd | healthy | — |
XAI_API_KEY |
cicd | healthy | — |
TOGETHER_API_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
packages |
software | healthy | packages |
proxy |
software | healthy | packages/proxy |
edge |
software | healthy | packages/proxy/edge |
types |
software | healthy | packages/proxy/types |
tests |
software | healthy | packages/proxy/tests |
fixtures |
software | healthy | packages/proxy/tests/fixtures |
scripts |
software | healthy | packages/proxy/scripts |
utils |
software | healthy | packages/proxy/utils |
schema |
software | healthy | packages/proxy/schema |
providers |
software | healthy | packages/proxy/providers |
src |
software | healthy | packages/proxy/src |
providers |
software | healthy | packages/proxy/src/providers |
py |
software | healthy | py |
braintrust_proxy |
software | healthy | py/braintrust_proxy |
openai |
software | healthy | py/braintrust_proxy/openai |
apis |
software | healthy | apis |
node |
software | healthy | apis/node |
src |
software | healthy | apis/node/src |
cloudflare |
software | healthy | apis/cloudflare |
src |
software | healthy | apis/cloudflare/src |
vercel |
software | healthy | apis/vercel |
components |
software | healthy | apis/vercel/components |
app |
software | healthy | apis/vercel/app |
api |
software | healthy | apis/vercel/app/api |
v1 |
software | healthy | apis/vercel/app/api/v1 |
[...slug] |
software | healthy | apis/vercel/app/api/v1/[...slug] |
ping |
software | healthy | apis/vercel/app/api/ping |
lib |
software | healthy | apis/vercel/lib |
pages |
software | healthy | apis/vercel/pages |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
CaptureOnlyError |
software | healthy | packages/proxy/utils/tests.ts:CaptureOnlyError |
PrometheusSerializer |
software | healthy | packages/proxy/src/PrometheusSerializer.ts:PrometheusSerial… |
ProxyBadRequestError |
software | healthy | packages/proxy/src/util.ts:ProxyBadRequestError |
NoopMeter |
software | healthy | packages/proxy/src/metrics.ts:NoopMeter |
NoopMeterProvider |
software | healthy | packages/proxy/src/metrics.ts:NoopMeterProvider |
MockResolver |
software | healthy | packages/proxy/src/providers/util.test.ts:MockResolver |
Reasoning |
software | healthy | py/braintrust_proxy/openai/types.py:12 |
ChatCompletionAssistantMessageParam |
software | healthy | py/braintrust_proxy/openai/types.py:17 |
ReasoningModel |
software | healthy | py/braintrust_proxy/openai/models.py:5 |
ChoiceDelta |
software | healthy | py/braintrust_proxy/openai/models.py:10 |
TTLCache |
software | healthy | apis/node/src/login.ts:TTLCache |
to |
software | healthy | apis/cloudflare/src/realtime-logger.ts:to |
AudioBuffer |
software | healthy | apis/cloudflare/src/realtime-logger.ts:AudioBuffer |
that |
software | healthy | apis/cloudflare/src/realtime-logger.ts:that |
OpenAiRealtimeLogger |
software | healthy | apis/cloudflare/src/realtime-logger.ts:OpenAiRealtimeLogger |
FlushingHttpMetricExporter |
software | healthy | apis/cloudflare/src/exporter.ts:FlushingHttpMetricExporter |
| Label | Layer | Status | Path |
|---|---|---|---|
169.254.169.254 |
network | healthy | packages/proxy/scripts/cloudflare_worker_media_test.ts |
127.0.0.1 |
network | healthy | packages/proxy/scripts/cloudflare_worker_media_test.ts |
10.0.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
100.64.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
127.0.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
169.254.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
172.16.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
192.0.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
192.168.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
198.18.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
224.0.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
240.0.0.0 |
network | healthy | packages/proxy/src/providers/util.ts |
93.184.216.34 |
network | healthy | packages/proxy/src/providers/util.test.ts |
10.0.0.5 |
network | healthy | packages/proxy/src/providers/util.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
fix |
cicd | healthy | .github/workflows/fix-missing-model-bot-issues.yaml |
deploy |
cicd | healthy | .github/workflows/deploy-cloudflare.yaml |
sync |
cicd | healthy | .github/workflows/agent-provider-model-sync.yaml |
build |
cicd | healthy | .github/workflows/js.yaml |
test |
cicd | healthy | .github/workflows/js.yaml |
cloudflare-worker-media |
cicd | healthy | .github/workflows/js.yaml |
verify |
cicd | healthy | .github/workflows/verify-deployed-models.yaml |
prepare |
cicd | healthy | .github/workflows/verify-deployed-models-on-vercel-comment.… |
verify |
cicd | healthy | .github/workflows/verify-deployed-models-on-vercel-comment.… |
comment |
cicd | healthy | .github/workflows/verify-deployed-models-on-vercel-comment.… |
sync |
cicd | healthy | .github/workflows/sync-models.yaml |
lint |
cicd | healthy | .github/workflows/lint.yaml |
reject-npm-lockfile |
cicd | healthy | .github/workflows/enforce-pnpm.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::packages/proxy/src/providers/databricks.ts |
security | healthy | packages/proxy/src/providers/databricks.ts |
auth::packages/proxy/schema/secrets.ts |
security | healthy | packages/proxy/schema/secrets.ts |
auth::packages/proxy/generated_types.json |
security | healthy | packages/proxy/generated_types.json |
auth::packages/proxy/utils/tempCredentials.ts |
security | healthy | packages/proxy/utils/tempCredentials.ts |
auth::apis/cloudflare/src/realtime.ts |
security | healthy | apis/cloudflare/src/realtime.ts |
auth::packages/proxy/src/providers/openai.test.ts |
security | healthy | packages/proxy/src/providers/openai.test.ts |
auth::packages/proxy/schema/index.test.ts |
security | healthy | packages/proxy/schema/index.test.ts |
auth::packages/proxy/src/proxy.ts |
security | healthy | packages/proxy/src/proxy.ts |
auth::packages/proxy/utils/tempCredentials.test.ts |
security | healthy | packages/proxy/utils/tempCredentials.test.ts |
auth::packages/proxy/edge/index.ts |
security | healthy | packages/proxy/edge/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::fix-missing-model-bot-issues |
cicd | healthy | .github/workflows/fix-missing-model-bot-issues.yaml |
gha::deploy-cloudflare |
cicd | healthy | .github/workflows/deploy-cloudflare.yaml |
gha::agent-provider-model-sync |
cicd | healthy | .github/workflows/agent-provider-model-sync.yaml |
gha::js |
cicd | healthy | .github/workflows/js.yaml |
gha::verify-deployed-models |
cicd | healthy | .github/workflows/verify-deployed-models.yaml |
gha::verify-deployed-models-on-vercel-comment |
cicd | healthy | .github/workflows/verify-deployed-models-on-vercel-comment.… |
gha::sync-models |
cicd | healthy | .github/workflows/sync-models.yaml |
gha::lint |
cicd | healthy | .github/workflows/lint.yaml |
gha::enforce-pnpm |
cicd | healthy | .github/workflows/enforce-pnpm.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:64 |
network | healthy | pnpm-lock.yaml |
port:16 |
network | healthy | pnpm-lock.yaml |
port:18 |
network | healthy | packages/proxy/scripts/cloudflare_worker_media_test.ts |
port:8001 |
network | healthy | apis/node/src/local.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
Headers |
frontend | healthy | apis/vercel/components/headers.tsx |
RootLayout |
frontend | healthy | apis/vercel/app/layout.tsx |
Index |
frontend | healthy | apis/vercel/pages/index.tsx |
MyApp |
frontend | healthy | apis/vercel/pages/_app.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /proxy/v1/*splat |
api | healthy | apis/node/src/local.ts |
POST /proxy/v1/*splat |
api | healthy | apis/node/src/local.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | pnpm-lock.yaml |
vps::azure |
hardware | healthy | packages/proxy/scripts/sync_model_catalog.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | apis/vercel/pages/index.tsx |
/_app |
frontend | healthy | apis/vercel/pages/_app.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-khnugene |
software | healthy | /tmp/repobility-clone-khnugene |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | pnpm-lock.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | packages/proxy/schema/model_list.json |
This page is publicly accessible at:
https://repobility.com/scan/5b431bf3-77c6-490a-ab4d-1f966b8ba37c/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/5b431bf3-77c6-490a-ab4d-1f966b8ba37c/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.