MCPcopy Create free account
hub / github.com/Noumena-Network/code / generateParallelInsights

Function generateParallelInsights

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

Source from the content-addressed store, hash-verified

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

Callers 1

generateUsageReportFunction · 0.85

Calls 3

jsonStringifyFunction · 0.85
generateSectionInsightFunction · 0.85
entriesMethod · 0.80

Tested by

no test coverage detected