MCPcopy
hub / github.com/codeaashu/claude-code / generateParallelInsights

Function generateParallelInsights

src/commands/insights.ts:1612–1798  ·  view source on GitHub ↗
(
  data: AggregatedData,
  facets: Map<string, SessionFacets>,
)

Source from the content-addressed store, hash-verified

1610}
1611
1612async function generateParallelInsights(
1613 data: AggregatedData,
1614 facets: Map<string, SessionFacets>,
1615): Promise<InsightResults> {
1616 // Build data context string
1617 const facetSummaries = Array.from(facets.values())
1618 .slice(0, 50)
1619 .map(f => `- ${f.brief_summary} (${f.outcome}, ${f.claude_helpfulness})`)
1620 .join('\n')
1621
1622 const frictionDetails = Array.from(facets.values())
1623 .filter(f => f.friction_detail)
1624 .slice(0, 20)
1625 .map(f => `- ${f.friction_detail}`)
1626 .join('\n')
1627
1628 const userInstructions = Array.from(facets.values())
1629 .flatMap(f => f.user_instructions_to_claude || [])
1630 .slice(0, 15)
1631 .map(i => `- ${i}`)
1632 .join('\n')
1633
1634 const dataContext = jsonStringify(
1635 {
1636 sessions: data.total_sessions,
1637 analyzed: data.sessions_with_facets,
1638 date_range: data.date_range,
1639 messages: data.total_messages,
1640 hours: Math.round(data.total_duration_hours),
1641 commits: data.git_commits,
1642 top_tools: Object.entries(data.tool_counts)
1643 .sort((a, b) => b[1] - a[1])
1644 .slice(0, 8),
1645 top_goals: Object.entries(data.goal_categories)
1646 .sort((a, b) => b[1] - a[1])
1647 .slice(0, 8),
1648 outcomes: data.outcomes,
1649 satisfaction: data.satisfaction,
1650 friction: data.friction,
1651 success: data.success,
1652 languages: data.languages,
1653 },
1654 null,
1655 2,
1656 )
1657
1658 const fullContext =
1659 dataContext +
1660 '\n\nSESSION SUMMARIES:\n' +
1661 facetSummaries +
1662 '\n\nFRICTION DETAILS:\n' +
1663 frictionDetails +
1664 '\n\nUSER INSTRUCTIONS TO CLAUDE:\n' +
1665 (userInstructions || 'None captured')
1666
1667 // Run sections in parallel first (excluding at_a_glance)
1668 const results = await Promise.all(
1669 INSIGHT_SECTIONS.map(section =>

Callers 1

generateUsageReportFunction · 0.85

Calls 4

jsonStringifyFunction · 0.85
generateSectionInsightFunction · 0.85
valuesMethod · 0.80
entriesMethod · 0.80

Tested by

no test coverage detected