MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / analyzeNewImport

Function analyzeNewImport

packages/node-runtime/src/import/streaming-importer.ts:631–663  ·  view source on GitHub ↗
(
  filePath: string,
  onProgress: ImportProgressCallback
)

Source from the content-addressed store, hash-verified

629}
630
631export async function analyzeNewImport(
632 filePath: string,
633 onProgress: ImportProgressCallback
634): Promise<AnalyzeNewImportResult> {
635 const formatFeature = detectFormat(filePath)
636 if (!formatFeature) {
637 return { totalMessages: 0, totalMembers: 0, meta: null, error: 'error.unrecognized_format' }
638 }
639
640 let meta: { name: string; platform: string; type: string } | null = null
641 const memberSet = new Set<string>()
642 let totalMessages = 0
643
644 await streamParseFile(filePath, {
645 onMeta: (parsedMeta: ParsedMeta) => {
646 meta = { name: parsedMeta.name, platform: parsedMeta.platform, type: parsedMeta.type }
647 },
648 onMembers: (members: ParsedMember[]) => {
649 for (const m of members) memberSet.add(m.platformId)
650 },
651 onProgress: (progress: ParseProgress) => {
652 onProgress(progress)
653 },
654 onMessageBatch: (batch: ParsedMessage[]) => {
655 for (const msg of batch) {
656 totalMessages++
657 if (!memberSet.has(msg.senderPlatformId)) memberSet.add(msg.senderPlatformId)
658 }
659 },
660 })
661
662 return { totalMessages, totalMembers: memberSet.size, meta }
663}
664
665// ==================== Temp DB for merge preview ====================
666

Callers

nothing calls this directly

Calls 4

detectFormatFunction · 0.90
streamParseFileFunction · 0.90
onProgressFunction · 0.50
addMethod · 0.45

Tested by

no test coverage detected