Repository Analysis

vercel-labs/open-agents

An open source template for building cloud agents.

3.4 Likely human-written View on GitHub
3.4
Adjusted Score
3.4
Raw Score
100%
Time Factor
2026-05-26
Last Push
5,566
Stars
TypeScript
Language
118,192
Lines of Code
689
Files
290
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 52LOW 238

Pattern Findings

290 matches across 5 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers219 hits · 222 pts
SeverityFileLineSnippet
LOWpackages/agent/usage.ts143export function collectTaskToolUsageEvents(
LOWpackages/agent/open-agent.ts54function normalizeAgentModelSelection(
LOWpackages/agent/models.ts12function supportsAdaptiveAnthropicThinking(modelId: string): boolean {
LOWpackages/agent/models.ts104export function shouldApplyOpenAIReasoningDefaults(modelId: string): boolean {
LOWpackages/agent/models.ts108function shouldApplyOpenAITextVerbosityDefaults(modelId: string): boolean {
LOWpackages/agent/models.ts112export function getProviderOptionsForModel(
LOWpackages/agent/subagents/registry.ts30export function buildSubagentSummaryLines(): string {
LOW…nt/context-management/aggressive-compaction-helpers.ts44export function findPendingCompactionCandidates({
LOW…nt/context-management/aggressive-compaction-helpers.ts107export function getPendingCompactionUnits(
LOW…nt/context-management/aggressive-compaction-helpers.ts116export function estimateCompactionSavings({
LOW…nt/context-management/aggressive-compaction-helpers.ts310function isCompactedToolResultPart(
LOWpackages/sandbox/git.ts71async function resetToFetchedRemoteBranch(
LOWpackages/sandbox/git.ts347export async function syncToRemotePreservingChanges(
LOWpackages/sandbox/vercel/snapshot-refresh.ts45function defaultConnectSnapshotSandbox(
LOWpackages/sandbox/vercel/sandbox.ts44function buildGitHubCredentialBrokeringPolicy(
LOWpackages/sandbox/vercel/sandbox.ts85async function syncGitHubCredentialBrokering(
LOWpackages/sandbox/vercel/sandbox.ts110async function clearGitHubCredentialBrokering(
LOWpackages/sandbox/vercel/sandbox.ts116async function clearGitHubCredentialBrokeringBestEffort(
LOWpackages/sandbox/vercel/sandbox.ts140function getRemainingTimeoutFromSession(
LOWapps/web/app/settings/model-variants-section.tsx77export function ModelVariantsSectionSkeleton() {
LOWapps/web/app/settings/accounts-section.tsx99function startGitHubInstallFromSettings() {
LOWapps/web/app/settings/accounts-section.tsx647function ConnectionLoadingSkeleton() {
LOWapps/web/app/settings/preferences-section.tsx89export function PreferencesSectionSkeleton() {
LOWapps/web/app/settings/preferences-section.tsx145export function ModelPreferencesSectionSkeleton() {
LOWapps/web/app/settings/preferences-section.tsx189function usePreferencesSectionState() {
LOWapps/web/app/settings/leaderboard-section.tsx63export function LeaderboardSectionSkeleton() {
LOW…pp/settings/usage/domain-usage-leaderboard-section.tsx32export function DomainUsageLeaderboardSection({
LOWapps/web/app/workflows/sandbox-provisioning.ts55export async function sandboxProvisioningWorkflow(sessionId: string) {
LOWapps/web/app/workflows/chat.ts102function shouldRefreshDiffCacheForParts(
LOWapps/web/app/workflows/chat.ts352function summarizeRequestInputItem(item: unknown): unknown {
LOWapps/web/app/workflows/chat.ts413function summarizeResponseOutputItem(item: unknown): unknown {
LOWapps/web/app/workflows/sandbox-lifecycle.ts39async function computeLifecycleWakeDecision(
LOWapps/web/app/workflows/sandbox-lifecycle.ts75async function clearLifecycleRunIdIfOwned(
LOWapps/web/app/workflows/chat.test.ts25function createResolvedChatSandboxRuntime(
LOWapps/web/app/workflows/chat-post-finish.ts135export async function persistAssistantMessageWithToolResults(
LOWapps/web/app/workflows/chat-sandbox-runtime.ts88export async function resolveChatSandboxRuntime(params: {
LOW…/web/app/shared/[shareId]/redact-shared-env-content.ts155function sanitizeSubagentFinalMessages(messages: unknown): unknown {
LOW…s/[sessionId]/chats/[chatId]/stream-recovery-policy.ts19export function getStreamRecoveryDecision(options: {
LOW…s/[sessionId]/chats/[chatId]/stream-recovery-policy.ts60export function shouldScheduleStallRecovery(options: {
LOW…s/[sessionId]/chats/[chatId]/stream-recovery-policy.ts88export function isChatStreamingProbeResponse(
LOW…ns/[sessionId]/chats/[chatId]/session-chat-context.tsx95function resolveContextLimitForModel(
LOW…ns/[sessionId]/chats/[chatId]/session-chat-context.tsx1153export function useSessionChatRuntimeContext() {
LOW…ns/[sessionId]/chats/[chatId]/session-chat-context.tsx1163export function useSessionChatWorkspaceContext() {
LOW…ns/[sessionId]/chats/[chatId]/session-chat-context.tsx1173export function useSessionChatMetadataContext() {
LOW…ons/[sessionId]/chats/[chatId]/only-chat-in-session.ts5export function getInitialIsOnlyChatInSession(
LOW…/sessions/[sessionId]/chats/[chatId]/sandbox-create.ts42function parseCreateSandboxErrorResponse(
LOW…/sessions/[sessionId]/chats/[chatId]/sandbox-create.ts70export function getSandboxCreateErrorDetails(
LOW…/sessions/[sessionId]/chats/[chatId]/sandbox-create.ts87function getFallbackSandboxCreateErrorMessage(status: number): string {
LOW…/sessions/[sessionId]/chats/[chatId]/diff-tab-view.tsx57function getFilenameFromContentDisposition(header: string | null): string {
LOWapps/web/app/api/settings/model-variants/route.test.ts43function createProviderOptionsWithExactSize(
LOWapps/web/app/api/settings/model-variants/route.ts26function providerOptionsSizeInBytes(
LOWapps/web/app/api/settings/model-variants/route.ts33function isProviderOptionsTooLarge(
LOWapps/web/app/api/chat/route.ts201async function reconcileExistingActiveStream(
LOWapps/web/app/api/chat/[chatId]/stream/route.test.ts52function createWorkflowReadableStream(startIndex?: number) {
LOWapps/web/app/api/chat/[chatId]/stream/route.test.ts106function createStreamRequestWithStartIndex(startIndex: string) {
LOWapps/web/app/api/chat/_lib/persist-tool-results.ts19export async function persistAssistantMessagesWithToolResults(
LOWapps/web/app/api/chat/_lib/model-selection.ts12export function resolveChatModelSelection({
LOWapps/web/app/api/shared/[shareId]/markdown/route.ts40function stringifyFrontmatterValue(value: number | string): string {
LOWapps/web/app/api/sessions/_lib/session-context.ts106export async function requireOwnedSessionWithSandboxGuard(
LOW…/web/app/api/sessions/[sessionId]/code-editor/route.ts105function isCodeServerProcessCommand(command: string): boolean {
159 more matches not shown…
Decorative Section Separators52 hits · 156 pts
SeverityFileLineSnippet
MEDIUM…kills/agent-browser/templates/authenticated-session.sh20# ══════════════════════════════════════════════════════════════
MEDIUM…kills/agent-browser/templates/authenticated-session.sh22# ══════════════════════════════════════════════════════════════
MEDIUM…kills/agent-browser/templates/authenticated-session.sh39# ══════════════════════════════════════════════════════════════
MEDIUM…kills/agent-browser/templates/authenticated-session.sh41# ══════════════════════════════════════════════════════════════
MEDIUM…kills/agent-browser/templates/authenticated-session.sh62# ══════════════════════════════════════════════════════════════
MEDIUM…kills/agent-browser/templates/authenticated-session.sh64# ══════════════════════════════════════════════════════════════
MEDIUMapps/web/app/settings/profile/page.tsx18// ── Types ──────────────────────────────────────────────────────────────────
MEDIUMapps/web/app/settings/profile/page.tsx67// ── Helpers ────────────────────────────────────────────────────────────────
MEDIUMapps/web/app/settings/profile/page.tsx219// ── Sub-components ─────────────────────────────────────────────────────────
MEDIUMapps/web/app/settings/profile/page.tsx277// ── Top repos for sidebar ──────────────────────────────────────────────────
MEDIUMapps/web/app/settings/profile/page.tsx321// ── Profile sidebar (left column) ──────────────────────────────────────────
MEDIUMapps/web/app/settings/profile/page.tsx422// ── Main page ──────────────────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts4// ── Mutable spy state ──────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts107// ── Helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts131// ── Tests ──────────────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts144// ─── persistUserMessage ────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts215// ─── persistAssistantMessage ───────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts253// ─── refreshLifecycleActivity ──────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts273// ─── persistSandboxState ───────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts302// ─── clearActiveStream ─────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts347// ─── refreshDiffCache ──────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts366// ─── hasAutoCommitChangesStep ───────────────────────────────────────
MEDIUMapps/web/app/workflows/chat-post-finish.test.ts394// ─── runAutoCommitStep ─────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat.test.ts4// ── Spy state ──────────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat.test.ts196// ── Module mocks ───────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat.test.ts356// ── Helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/app/workflows/chat.test.ts388// ── Tests ──────────────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stream/route.test.ts3// ── Mutable state ──────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stream/route.test.ts33// ── Module mocks ───────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stream/route.test.ts97// ── Helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stream/route.test.ts120// ── Tests ──────────────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stop/route.test.ts3// ── Mutable state ──────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stop/route.test.ts39// ── Module mocks ───────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stop/route.test.ts72// ── Helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/app/api/chat/[chatId]/stop/route.test.ts89// ── Tests ──────────────────────────────────────────────────────────
MEDIUM…s/web/app/api/sessions/[sessionId]/checks/fix/route.ts68// ── Formatting helpers ──────────────────────────────────────────────────
MEDIUM…s/web/app/api/sessions/[sessionId]/checks/fix/route.ts140// ── Log compaction via LLM ──────────────────────────────────────────────
MEDIUM…s/web/app/api/sessions/[sessionId]/checks/fix/route.ts168// ── Route handler ───────────────────────────────────────────────────────
MEDIUMapps/web/app/[username]/page.tsx63// ── Gray-scale dot classes: brightest first (top rank), darkest last ────────
MEDIUMapps/web/app/[username]/page.tsx73// ── Sub-components ─────────────────────────────────────────────────────────
MEDIUMapps/web/app/[username]/page.tsx122// ── Main page ──────────────────────────────────────────────────────────────
MEDIUMapps/web/app/[username]/og/route.tsx26 // ── Activity grid ────────────────────────────────────────────────────────
MEDIUMapps/web/lib/chat/auto-commit-direct.test.ts3// ── spy state ──────────────────────────────────────────────────────
MEDIUMapps/web/lib/chat/auto-commit-direct.test.ts42// ── module mocks ───────────────────────────────────────────────────
MEDIUMapps/web/lib/chat/auto-commit-direct.test.ts119// ── helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/lib/chat/auto-commit-direct.test.ts137// ── tests ──────────────────────────────────────────────────────────
MEDIUM…web/lib/chat/create-cancelable-readable-stream.test.ts4// ── Helpers ────────────────────────────────────────────────────────
MEDIUM…web/lib/chat/create-cancelable-readable-stream.test.ts28// ── Tests ──────────────────────────────────────────────────────────
MEDIUMapps/web/lib/diff/compute-diff.test.ts3// ── Spy state ──────────────────────────────────────────────────────
MEDIUMapps/web/lib/diff/compute-diff.test.ts24// ── Module mocks ───────────────────────────────────────────────────
MEDIUMapps/web/lib/diff/compute-diff.test.ts38// ── Helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/lib/diff/compute-diff.test.ts67// ── Tests ──────────────────────────────────────────────────────────
Fake / Example Data9 hits · 10 pts
SeverityFileLineSnippet
LOW.agents/skills/agent-browser/SKILL.md264agent-browser fill @e1 "user@example.com"
LOW…ents/skills/agent-browser/references/authentication.md17agent-browser fill @e1 "user@example.com"
LOW…ents/skills/agent-browser/references/authentication.md36agent-browser fill @e1 "user@example.com"
LOW…ents/skills/agent-browser/references/authentication.md93agent-browser fill @e1 "user@example.com"
LOW…gents/skills/agent-browser/references/snapshot-refs.md64agent-browser fill @e10 "user@example.com"
LOW…/skills/agent-browser/references/session-management.md17agent-browser --session auth fill @e1 "user@example.com"
LOW…ents/skills/agent-browser/templates/form-automation.sh23# agent-browser fill @e1 "John Doe" # Name field
LOW…ents/skills/agent-browser/templates/form-automation.sh24# agent-browser fill @e2 "user@example.com" # Email field
LOWapps/web/app/workflows/chat.test.ts376 email: "user@example.com",
Over-Commented Block9 hits · 9 pts
SeverityFileLineSnippet
LOW…nts/skills/agent-browser/templates/capture-workflow.sh41# agent-browser get text ".content" > "$OUTPUT_DIR/content.txt"
LOW…ents/skills/agent-browser/templates/form-automation.sh21
LOW…kills/agent-browser/templates/authenticated-session.sh1#!/bin/bash
LOW…kills/agent-browser/templates/authenticated-session.sh61
LOW…kills/agent-browser/templates/authenticated-session.sh81# echo "ERROR: Login failed - still on login page"
LOW…onId]/chats/[chatId]/hooks/use-session-chat-runtime.ts281 //
LOWapps/web/app/api/sandbox/route.ts41// import { getUserVercelToken } from "@/lib/vercel/token";
LOWapps/web/app/api/sandbox/route.ts61// if (!token) {
LOWapps/web/app/api/sandbox/route.ts241 sessionRecord?.lifecycleVersion,
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOW…kills/agent-browser/templates/authenticated-session.sh5# Usage: