Repository Analysis

virattt/dexter

An autonomous agent for deep financial research

1.0 Likely human-written View on GitHub
1.0
Adjusted Score
1.0
Raw Score
100%
Time Factor
2026-05-30
Last Push
26,673
Stars
TypeScript
Language
36,533
Lines of Code
202
Files
30
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 1LOW 29

Pattern Findings

30 matches across 3 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers21 hits · 23 pts
SeverityFileLineSnippet
LOWsrc/tools/registry.ts242export function buildCompactToolDescriptions(model: string): string {
LOWsrc/tools/fetch/web-fetch.ts192function formatWebFetchErrorDetail(params: {
LOWsrc/tools/finance/formatters.ts131export function formatHistoricalKeyRatios(data: unknown, args?: Rec): string {
LOWsrc/tools/finance/formatters.ts190export function formatInstitutionalHoldings(data: unknown, args?: Rec): string {
LOWsrc/memory/temporal-decay.ts28export function calculateTemporalDecayMultiplier(params: {
LOWsrc/utils/model.ts53export function getDefaultModelForProvider(providerId: string): string | undefined {
LOWsrc/utils/tokens.ts39export function getEffectiveContextWindow(model: string): number {
LOWsrc/utils/env.ts16export function checkApiKeyExistsForProvider(providerId: string): boolean {
LOWsrc/utils/env.ts112export function getSearchProviderDisplayName(providerId: SearchProviderId): string {
LOWsrc/utils/env.ts116export function getApiKeyNameForSearchProvider(providerId: SearchProviderId): string {
LOWsrc/utils/env.ts120export function checkApiKeyForSearchProvider(providerId: SearchProviderId): boolean {
LOWsrc/utils/env.ts124export function saveApiKeyForSearchProvider(providerId: SearchProviderId, apiKey: string): boolean {
LOWsrc/agent/compact.ts154export function buildCompactSummaryMessage(summary: string): string {
LOWsrc/components/select-list.ts57export function createSearchProviderSelector(
LOWsrc/components/select-list.ts109export function createApiKeyConfirmSelector(onConfirm: (wantsToSet: boolean) => void) {
LOWsrc/model/llm.ts265function annotateSystemMessageForCaching(messages: BaseMessage[]): BaseMessage[] {
LOWsrc/skills/registry.ts107export function buildSkillMetadataSection(): string {
LOWsrc/gateway/access-control.ts95export async function checkInboundAccessControl(params: {
LOWsrc/gateway/group/history-buffer.ts44export function getAndClearGroupHistory(groupId: string): GroupHistoryEntry[] {
LOWsrc/gateway/group/history-buffer.ts54export function formatGroupHistoryContext(params: {
LOWsrc/gateway/channels/whatsapp/auth-store.ts40export function maybeRestoreCredsFromBackup(authDir: string): void {
Verbosity Indicators8 hits · 12 pts
SeverityFileLineSnippet
LOWsrc/tools/finance/read-filings.ts173 // Step 1: Plan ticker + filing types using structured output
LOWsrc/tools/finance/read-filings.ts246 // Step 2: Select and read filing content with canonical item names
LOWsrc/tools/finance/screen-stocks.ts123 // Step 1: Fetch screener metrics (cached after first call)
LOWsrc/tools/finance/screen-stocks.ts138 // Step 2: LLM structured output — translate natural language → filters
LOWsrc/tools/finance/screen-stocks.ts158 // Step 3: POST to screener API
LOWsrc/agent/agent.ts562 // Step 1: Memory flush
LOWsrc/agent/agent.ts588 // Step 2: Compaction
LOWsrc/agent/agent.ts641 // Step 3: Fallback — truncate oldest rounds
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMsrc/tools/search/x-search.ts194// ─── Tool definition ─────────────────────────────────────────────────────────