MCPcopy
hub / github.com/simstudioai/sim / MdParser

Class MdParser

apps/sim/lib/file-parsers/md-parser.ts:8–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6const logger = createLogger('MdParser')
7
8export class MdParser implements FileParser {
9 async parseFile(filePath: string): Promise<FileParseResult> {
10 try {
11 if (!filePath) {
12 throw new Error('No file path provided')
13 }
14
15 const buffer = await readFile(filePath)
16
17 return this.parseBuffer(buffer)
18 } catch (error) {
19 logger.error('MD file error:', error)
20 throw new Error(`Failed to parse MD file: ${(error as Error).message}`)
21 }
22 }
23
24 async parseBuffer(buffer: Buffer): Promise<FileParseResult> {
25 try {
26 logger.info('Parsing buffer, size:', buffer.length)
27
28 const result = buffer.toString('utf-8')
29 const content = sanitizeTextForUTF8(result)
30
31 return {
32 content,
33 metadata: {
34 characterCount: content.length,
35 tokenCount: Math.floor(content.length / 4),
36 },
37 }
38 } catch (error) {
39 logger.error('MD buffer parsing error:', error)
40 throw new Error(`Failed to parse MD buffer: ${(error as Error).message}`)
41 }
42 }
43}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected