Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/alice-dot-io/caterpillar
/ functions
Functions
91 in github.com/alice-dot-io/caterpillar
⨍
Functions
91
◇
Types & classes
20
↓ 72 callers
Function
getMimeType
(filePath: string)
core/src/lib/mime.ts:76
↓ 48 callers
Function
testPattern
* Helper: test a global regex without lastIndex side effects
core/tests/cli-rules.test.ts:15
↓ 21 callers
Function
runPatternScan
(content: string, skillName: string)
core/src/lib/pattern-scanner.ts:20
↓ 17 callers
Function
isFancyTerminal
()
core/src/lib/ui.ts:16
↓ 17 callers
Function
printInfo
(message: string)
core/src/lib/display.ts:232
↓ 16 callers
Method
stop
(finalMessage?: string)
core/src/lib/ui.ts:277
↓ 13 callers
Function
printError
(message: string)
core/src/lib/display.ts:223
↓ 8 callers
Function
csvEscape
(val: string)
core/src/lib/display.ts:175
↓ 8 callers
Function
loadConfig
()
core/src/lib/config.ts:21
↓ 7 callers
Function
boxLine
(content: string, width = 36)
core/src/lib/ui.ts:127
↓ 7 callers
Method
start
()
core/src/lib/ui.ts:253
↓ 6 callers
Function
sectionHeader
(title: string)
core/src/lib/ui.ts:138
↓ 5 callers
Function
printBanner
()
core/src/lib/ui.ts:82
↓ 4 callers
Function
detectScanMode
()
core/src/lib/scan-skill.ts:102
↓ 4 callers
Function
prefix
()
core/src/lib/display.ts:12
↓ 4 callers
Function
randomMsg
(messages: string[])
core/src/lib/scan-skill.ts:96
↓ 3 callers
Function
collectSkill
(inputPath: string)
core/src/lib/collector.ts:167
↓ 3 callers
Function
getApiUrl
()
core/src/lib/config.ts:43
↓ 3 callers
Function
gradeColor
(grade: string)
core/src/lib/ui.ts:21
↓ 3 callers
Function
printScanResult
(response: ScanResponse, filesScanned: number, mode?: string, verbose?: boolean)
core/src/lib/display.ts:113
↓ 3 callers
Function
printScanResultCsv
(response: ScanResponse, includeHeader = true)
core/src/lib/display.ts:182
↓ 3 callers
Function
printSuccess
(message: string)
core/src/lib/display.ts:227
↓ 3 callers
Function
printWarning
(message: string)
core/src/lib/display.ts:236
↓ 3 callers
Function
runVirusTotalChecks
* Run client-side VirusTotal checks if a VT key is configured. * Returns VT results map and artifact records.
core/src/lib/scan-skill.ts:118
↓ 3 callers
Function
saveConfig
(config: CaterpillarConfig)
core/src/lib/config.ts:31
↓ 3 callers
Function
scanSingleSkill
( skill: SkillScanInput, options: { json?: boolean; mode?: ScanMode }, )
core/src/lib/scan-skill.ts:328
↓ 3 callers
Method
update
(message: string)
core/src/lib/ui.ts:270
↓ 2 callers
Function
boxBottom
(width = 36)
core/src/lib/ui.ts:123
↓ 2 callers
Function
boxTop
(title: string, width = 36)
core/src/lib/ui.ts:116
↓ 2 callers
Function
buildPatternOnlyResponse
( skill: SkillScanInput, patternResult: ReturnType<typeof runPatternScan>, scanDuration: number, binar
core/src/lib/scan-skill.ts:294
↓ 2 callers
Function
getApiKey
()
core/src/lib/config.ts:39
↓ 2 callers
Function
getConfigDir
()
core/src/lib/config.ts:13
↓ 2 callers
Function
getConfigPath
()
core/src/lib/config.ts:17
↓ 2 callers
Function
getExt
(path: string)
core/src/lib/scan-skill.ts:21
↓ 2 callers
Function
getOpenAIApiKey
()
core/src/lib/config.ts:51
↓ 2 callers
Function
printScanResultJson
(response: ScanResponse)
core/src/lib/display.ts:171
↓ 2 callers
Function
scanSingle
(targetPath: string, options: { json?: boolean; output?: string; verbose?: boolean; mode?: ScanMode }, format:
core/src/commands/scan.ts:226
↓ 2 callers
Function
scoreToGrade
(score: number)
core/src/lib/scan-skill.ts:88
↓ 2 callers
Function
severityColor
(severity: string)
core/src/lib/ui.ts:30
↓ 2 callers
Function
severityIcon
(severity: string)
core/src/lib/ui.ts:41
↓ 1 callers
Function
artifactKind
(path: string)
core/src/lib/scan-skill.ts:42
↓ 1 callers
Function
buildFullContent
* Read all text files in the directory and concatenate them into a single * content string for the LLM judge to analyze. Each file is delimited with
core/src/lib/collector.ts:140
↓ 1 callers
Function
buildVtArtifactRecords
( artifacts: ArtifactMeta[], vtResults: Map<string, VTResult>, )
core/src/lib/scan-skill.ts:50
↓ 1 callers
Function
checkHash
(apiKey: string, sha256: string)
core/src/lib/virustotal.ts:13
↓ 1 callers
Function
checkVirusTotalBatch
( apiKey: string, hashes: string[], delayMs = 15000, onProgress?: (current: number, total: number) =>
core/src/lib/virustotal.ts:98
↓ 1 callers
Function
cleanupTempDirs
(dirs: string[])
core/src/lib/archives.ts:44
↓ 1 callers
Function
computeSha256
(filePath: string)
core/src/lib/collector.ts:64
↓ 1 callers
Function
createAuthSession
()
core/src/lib/api-client.ts:99
↓ 1 callers
Function
discoverTargets
(dir: string)
core/src/commands/scan.ts:39
↓ 1 callers
Function
extractArchive
(archivePath: string)
core/src/lib/archives.ts:23
↓ 1 callers
Function
extractTar
(archivePath: string, dest: string)
core/src/lib/archives.ts:15
↓ 1 callers
Function
extractZip
(archivePath: string, dest: string)
core/src/lib/archives.ts:11
↓ 1 callers
Function
findCheckableArtifacts
(artifacts: ArtifactMeta[])
core/src/lib/scan-skill.ts:38
↓ 1 callers
Function
findMainFile
Try to find the best "main" file in a directory for the skill name
core/src/lib/collector.ts:106
↓ 1 callers
Function
getBannerText
()
core/src/lib/ui.ts:90
↓ 1 callers
Function
getVirusTotalApiKey
()
core/src/lib/config.ts:47
↓ 1 callers
Function
isArchiveFile
Extension-based check for archive files
core/src/lib/scan-skill.ts:26
↓ 1 callers
Function
isCheckableArtifact
Any file that isn't a known text/source file is checkable via VirusTotal
core/src/lib/scan-skill.ts:31
↓ 1 callers
Function
isTextFile
(name: string, mime: string | null)
core/src/lib/collector.ts:56
↓ 1 callers
Function
line
(char = '─', len = 50)
core/src/lib/display.ts:16
↓ 1 callers
Function
openUrl
(url: string)
core/src/commands/login.ts:8
↓ 1 callers
Function
parseSkillName
(content: string)
core/src/lib/collector.ts:99
↓ 1 callers
Function
pollAuthSession
( sessionId: string, deviceCode: string )
core/src/lib/api-client.ts:116
↓ 1 callers
Function
postScan
(request: ScanRequest)
core/src/lib/api-client.ts:79
↓ 1 callers
Function
printAggregateSummary
(results: Array<{ label: string; response: ScanResponse; fileCount: number }>)
core/src/commands/scan.ts:77
↓ 1 callers
Function
printFindingCard
(finding: Finding)
core/src/lib/ui.ts:213
↓ 1 callers
Function
printFindingCompact
(finding: Finding)
core/src/lib/ui.ts:206
↓ 1 callers
Function
printFindingsCompact
(findings: NonNullable<ScanResponse['data']>['findings'])
core/src/lib/display.ts:34
↓ 1 callers
Function
printFindingsVerbose
(findings: NonNullable<ScanResponse['data']>['findings'])
core/src/lib/display.ts:20
↓ 1 callers
Function
printForensicsHint
(forensics?: ScanResponse['forensics'])
core/src/lib/display.ts:103
↓ 1 callers
Function
printGradeCard
(grade: string, score: number)
core/src/lib/ui.ts:165
↓ 1 callers
Function
printGradeCompact
(grade: string, score: number, findingCount: number)
core/src/lib/ui.ts:147
↓ 1 callers
Function
printMultiScanResultCsv
( results: Array<{ label: string; response: ScanResponse }>, )
core/src/lib/display.ts:214
↓ 1 callers
Function
printVersion
()
core/src/lib/ui.ts:98
↓ 1 callers
Function
printVirusTotalCompact
(binaryArtifacts?: ArtifactRecord[], archiveArtifacts?: ArtifactRecord[])
core/src/lib/display.ts:86
↓ 1 callers
Function
printVirusTotalSection
(binaryArtifacts?: ArtifactRecord[], archiveArtifacts?: ArtifactRecord[])
core/src/lib/display.ts:43
↓ 1 callers
Function
resolveFormat
(options: { json?: boolean; output?: string })
core/src/commands/ask.ts:15
↓ 1 callers
Function
resolveFormat
(options: { json?: boolean; output?: string })
core/src/commands/scan.ts:27
↓ 1 callers
Function
runLocalLLMJudge
( apiKey: string, content: string, skillName: string, model = 'gpt-4o-mini', )
core/src/lib/llm-judge.ts:68
↓ 1 callers
Function
scanViaLocalAI
* Mode 2: Local AI scan (user supplies their own OpenAI key). * Runs both LLM judge and pattern scanner, merges results.
core/src/lib/scan-skill.ts:189
↓ 1 callers
Function
scanViaPatterns
* Mode 3: Offline pattern scan (no API key, no OpenAI key). * Uses regex-based pattern matching only.
core/src/lib/scan-skill.ts:269
↓ 1 callers
Function
scanViaServer
* Mode 1: Server API scan (authenticated users).
core/src/lib/scan-skill.ts:155
↓ 1 callers
Function
stripAnsi
(str: string)
core/src/lib/ui.ts:133
↓ 1 callers
Function
walkDir
(dir: string, rootDir: string, artifacts: ArtifactMeta[])
core/src/lib/collector.ts:69
Function
askCommand
(path: string | undefined, options: { json?: boolean; output?: string; verbose?: boolean; mode?: ScanMode })
core/src/commands/ask.ts:21
Function
configGetCommand
(key?: string)
core/src/commands/config.ts:17
Function
configSetCommand
(key: string, value: string)
core/src/commands/config.ts:4
Method
constructor
(message: string)
core/src/lib/ui.ts:248
Function
loginCommand
()
core/src/commands/login.ts:18
Function
logoutCommand
()
core/src/commands/logout.ts:5
Function
scanCommand
(path: string | undefined, options: { json?: boolean; output?: string; verbose?: boolean; mode?: ScanMode })
core/src/commands/scan.ts:117