@guidemode/session-processing 0.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +108 -0
- package/dist/cjs/ai-models/base/index.d.ts +4 -0
- package/dist/cjs/ai-models/base/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/base/index.js +8 -0
- package/dist/cjs/ai-models/base/index.js.map +1 -0
- package/dist/cjs/ai-models/base/model-adapter.d.ts +47 -0
- package/dist/cjs/ai-models/base/model-adapter.d.ts.map +1 -0
- package/dist/cjs/ai-models/base/model-adapter.js +79 -0
- package/dist/cjs/ai-models/base/model-adapter.js.map +1 -0
- package/dist/cjs/ai-models/base/model-task.d.ts +35 -0
- package/dist/cjs/ai-models/base/model-task.d.ts.map +1 -0
- package/dist/cjs/ai-models/base/model-task.js +40 -0
- package/dist/cjs/ai-models/base/model-task.js.map +1 -0
- package/dist/cjs/ai-models/base/types.d.ts +78 -0
- package/dist/cjs/ai-models/base/types.d.ts.map +1 -0
- package/dist/cjs/ai-models/base/types.js +3 -0
- package/dist/cjs/ai-models/base/types.js.map +1 -0
- package/dist/cjs/ai-models/index.d.ts +9 -0
- package/dist/cjs/ai-models/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/index.js +38 -0
- package/dist/cjs/ai-models/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/client.d.ts +122 -0
- package/dist/cjs/ai-models/providers/claude/client.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/client.js +140 -0
- package/dist/cjs/ai-models/providers/claude/client.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/index.d.ts +38 -0
- package/dist/cjs/ai-models/providers/claude/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/index.js +144 -0
- package/dist/cjs/ai-models/providers/claude/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/index.d.ts +5 -0
- package/dist/cjs/ai-models/providers/claude/tasks/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/index.js +21 -0
- package/dist/cjs/ai-models/providers/claude/tasks/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/intent-extraction.d.ts +27 -0
- package/dist/cjs/ai-models/providers/claude/tasks/intent-extraction.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/intent-extraction.js +145 -0
- package/dist/cjs/ai-models/providers/claude/tasks/intent-extraction.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/quality-assessment.d.ts +31 -0
- package/dist/cjs/ai-models/providers/claude/tasks/quality-assessment.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/quality-assessment.js +160 -0
- package/dist/cjs/ai-models/providers/claude/tasks/quality-assessment.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-phase-analysis.d.ts +67 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-phase-analysis.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-phase-analysis.js +279 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-phase-analysis.js.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-summary.d.ts +26 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-summary.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-summary.js +178 -0
- package/dist/cjs/ai-models/providers/claude/tasks/session-summary.js.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/client.d.ts +127 -0
- package/dist/cjs/ai-models/providers/gemini/client.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/client.js +211 -0
- package/dist/cjs/ai-models/providers/gemini/client.js.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/index.d.ts +38 -0
- package/dist/cjs/ai-models/providers/gemini/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/index.js +144 -0
- package/dist/cjs/ai-models/providers/gemini/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/tasks/index.d.ts +2 -0
- package/dist/cjs/ai-models/providers/gemini/tasks/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/gemini/tasks/index.js +11 -0
- package/dist/cjs/ai-models/providers/gemini/tasks/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/index.d.ts +5 -0
- package/dist/cjs/ai-models/providers/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/index.js +26 -0
- package/dist/cjs/ai-models/providers/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/openai/client.d.ts +120 -0
- package/dist/cjs/ai-models/providers/openai/client.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/openai/client.js +195 -0
- package/dist/cjs/ai-models/providers/openai/client.js.map +1 -0
- package/dist/cjs/ai-models/providers/openai/index.d.ts +38 -0
- package/dist/cjs/ai-models/providers/openai/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/openai/index.js +144 -0
- package/dist/cjs/ai-models/providers/openai/index.js.map +1 -0
- package/dist/cjs/ai-models/providers/openai/tasks/index.d.ts +5 -0
- package/dist/cjs/ai-models/providers/openai/tasks/index.d.ts.map +1 -0
- package/dist/cjs/ai-models/providers/openai/tasks/index.js +6 -0
- package/dist/cjs/ai-models/providers/openai/tasks/index.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +49 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parsers/base/BaseParser.d.ts +67 -0
- package/dist/cjs/parsers/base/BaseParser.d.ts.map +1 -0
- package/dist/cjs/parsers/base/BaseParser.js +205 -0
- package/dist/cjs/parsers/base/BaseParser.js.map +1 -0
- package/dist/cjs/parsers/base/index.d.ts +3 -0
- package/dist/cjs/parsers/base/index.d.ts.map +1 -0
- package/dist/cjs/parsers/base/index.js +6 -0
- package/dist/cjs/parsers/base/index.js.map +1 -0
- package/dist/cjs/parsers/base/types.d.ts +112 -0
- package/dist/cjs/parsers/base/types.d.ts.map +1 -0
- package/dist/cjs/parsers/base/types.js +9 -0
- package/dist/cjs/parsers/base/types.js.map +1 -0
- package/dist/cjs/parsers/canonical/index.d.ts +8 -0
- package/dist/cjs/parsers/canonical/index.d.ts.map +1 -0
- package/dist/cjs/parsers/canonical/index.js +11 -0
- package/dist/cjs/parsers/canonical/index.js.map +1 -0
- package/dist/cjs/parsers/canonical/parser.d.ts +60 -0
- package/dist/cjs/parsers/canonical/parser.d.ts.map +1 -0
- package/dist/cjs/parsers/canonical/parser.js +423 -0
- package/dist/cjs/parsers/canonical/parser.js.map +1 -0
- package/dist/cjs/parsers/canonical/types.d.ts +99 -0
- package/dist/cjs/parsers/canonical/types.d.ts.map +1 -0
- package/dist/cjs/parsers/canonical/types.js +9 -0
- package/dist/cjs/parsers/canonical/types.js.map +1 -0
- package/dist/cjs/parsers/index.d.ts +13 -0
- package/dist/cjs/parsers/index.d.ts.map +1 -0
- package/dist/cjs/parsers/index.js +21 -0
- package/dist/cjs/parsers/index.js.map +1 -0
- package/dist/cjs/parsers/registry.d.ts +34 -0
- package/dist/cjs/parsers/registry.d.ts.map +1 -0
- package/dist/cjs/parsers/registry.js +89 -0
- package/dist/cjs/parsers/registry.js.map +1 -0
- package/dist/cjs/processors/base/git-diff-processor.d.ts +38 -0
- package/dist/cjs/processors/base/git-diff-processor.d.ts.map +1 -0
- package/dist/cjs/processors/base/git-diff-processor.js +131 -0
- package/dist/cjs/processors/base/git-diff-processor.js.map +1 -0
- package/dist/cjs/processors/base/index.d.ts +5 -0
- package/dist/cjs/processors/base/index.d.ts.map +1 -0
- package/dist/cjs/processors/base/index.js +10 -0
- package/dist/cjs/processors/base/index.js.map +1 -0
- package/dist/cjs/processors/base/metric-processor.d.ts +42 -0
- package/dist/cjs/processors/base/metric-processor.d.ts.map +1 -0
- package/dist/cjs/processors/base/metric-processor.js +83 -0
- package/dist/cjs/processors/base/metric-processor.js.map +1 -0
- package/dist/cjs/processors/base/provider-processor.d.ts +45 -0
- package/dist/cjs/processors/base/provider-processor.d.ts.map +1 -0
- package/dist/cjs/processors/base/provider-processor.js +109 -0
- package/dist/cjs/processors/base/provider-processor.js.map +1 -0
- package/dist/cjs/processors/base/types.d.ts +2 -0
- package/dist/cjs/processors/base/types.d.ts.map +1 -0
- package/dist/cjs/processors/base/types.js +3 -0
- package/dist/cjs/processors/base/types.js.map +1 -0
- package/dist/cjs/processors/canonical/index.d.ts +24 -0
- package/dist/cjs/processors/canonical/index.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/index.js +49 -0
- package/dist/cjs/processors/canonical/index.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/context.d.ts +38 -0
- package/dist/cjs/processors/canonical/metrics/context.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/context.js +160 -0
- package/dist/cjs/processors/canonical/metrics/context.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/engagement.d.ts +32 -0
- package/dist/cjs/processors/canonical/metrics/engagement.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/engagement.js +121 -0
- package/dist/cjs/processors/canonical/metrics/engagement.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/error.d.ts +48 -0
- package/dist/cjs/processors/canonical/metrics/error.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/error.js +206 -0
- package/dist/cjs/processors/canonical/metrics/error.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/performance.d.ts +24 -0
- package/dist/cjs/processors/canonical/metrics/performance.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/performance.js +74 -0
- package/dist/cjs/processors/canonical/metrics/performance.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/quality.d.ts +52 -0
- package/dist/cjs/processors/canonical/metrics/quality.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/quality.js +283 -0
- package/dist/cjs/processors/canonical/metrics/quality.js.map +1 -0
- package/dist/cjs/processors/canonical/metrics/usage.d.ts +64 -0
- package/dist/cjs/processors/canonical/metrics/usage.d.ts.map +1 -0
- package/dist/cjs/processors/canonical/metrics/usage.js +327 -0
- package/dist/cjs/processors/canonical/metrics/usage.js.map +1 -0
- package/dist/cjs/processors/index.d.ts +10 -0
- package/dist/cjs/processors/index.d.ts.map +1 -0
- package/dist/cjs/processors/index.js +46 -0
- package/dist/cjs/processors/index.js.map +1 -0
- package/dist/cjs/processors/providers/claude-code/index.d.ts +39 -0
- package/dist/cjs/processors/providers/claude-code/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/claude-code/index.js +199 -0
- package/dist/cjs/processors/providers/claude-code/index.js.map +1 -0
- package/dist/cjs/processors/providers/codex/index.d.ts +11 -0
- package/dist/cjs/processors/providers/codex/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/codex/index.js +34 -0
- package/dist/cjs/processors/providers/codex/index.js.map +1 -0
- package/dist/cjs/processors/providers/cursor/index.d.ts +16 -0
- package/dist/cjs/processors/providers/cursor/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/cursor/index.js +95 -0
- package/dist/cjs/processors/providers/cursor/index.js.map +1 -0
- package/dist/cjs/processors/providers/gemini/index.d.ts +16 -0
- package/dist/cjs/processors/providers/gemini/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/gemini/index.js +111 -0
- package/dist/cjs/processors/providers/gemini/index.js.map +1 -0
- package/dist/cjs/processors/providers/github-copilot/index.d.ts +11 -0
- package/dist/cjs/processors/providers/github-copilot/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/github-copilot/index.js +34 -0
- package/dist/cjs/processors/providers/github-copilot/index.js.map +1 -0
- package/dist/cjs/processors/providers/opencode/index.d.ts +11 -0
- package/dist/cjs/processors/providers/opencode/index.d.ts.map +1 -0
- package/dist/cjs/processors/providers/opencode/index.js +34 -0
- package/dist/cjs/processors/providers/opencode/index.js.map +1 -0
- package/dist/cjs/processors/registry.d.ts +95 -0
- package/dist/cjs/processors/registry.d.ts.map +1 -0
- package/dist/cjs/processors/registry.js +214 -0
- package/dist/cjs/processors/registry.js.map +1 -0
- package/dist/cjs/ui/components/DateFilter.d.ts +19 -0
- package/dist/cjs/ui/components/DateFilter.d.ts.map +1 -0
- package/dist/cjs/ui/components/DateFilter.js +81 -0
- package/dist/cjs/ui/components/DateFilter.js.map +1 -0
- package/dist/cjs/ui/components/QuickRatingPopover.d.ts +17 -0
- package/dist/cjs/ui/components/QuickRatingPopover.d.ts.map +1 -0
- package/dist/cjs/ui/components/QuickRatingPopover.js +58 -0
- package/dist/cjs/ui/components/QuickRatingPopover.js.map +1 -0
- package/dist/cjs/ui/components/RatingBadge.d.ts +17 -0
- package/dist/cjs/ui/components/RatingBadge.d.ts.map +1 -0
- package/dist/cjs/ui/components/RatingBadge.js +122 -0
- package/dist/cjs/ui/components/RatingBadge.js.map +1 -0
- package/dist/cjs/ui/components/ScrollToTopButton.d.ts +17 -0
- package/dist/cjs/ui/components/ScrollToTopButton.d.ts.map +1 -0
- package/dist/cjs/ui/components/ScrollToTopButton.js +63 -0
- package/dist/cjs/ui/components/ScrollToTopButton.js.map +1 -0
- package/dist/cjs/ui/components/SessionCard.d.ts +60 -0
- package/dist/cjs/ui/components/SessionCard.d.ts.map +1 -0
- package/dist/cjs/ui/components/SessionCard.js +252 -0
- package/dist/cjs/ui/components/SessionCard.js.map +1 -0
- package/dist/cjs/ui/components/SessionDetailHeader.d.ts +57 -0
- package/dist/cjs/ui/components/SessionDetailHeader.d.ts.map +1 -0
- package/dist/cjs/ui/components/SessionDetailHeader.js +100 -0
- package/dist/cjs/ui/components/SessionDetailHeader.js.map +1 -0
- package/dist/cjs/ui/components/SessionTodosTab.d.ts +9 -0
- package/dist/cjs/ui/components/SessionTodosTab.d.ts.map +1 -0
- package/dist/cjs/ui/components/SessionTodosTab.js +69 -0
- package/dist/cjs/ui/components/SessionTodosTab.js.map +1 -0
- package/dist/cjs/ui/components/TokenUsageChart.d.ts +20 -0
- package/dist/cjs/ui/components/TokenUsageChart.d.ts.map +1 -0
- package/dist/cjs/ui/components/TokenUsageChart.js +126 -0
- package/dist/cjs/ui/components/TokenUsageChart.js.map +1 -0
- package/dist/cjs/ui/components/assessment/AssessmentModal.d.ts +3 -0
- package/dist/cjs/ui/components/assessment/AssessmentModal.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/AssessmentModal.js +144 -0
- package/dist/cjs/ui/components/assessment/AssessmentModal.js.map +1 -0
- package/dist/cjs/ui/components/assessment/ChoiceResponse.d.ts +9 -0
- package/dist/cjs/ui/components/assessment/ChoiceResponse.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/ChoiceResponse.js +30 -0
- package/dist/cjs/ui/components/assessment/ChoiceResponse.js.map +1 -0
- package/dist/cjs/ui/components/assessment/LikertScale.d.ts +3 -0
- package/dist/cjs/ui/components/assessment/LikertScale.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/LikertScale.js +76 -0
- package/dist/cjs/ui/components/assessment/LikertScale.js.map +1 -0
- package/dist/cjs/ui/components/assessment/ProgressBar.d.ts +3 -0
- package/dist/cjs/ui/components/assessment/ProgressBar.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/ProgressBar.js +9 -0
- package/dist/cjs/ui/components/assessment/ProgressBar.js.map +1 -0
- package/dist/cjs/ui/components/assessment/QuestionCard.d.ts +3 -0
- package/dist/cjs/ui/components/assessment/QuestionCard.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/QuestionCard.js +127 -0
- package/dist/cjs/ui/components/assessment/QuestionCard.js.map +1 -0
- package/dist/cjs/ui/components/assessment/TextResponse.d.ts +3 -0
- package/dist/cjs/ui/components/assessment/TextResponse.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/TextResponse.js +8 -0
- package/dist/cjs/ui/components/assessment/TextResponse.js.map +1 -0
- package/dist/cjs/ui/components/assessment/VersionSelector.d.ts +7 -0
- package/dist/cjs/ui/components/assessment/VersionSelector.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/VersionSelector.js +71 -0
- package/dist/cjs/ui/components/assessment/VersionSelector.js.map +1 -0
- package/dist/cjs/ui/components/assessment/index.d.ts +9 -0
- package/dist/cjs/ui/components/assessment/index.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/index.js +19 -0
- package/dist/cjs/ui/components/assessment/index.js.map +1 -0
- package/dist/cjs/ui/components/assessment/types.d.ts +58 -0
- package/dist/cjs/ui/components/assessment/types.d.ts.map +1 -0
- package/dist/cjs/ui/components/assessment/types.js +3 -0
- package/dist/cjs/ui/components/assessment/types.js.map +1 -0
- package/dist/cjs/ui/components/index.d.ts +39 -0
- package/dist/cjs/ui/components/index.d.ts.map +1 -0
- package/dist/cjs/ui/components/index.js +90 -0
- package/dist/cjs/ui/components/index.js.map +1 -0
- package/dist/cjs/ui/components/metrics/AssessmentSection.d.ts +27 -0
- package/dist/cjs/ui/components/metrics/AssessmentSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/AssessmentSection.js +79 -0
- package/dist/cjs/ui/components/metrics/AssessmentSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricCard.d.ts +20 -0
- package/dist/cjs/ui/components/metrics/MetricCard.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricCard.js +80 -0
- package/dist/cjs/ui/components/metrics/MetricCard.js.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricSection.d.ts +12 -0
- package/dist/cjs/ui/components/metrics/MetricSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricSection.js +8 -0
- package/dist/cjs/ui/components/metrics/MetricSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricsOverview.d.ts +89 -0
- package/dist/cjs/ui/components/metrics/MetricsOverview.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/MetricsOverview.js +29 -0
- package/dist/cjs/ui/components/metrics/MetricsOverview.js.map +1 -0
- package/dist/cjs/ui/components/metrics/metricThresholds.d.ts +40 -0
- package/dist/cjs/ui/components/metrics/metricThresholds.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/metricThresholds.js +208 -0
- package/dist/cjs/ui/components/metrics/metricThresholds.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/AIAssessmentSection.d.ts +12 -0
- package/dist/cjs/ui/components/metrics/sections/AIAssessmentSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/AIAssessmentSection.js +31 -0
- package/dist/cjs/ui/components/metrics/sections/AIAssessmentSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/ContextMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/ContextMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/ContextMetricsSection.js +21 -0
- package/dist/cjs/ui/components/metrics/sections/ContextMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/EngagementMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/EngagementMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/EngagementMetricsSection.js +21 -0
- package/dist/cjs/ui/components/metrics/sections/EngagementMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/ErrorMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/ErrorMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/ErrorMetricsSection.js +17 -0
- package/dist/cjs/ui/components/metrics/sections/ErrorMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/GitDiffMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/GitDiffMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/GitDiffMetricsSection.js +22 -0
- package/dist/cjs/ui/components/metrics/sections/GitDiffMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/PerformanceMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/PerformanceMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/PerformanceMetricsSection.js +21 -0
- package/dist/cjs/ui/components/metrics/sections/PerformanceMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/QualityMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/QualityMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/QualityMetricsSection.js +26 -0
- package/dist/cjs/ui/components/metrics/sections/QualityMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/UsageMetricsSection.d.ts +10 -0
- package/dist/cjs/ui/components/metrics/sections/UsageMetricsSection.d.ts.map +1 -0
- package/dist/cjs/ui/components/metrics/sections/UsageMetricsSection.js +17 -0
- package/dist/cjs/ui/components/metrics/sections/UsageMetricsSection.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseBlock.d.ts +19 -0
- package/dist/cjs/ui/components/phase/PhaseBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseBlock.js +16 -0
- package/dist/cjs/ui/components/phase/PhaseBlock.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseHeader.d.ts +10 -0
- package/dist/cjs/ui/components/phase/PhaseHeader.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseHeader.js +15 -0
- package/dist/cjs/ui/components/phase/PhaseHeader.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseIcon.d.ts +25 -0
- package/dist/cjs/ui/components/phase/PhaseIcon.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseIcon.js +77 -0
- package/dist/cjs/ui/components/phase/PhaseIcon.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseStats.d.ts +13 -0
- package/dist/cjs/ui/components/phase/PhaseStats.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseStats.js +27 -0
- package/dist/cjs/ui/components/phase/PhaseStats.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseSummary.d.ts +9 -0
- package/dist/cjs/ui/components/phase/PhaseSummary.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseSummary.js +8 -0
- package/dist/cjs/ui/components/phase/PhaseSummary.js.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseTimeline.d.ts +17 -0
- package/dist/cjs/ui/components/phase/PhaseTimeline.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/PhaseTimeline.js +25 -0
- package/dist/cjs/ui/components/phase/PhaseTimeline.js.map +1 -0
- package/dist/cjs/ui/components/phase/index.d.ts +12 -0
- package/dist/cjs/ui/components/phase/index.d.ts.map +1 -0
- package/dist/cjs/ui/components/phase/index.js +22 -0
- package/dist/cjs/ui/components/phase/index.js.map +1 -0
- package/dist/cjs/ui/components/timeline/ContentRenderer.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/ContentRenderer.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/ContentRenderer.js +76 -0
- package/dist/cjs/ui/components/timeline/ContentRenderer.js.map +1 -0
- package/dist/cjs/ui/components/timeline/DebugModal.d.ts +14 -0
- package/dist/cjs/ui/components/timeline/DebugModal.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/DebugModal.js +30 -0
- package/dist/cjs/ui/components/timeline/DebugModal.js.map +1 -0
- package/dist/cjs/ui/components/timeline/MessageHeader.d.ts +11 -0
- package/dist/cjs/ui/components/timeline/MessageHeader.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/MessageHeader.js +10 -0
- package/dist/cjs/ui/components/timeline/MessageHeader.js.map +1 -0
- package/dist/cjs/ui/components/timeline/TimelineGroup.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/TimelineGroup.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/TimelineGroup.js +10 -0
- package/dist/cjs/ui/components/timeline/TimelineGroup.js.map +1 -0
- package/dist/cjs/ui/components/timeline/TimelineMessage.d.ts +12 -0
- package/dist/cjs/ui/components/timeline/TimelineMessage.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/TimelineMessage.js +26 -0
- package/dist/cjs/ui/components/timeline/TimelineMessage.js.map +1 -0
- package/dist/cjs/ui/components/timeline/VirtualizedMessageList.d.ts +36 -0
- package/dist/cjs/ui/components/timeline/VirtualizedMessageList.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/VirtualizedMessageList.js +93 -0
- package/dist/cjs/ui/components/timeline/VirtualizedMessageList.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/CodeBlock.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/blocks/CodeBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/CodeBlock.js +17 -0
- package/dist/cjs/ui/components/timeline/blocks/CodeBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ImageBlock.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/blocks/ImageBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ImageBlock.js +8 -0
- package/dist/cjs/ui/components/timeline/blocks/ImageBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/JsonBlock.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/blocks/JsonBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/JsonBlock.js +14 -0
- package/dist/cjs/ui/components/timeline/blocks/JsonBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/SystemReminderBlock.d.ts +16 -0
- package/dist/cjs/ui/components/timeline/blocks/SystemReminderBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/SystemReminderBlock.js +93 -0
- package/dist/cjs/ui/components/timeline/blocks/SystemReminderBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/TextBlock.d.ts +13 -0
- package/dist/cjs/ui/components/timeline/blocks/TextBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/TextBlock.js +191 -0
- package/dist/cjs/ui/components/timeline/blocks/TextBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ThinkingBlock.d.ts +15 -0
- package/dist/cjs/ui/components/timeline/blocks/ThinkingBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ThinkingBlock.js +18 -0
- package/dist/cjs/ui/components/timeline/blocks/ThinkingBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolBlock.d.ts +13 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolBlock.js +54 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolResultBlock.d.ts +12 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolResultBlock.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolResultBlock.js +84 -0
- package/dist/cjs/ui/components/timeline/blocks/ToolResultBlock.js.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/index.d.ts +11 -0
- package/dist/cjs/ui/components/timeline/blocks/index.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/blocks/index.js +21 -0
- package/dist/cjs/ui/components/timeline/blocks/index.js.map +1 -0
- package/dist/cjs/ui/components/timeline/index.d.ts +10 -0
- package/dist/cjs/ui/components/timeline/index.d.ts.map +1 -0
- package/dist/cjs/ui/components/timeline/index.js +32 -0
- package/dist/cjs/ui/components/timeline/index.js.map +1 -0
- package/dist/cjs/ui/index.d.ts +10 -0
- package/dist/cjs/ui/index.d.ts.map +1 -0
- package/dist/cjs/ui/index.js +37 -0
- package/dist/cjs/ui/index.js.map +1 -0
- package/dist/cjs/ui/utils/extractTokens.d.ts +94 -0
- package/dist/cjs/ui/utils/extractTokens.d.ts.map +1 -0
- package/dist/cjs/ui/utils/extractTokens.js +191 -0
- package/dist/cjs/ui/utils/extractTokens.js.map +1 -0
- package/dist/cjs/ui/utils/markdown.d.ts +65 -0
- package/dist/cjs/ui/utils/markdown.d.ts.map +1 -0
- package/dist/cjs/ui/utils/markdown.js +240 -0
- package/dist/cjs/ui/utils/markdown.js.map +1 -0
- package/dist/cjs/ui/utils/processors/BaseMessageProcessor.d.ts +133 -0
- package/dist/cjs/ui/utils/processors/BaseMessageProcessor.d.ts.map +1 -0
- package/dist/cjs/ui/utils/processors/BaseMessageProcessor.js +550 -0
- package/dist/cjs/ui/utils/processors/BaseMessageProcessor.js.map +1 -0
- package/dist/cjs/ui/utils/processors/CanonicalMessageProcessor.d.ts +81 -0
- package/dist/cjs/ui/utils/processors/CanonicalMessageProcessor.d.ts.map +1 -0
- package/dist/cjs/ui/utils/processors/CanonicalMessageProcessor.js +449 -0
- package/dist/cjs/ui/utils/processors/CanonicalMessageProcessor.js.map +1 -0
- package/dist/cjs/ui/utils/processors/GenericMessageProcessor.d.ts +46 -0
- package/dist/cjs/ui/utils/processors/GenericMessageProcessor.d.ts.map +1 -0
- package/dist/cjs/ui/utils/processors/GenericMessageProcessor.js +176 -0
- package/dist/cjs/ui/utils/processors/GenericMessageProcessor.js.map +1 -0
- package/dist/cjs/ui/utils/processors/ProcessorRegistry.d.ts +33 -0
- package/dist/cjs/ui/utils/processors/ProcessorRegistry.d.ts.map +1 -0
- package/dist/cjs/ui/utils/processors/ProcessorRegistry.js +72 -0
- package/dist/cjs/ui/utils/processors/ProcessorRegistry.js.map +1 -0
- package/dist/cjs/ui/utils/processors/index.d.ts +11 -0
- package/dist/cjs/ui/utils/processors/index.d.ts.map +1 -0
- package/dist/cjs/ui/utils/processors/index.js +18 -0
- package/dist/cjs/ui/utils/processors/index.js.map +1 -0
- package/dist/cjs/ui/utils/sessionTypes.d.ts +2 -0
- package/dist/cjs/ui/utils/sessionTypes.d.ts.map +1 -0
- package/dist/cjs/ui/utils/sessionTypes.js +4 -0
- package/dist/cjs/ui/utils/sessionTypes.js.map +1 -0
- package/dist/cjs/ui/utils/systemReminderParser.d.ts +40 -0
- package/dist/cjs/ui/utils/systemReminderParser.d.ts.map +1 -0
- package/dist/cjs/ui/utils/systemReminderParser.js +112 -0
- package/dist/cjs/ui/utils/systemReminderParser.js.map +1 -0
- package/dist/cjs/ui/utils/timelineTypes.d.ts +201 -0
- package/dist/cjs/ui/utils/timelineTypes.d.ts.map +1 -0
- package/dist/cjs/ui/utils/timelineTypes.js +44 -0
- package/dist/cjs/ui/utils/timelineTypes.js.map +1 -0
- package/dist/cjs/ui/utils/todos/extractTodosClaudeCode.d.ts +9 -0
- package/dist/cjs/ui/utils/todos/extractTodosClaudeCode.d.ts.map +1 -0
- package/dist/cjs/ui/utils/todos/extractTodosClaudeCode.js +43 -0
- package/dist/cjs/ui/utils/todos/extractTodosClaudeCode.js.map +1 -0
- package/dist/cjs/ui/utils/todos/extractTodosCodex.d.ts +29 -0
- package/dist/cjs/ui/utils/todos/extractTodosCodex.d.ts.map +1 -0
- package/dist/cjs/ui/utils/todos/extractTodosCodex.js +164 -0
- package/dist/cjs/ui/utils/todos/extractTodosCodex.js.map +1 -0
- package/dist/cjs/ui/utils/todos/index.d.ts +18 -0
- package/dist/cjs/ui/utils/todos/index.d.ts.map +1 -0
- package/dist/cjs/ui/utils/todos/index.js +54 -0
- package/dist/cjs/ui/utils/todos/index.js.map +1 -0
- package/dist/cjs/ui/utils/todos/todoUtils.d.ts +27 -0
- package/dist/cjs/ui/utils/todos/todoUtils.d.ts.map +1 -0
- package/dist/cjs/ui/utils/todos/todoUtils.js +124 -0
- package/dist/cjs/ui/utils/todos/todoUtils.js.map +1 -0
- package/dist/cjs/ui/utils/todos/types.d.ts +41 -0
- package/dist/cjs/ui/utils/todos/types.d.ts.map +1 -0
- package/dist/cjs/ui/utils/todos/types.js +6 -0
- package/dist/cjs/ui/utils/todos/types.js.map +1 -0
- package/dist/cjs/utils/git-url.d.ts +25 -0
- package/dist/cjs/utils/git-url.d.ts.map +1 -0
- package/dist/cjs/utils/git-url.js +60 -0
- package/dist/cjs/utils/git-url.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +7 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +23 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/rating.d.ts +61 -0
- package/dist/cjs/utils/rating.d.ts.map +1 -0
- package/dist/cjs/utils/rating.js +96 -0
- package/dist/cjs/utils/rating.js.map +1 -0
- package/dist/cjs/utils/safe-access.d.ts +43 -0
- package/dist/cjs/utils/safe-access.d.ts.map +1 -0
- package/dist/cjs/utils/safe-access.js +89 -0
- package/dist/cjs/utils/safe-access.js.map +1 -0
- package/dist/cjs/utils/user.d.ts +22 -0
- package/dist/cjs/utils/user.d.ts.map +1 -0
- package/dist/cjs/utils/user.js +39 -0
- package/dist/cjs/utils/user.js.map +1 -0
- package/dist/cjs/validation/index.d.ts +8 -0
- package/dist/cjs/validation/index.d.ts.map +1 -0
- package/dist/cjs/validation/index.js +21 -0
- package/dist/cjs/validation/index.js.map +1 -0
- package/dist/cjs/validation/validator.d.ts +48 -0
- package/dist/cjs/validation/validator.d.ts.map +1 -0
- package/dist/cjs/validation/validator.js +207 -0
- package/dist/cjs/validation/validator.js.map +1 -0
- package/dist/esm/ai-models/base/index.d.ts +4 -0
- package/dist/esm/ai-models/base/index.d.ts.map +1 -0
- package/dist/esm/ai-models/base/index.js +3 -0
- package/dist/esm/ai-models/base/index.js.map +1 -0
- package/dist/esm/ai-models/base/model-adapter.d.ts +47 -0
- package/dist/esm/ai-models/base/model-adapter.d.ts.map +1 -0
- package/dist/esm/ai-models/base/model-adapter.js +76 -0
- package/dist/esm/ai-models/base/model-adapter.js.map +1 -0
- package/dist/esm/ai-models/base/model-task.d.ts +35 -0
- package/dist/esm/ai-models/base/model-task.d.ts.map +1 -0
- package/dist/esm/ai-models/base/model-task.js +36 -0
- package/dist/esm/ai-models/base/model-task.js.map +1 -0
- package/dist/esm/ai-models/base/types.d.ts +78 -0
- package/dist/esm/ai-models/base/types.d.ts.map +1 -0
- package/dist/esm/ai-models/base/types.js +2 -0
- package/dist/esm/ai-models/base/types.js.map +1 -0
- package/dist/esm/ai-models/index.d.ts +9 -0
- package/dist/esm/ai-models/index.d.ts.map +1 -0
- package/dist/esm/ai-models/index.js +11 -0
- package/dist/esm/ai-models/index.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/client.d.ts +122 -0
- package/dist/esm/ai-models/providers/claude/client.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/client.js +142 -0
- package/dist/esm/ai-models/providers/claude/client.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/index.d.ts +38 -0
- package/dist/esm/ai-models/providers/claude/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/index.js +141 -0
- package/dist/esm/ai-models/providers/claude/index.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/index.d.ts +5 -0
- package/dist/esm/ai-models/providers/claude/tasks/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/index.js +5 -0
- package/dist/esm/ai-models/providers/claude/tasks/index.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/intent-extraction.d.ts +27 -0
- package/dist/esm/ai-models/providers/claude/tasks/intent-extraction.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/intent-extraction.js +138 -0
- package/dist/esm/ai-models/providers/claude/tasks/intent-extraction.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/quality-assessment.d.ts +31 -0
- package/dist/esm/ai-models/providers/claude/tasks/quality-assessment.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/quality-assessment.js +153 -0
- package/dist/esm/ai-models/providers/claude/tasks/quality-assessment.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-phase-analysis.d.ts +67 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-phase-analysis.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-phase-analysis.js +272 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-phase-analysis.js.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-summary.d.ts +26 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-summary.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-summary.js +171 -0
- package/dist/esm/ai-models/providers/claude/tasks/session-summary.js.map +1 -0
- package/dist/esm/ai-models/providers/gemini/client.d.ts +127 -0
- package/dist/esm/ai-models/providers/gemini/client.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/gemini/client.js +213 -0
- package/dist/esm/ai-models/providers/gemini/client.js.map +1 -0
- package/dist/esm/ai-models/providers/gemini/index.d.ts +38 -0
- package/dist/esm/ai-models/providers/gemini/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/gemini/index.js +141 -0
- package/dist/esm/ai-models/providers/gemini/index.js.map +1 -0
- package/dist/esm/ai-models/providers/gemini/tasks/index.d.ts +2 -0
- package/dist/esm/ai-models/providers/gemini/tasks/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/gemini/tasks/index.js +4 -0
- package/dist/esm/ai-models/providers/gemini/tasks/index.js.map +1 -0
- package/dist/esm/ai-models/providers/index.d.ts +5 -0
- package/dist/esm/ai-models/providers/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/index.js +6 -0
- package/dist/esm/ai-models/providers/index.js.map +1 -0
- package/dist/esm/ai-models/providers/openai/client.d.ts +120 -0
- package/dist/esm/ai-models/providers/openai/client.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/openai/client.js +197 -0
- package/dist/esm/ai-models/providers/openai/client.js.map +1 -0
- package/dist/esm/ai-models/providers/openai/index.d.ts +38 -0
- package/dist/esm/ai-models/providers/openai/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/openai/index.js +141 -0
- package/dist/esm/ai-models/providers/openai/index.js.map +1 -0
- package/dist/esm/ai-models/providers/openai/tasks/index.d.ts +5 -0
- package/dist/esm/ai-models/providers/openai/tasks/index.d.ts.map +1 -0
- package/dist/esm/ai-models/providers/openai/tasks/index.js +7 -0
- package/dist/esm/ai-models/providers/openai/tasks/index.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/parsers/base/BaseParser.d.ts +67 -0
- package/dist/esm/parsers/base/BaseParser.d.ts.map +1 -0
- package/dist/esm/parsers/base/BaseParser.js +201 -0
- package/dist/esm/parsers/base/BaseParser.js.map +1 -0
- package/dist/esm/parsers/base/index.d.ts +3 -0
- package/dist/esm/parsers/base/index.d.ts.map +1 -0
- package/dist/esm/parsers/base/index.js +2 -0
- package/dist/esm/parsers/base/index.js.map +1 -0
- package/dist/esm/parsers/base/types.d.ts +112 -0
- package/dist/esm/parsers/base/types.d.ts.map +1 -0
- package/dist/esm/parsers/base/types.js +8 -0
- package/dist/esm/parsers/base/types.js.map +1 -0
- package/dist/esm/parsers/canonical/index.d.ts +8 -0
- package/dist/esm/parsers/canonical/index.d.ts.map +1 -0
- package/dist/esm/parsers/canonical/index.js +7 -0
- package/dist/esm/parsers/canonical/index.js.map +1 -0
- package/dist/esm/parsers/canonical/parser.d.ts +60 -0
- package/dist/esm/parsers/canonical/parser.d.ts.map +1 -0
- package/dist/esm/parsers/canonical/parser.js +416 -0
- package/dist/esm/parsers/canonical/parser.js.map +1 -0
- package/dist/esm/parsers/canonical/types.d.ts +99 -0
- package/dist/esm/parsers/canonical/types.d.ts.map +1 -0
- package/dist/esm/parsers/canonical/types.js +8 -0
- package/dist/esm/parsers/canonical/types.js.map +1 -0
- package/dist/esm/parsers/index.d.ts +13 -0
- package/dist/esm/parsers/index.d.ts.map +1 -0
- package/dist/esm/parsers/index.js +14 -0
- package/dist/esm/parsers/index.js.map +1 -0
- package/dist/esm/parsers/registry.d.ts +34 -0
- package/dist/esm/parsers/registry.d.ts.map +1 -0
- package/dist/esm/parsers/registry.js +85 -0
- package/dist/esm/parsers/registry.js.map +1 -0
- package/dist/esm/processors/base/git-diff-processor.d.ts +38 -0
- package/dist/esm/processors/base/git-diff-processor.d.ts.map +1 -0
- package/dist/esm/processors/base/git-diff-processor.js +124 -0
- package/dist/esm/processors/base/git-diff-processor.js.map +1 -0
- package/dist/esm/processors/base/index.d.ts +5 -0
- package/dist/esm/processors/base/index.d.ts.map +1 -0
- package/dist/esm/processors/base/index.js +4 -0
- package/dist/esm/processors/base/index.js.map +1 -0
- package/dist/esm/processors/base/metric-processor.d.ts +42 -0
- package/dist/esm/processors/base/metric-processor.d.ts.map +1 -0
- package/dist/esm/processors/base/metric-processor.js +79 -0
- package/dist/esm/processors/base/metric-processor.js.map +1 -0
- package/dist/esm/processors/base/provider-processor.d.ts +45 -0
- package/dist/esm/processors/base/provider-processor.d.ts.map +1 -0
- package/dist/esm/processors/base/provider-processor.js +105 -0
- package/dist/esm/processors/base/provider-processor.js.map +1 -0
- package/dist/esm/processors/base/types.d.ts +2 -0
- package/dist/esm/processors/base/types.d.ts.map +1 -0
- package/dist/esm/processors/base/types.js +2 -0
- package/dist/esm/processors/base/types.js.map +1 -0
- package/dist/esm/processors/canonical/index.d.ts +24 -0
- package/dist/esm/processors/canonical/index.d.ts.map +1 -0
- package/dist/esm/processors/canonical/index.js +42 -0
- package/dist/esm/processors/canonical/index.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/context.d.ts +38 -0
- package/dist/esm/processors/canonical/metrics/context.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/context.js +153 -0
- package/dist/esm/processors/canonical/metrics/context.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/engagement.d.ts +32 -0
- package/dist/esm/processors/canonical/metrics/engagement.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/engagement.js +114 -0
- package/dist/esm/processors/canonical/metrics/engagement.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/error.d.ts +48 -0
- package/dist/esm/processors/canonical/metrics/error.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/error.js +199 -0
- package/dist/esm/processors/canonical/metrics/error.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/performance.d.ts +24 -0
- package/dist/esm/processors/canonical/metrics/performance.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/performance.js +67 -0
- package/dist/esm/processors/canonical/metrics/performance.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/quality.d.ts +52 -0
- package/dist/esm/processors/canonical/metrics/quality.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/quality.js +276 -0
- package/dist/esm/processors/canonical/metrics/quality.js.map +1 -0
- package/dist/esm/processors/canonical/metrics/usage.d.ts +64 -0
- package/dist/esm/processors/canonical/metrics/usage.d.ts.map +1 -0
- package/dist/esm/processors/canonical/metrics/usage.js +320 -0
- package/dist/esm/processors/canonical/metrics/usage.js.map +1 -0
- package/dist/esm/processors/index.d.ts +10 -0
- package/dist/esm/processors/index.d.ts.map +1 -0
- package/dist/esm/processors/index.js +14 -0
- package/dist/esm/processors/index.js.map +1 -0
- package/dist/esm/processors/providers/claude-code/index.d.ts +39 -0
- package/dist/esm/processors/providers/claude-code/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/claude-code/index.js +196 -0
- package/dist/esm/processors/providers/claude-code/index.js.map +1 -0
- package/dist/esm/processors/providers/codex/index.d.ts +11 -0
- package/dist/esm/processors/providers/codex/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/codex/index.js +31 -0
- package/dist/esm/processors/providers/codex/index.js.map +1 -0
- package/dist/esm/processors/providers/cursor/index.d.ts +16 -0
- package/dist/esm/processors/providers/cursor/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/cursor/index.js +92 -0
- package/dist/esm/processors/providers/cursor/index.js.map +1 -0
- package/dist/esm/processors/providers/gemini/index.d.ts +16 -0
- package/dist/esm/processors/providers/gemini/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/gemini/index.js +108 -0
- package/dist/esm/processors/providers/gemini/index.js.map +1 -0
- package/dist/esm/processors/providers/github-copilot/index.d.ts +11 -0
- package/dist/esm/processors/providers/github-copilot/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/github-copilot/index.js +31 -0
- package/dist/esm/processors/providers/github-copilot/index.js.map +1 -0
- package/dist/esm/processors/providers/opencode/index.d.ts +11 -0
- package/dist/esm/processors/providers/opencode/index.d.ts.map +1 -0
- package/dist/esm/processors/providers/opencode/index.js +31 -0
- package/dist/esm/processors/providers/opencode/index.js.map +1 -0
- package/dist/esm/processors/registry.d.ts +95 -0
- package/dist/esm/processors/registry.d.ts.map +1 -0
- package/dist/esm/processors/registry.js +210 -0
- package/dist/esm/processors/registry.js.map +1 -0
- package/dist/esm/ui/components/DateFilter.d.ts +19 -0
- package/dist/esm/ui/components/DateFilter.d.ts.map +1 -0
- package/dist/esm/ui/components/DateFilter.js +79 -0
- package/dist/esm/ui/components/DateFilter.js.map +1 -0
- package/dist/esm/ui/components/QuickRatingPopover.d.ts +17 -0
- package/dist/esm/ui/components/QuickRatingPopover.d.ts.map +1 -0
- package/dist/esm/ui/components/QuickRatingPopover.js +55 -0
- package/dist/esm/ui/components/QuickRatingPopover.js.map +1 -0
- package/dist/esm/ui/components/RatingBadge.d.ts +17 -0
- package/dist/esm/ui/components/RatingBadge.d.ts.map +1 -0
- package/dist/esm/ui/components/RatingBadge.js +119 -0
- package/dist/esm/ui/components/RatingBadge.js.map +1 -0
- package/dist/esm/ui/components/ScrollToTopButton.d.ts +17 -0
- package/dist/esm/ui/components/ScrollToTopButton.d.ts.map +1 -0
- package/dist/esm/ui/components/ScrollToTopButton.js +60 -0
- package/dist/esm/ui/components/ScrollToTopButton.js.map +1 -0
- package/dist/esm/ui/components/SessionCard.d.ts +60 -0
- package/dist/esm/ui/components/SessionCard.d.ts.map +1 -0
- package/dist/esm/ui/components/SessionCard.js +250 -0
- package/dist/esm/ui/components/SessionCard.js.map +1 -0
- package/dist/esm/ui/components/SessionDetailHeader.d.ts +57 -0
- package/dist/esm/ui/components/SessionDetailHeader.d.ts.map +1 -0
- package/dist/esm/ui/components/SessionDetailHeader.js +97 -0
- package/dist/esm/ui/components/SessionDetailHeader.js.map +1 -0
- package/dist/esm/ui/components/SessionTodosTab.d.ts +9 -0
- package/dist/esm/ui/components/SessionTodosTab.d.ts.map +1 -0
- package/dist/esm/ui/components/SessionTodosTab.js +66 -0
- package/dist/esm/ui/components/SessionTodosTab.js.map +1 -0
- package/dist/esm/ui/components/TokenUsageChart.d.ts +20 -0
- package/dist/esm/ui/components/TokenUsageChart.d.ts.map +1 -0
- package/dist/esm/ui/components/TokenUsageChart.js +123 -0
- package/dist/esm/ui/components/TokenUsageChart.js.map +1 -0
- package/dist/esm/ui/components/assessment/AssessmentModal.d.ts +3 -0
- package/dist/esm/ui/components/assessment/AssessmentModal.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/AssessmentModal.js +141 -0
- package/dist/esm/ui/components/assessment/AssessmentModal.js.map +1 -0
- package/dist/esm/ui/components/assessment/ChoiceResponse.d.ts +9 -0
- package/dist/esm/ui/components/assessment/ChoiceResponse.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/ChoiceResponse.js +27 -0
- package/dist/esm/ui/components/assessment/ChoiceResponse.js.map +1 -0
- package/dist/esm/ui/components/assessment/LikertScale.d.ts +3 -0
- package/dist/esm/ui/components/assessment/LikertScale.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/LikertScale.js +73 -0
- package/dist/esm/ui/components/assessment/LikertScale.js.map +1 -0
- package/dist/esm/ui/components/assessment/ProgressBar.d.ts +3 -0
- package/dist/esm/ui/components/assessment/ProgressBar.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/ProgressBar.js +6 -0
- package/dist/esm/ui/components/assessment/ProgressBar.js.map +1 -0
- package/dist/esm/ui/components/assessment/QuestionCard.d.ts +3 -0
- package/dist/esm/ui/components/assessment/QuestionCard.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/QuestionCard.js +124 -0
- package/dist/esm/ui/components/assessment/QuestionCard.js.map +1 -0
- package/dist/esm/ui/components/assessment/TextResponse.d.ts +3 -0
- package/dist/esm/ui/components/assessment/TextResponse.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/TextResponse.js +5 -0
- package/dist/esm/ui/components/assessment/TextResponse.js.map +1 -0
- package/dist/esm/ui/components/assessment/VersionSelector.d.ts +7 -0
- package/dist/esm/ui/components/assessment/VersionSelector.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/VersionSelector.js +68 -0
- package/dist/esm/ui/components/assessment/VersionSelector.js.map +1 -0
- package/dist/esm/ui/components/assessment/index.d.ts +9 -0
- package/dist/esm/ui/components/assessment/index.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/index.js +9 -0
- package/dist/esm/ui/components/assessment/index.js.map +1 -0
- package/dist/esm/ui/components/assessment/types.d.ts +58 -0
- package/dist/esm/ui/components/assessment/types.d.ts.map +1 -0
- package/dist/esm/ui/components/assessment/types.js +2 -0
- package/dist/esm/ui/components/assessment/types.js.map +1 -0
- package/dist/esm/ui/components/index.d.ts +39 -0
- package/dist/esm/ui/components/index.d.ts.map +1 -0
- package/dist/esm/ui/components/index.js +45 -0
- package/dist/esm/ui/components/index.js.map +1 -0
- package/dist/esm/ui/components/metrics/AssessmentSection.d.ts +27 -0
- package/dist/esm/ui/components/metrics/AssessmentSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/AssessmentSection.js +76 -0
- package/dist/esm/ui/components/metrics/AssessmentSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/MetricCard.d.ts +20 -0
- package/dist/esm/ui/components/metrics/MetricCard.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/MetricCard.js +77 -0
- package/dist/esm/ui/components/metrics/MetricCard.js.map +1 -0
- package/dist/esm/ui/components/metrics/MetricSection.d.ts +12 -0
- package/dist/esm/ui/components/metrics/MetricSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/MetricSection.js +5 -0
- package/dist/esm/ui/components/metrics/MetricSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/MetricsOverview.d.ts +89 -0
- package/dist/esm/ui/components/metrics/MetricsOverview.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/MetricsOverview.js +26 -0
- package/dist/esm/ui/components/metrics/MetricsOverview.js.map +1 -0
- package/dist/esm/ui/components/metrics/metricThresholds.d.ts +40 -0
- package/dist/esm/ui/components/metrics/metricThresholds.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/metricThresholds.js +203 -0
- package/dist/esm/ui/components/metrics/metricThresholds.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/AIAssessmentSection.d.ts +12 -0
- package/dist/esm/ui/components/metrics/sections/AIAssessmentSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/AIAssessmentSection.js +28 -0
- package/dist/esm/ui/components/metrics/sections/AIAssessmentSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/ContextMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/ContextMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/ContextMetricsSection.js +18 -0
- package/dist/esm/ui/components/metrics/sections/ContextMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/EngagementMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/EngagementMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/EngagementMetricsSection.js +18 -0
- package/dist/esm/ui/components/metrics/sections/EngagementMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/ErrorMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/ErrorMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/ErrorMetricsSection.js +14 -0
- package/dist/esm/ui/components/metrics/sections/ErrorMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/GitDiffMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/GitDiffMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/GitDiffMetricsSection.js +19 -0
- package/dist/esm/ui/components/metrics/sections/GitDiffMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/PerformanceMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/PerformanceMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/PerformanceMetricsSection.js +18 -0
- package/dist/esm/ui/components/metrics/sections/PerformanceMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/QualityMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/QualityMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/QualityMetricsSection.js +23 -0
- package/dist/esm/ui/components/metrics/sections/QualityMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/metrics/sections/UsageMetricsSection.d.ts +10 -0
- package/dist/esm/ui/components/metrics/sections/UsageMetricsSection.d.ts.map +1 -0
- package/dist/esm/ui/components/metrics/sections/UsageMetricsSection.js +14 -0
- package/dist/esm/ui/components/metrics/sections/UsageMetricsSection.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseBlock.d.ts +19 -0
- package/dist/esm/ui/components/phase/PhaseBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseBlock.js +13 -0
- package/dist/esm/ui/components/phase/PhaseBlock.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseHeader.d.ts +10 -0
- package/dist/esm/ui/components/phase/PhaseHeader.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseHeader.js +12 -0
- package/dist/esm/ui/components/phase/PhaseHeader.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseIcon.d.ts +22 -0
- package/dist/esm/ui/components/phase/PhaseIcon.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseIcon.js +71 -0
- package/dist/esm/ui/components/phase/PhaseIcon.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseStats.d.ts +13 -0
- package/dist/esm/ui/components/phase/PhaseStats.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseStats.js +24 -0
- package/dist/esm/ui/components/phase/PhaseStats.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseSummary.d.ts +9 -0
- package/dist/esm/ui/components/phase/PhaseSummary.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseSummary.js +5 -0
- package/dist/esm/ui/components/phase/PhaseSummary.js.map +1 -0
- package/dist/esm/ui/components/phase/PhaseTimeline.d.ts +17 -0
- package/dist/esm/ui/components/phase/PhaseTimeline.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/PhaseTimeline.js +22 -0
- package/dist/esm/ui/components/phase/PhaseTimeline.js.map +1 -0
- package/dist/esm/ui/components/phase/index.d.ts +12 -0
- package/dist/esm/ui/components/phase/index.d.ts.map +1 -0
- package/dist/esm/ui/components/phase/index.js +10 -0
- package/dist/esm/ui/components/phase/index.js.map +1 -0
- package/dist/esm/ui/components/timeline/ContentRenderer.d.ts +10 -0
- package/dist/esm/ui/components/timeline/ContentRenderer.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/ContentRenderer.js +73 -0
- package/dist/esm/ui/components/timeline/ContentRenderer.js.map +1 -0
- package/dist/esm/ui/components/timeline/DebugModal.d.ts +14 -0
- package/dist/esm/ui/components/timeline/DebugModal.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/DebugModal.js +27 -0
- package/dist/esm/ui/components/timeline/DebugModal.js.map +1 -0
- package/dist/esm/ui/components/timeline/MessageHeader.d.ts +11 -0
- package/dist/esm/ui/components/timeline/MessageHeader.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/MessageHeader.js +7 -0
- package/dist/esm/ui/components/timeline/MessageHeader.js.map +1 -0
- package/dist/esm/ui/components/timeline/TimelineGroup.d.ts +10 -0
- package/dist/esm/ui/components/timeline/TimelineGroup.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/TimelineGroup.js +7 -0
- package/dist/esm/ui/components/timeline/TimelineGroup.js.map +1 -0
- package/dist/esm/ui/components/timeline/TimelineMessage.d.ts +12 -0
- package/dist/esm/ui/components/timeline/TimelineMessage.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/TimelineMessage.js +23 -0
- package/dist/esm/ui/components/timeline/TimelineMessage.js.map +1 -0
- package/dist/esm/ui/components/timeline/VirtualizedMessageList.d.ts +36 -0
- package/dist/esm/ui/components/timeline/VirtualizedMessageList.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/VirtualizedMessageList.js +90 -0
- package/dist/esm/ui/components/timeline/VirtualizedMessageList.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/CodeBlock.d.ts +10 -0
- package/dist/esm/ui/components/timeline/blocks/CodeBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/CodeBlock.js +14 -0
- package/dist/esm/ui/components/timeline/blocks/CodeBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ImageBlock.d.ts +10 -0
- package/dist/esm/ui/components/timeline/blocks/ImageBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ImageBlock.js +5 -0
- package/dist/esm/ui/components/timeline/blocks/ImageBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/JsonBlock.d.ts +10 -0
- package/dist/esm/ui/components/timeline/blocks/JsonBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/JsonBlock.js +11 -0
- package/dist/esm/ui/components/timeline/blocks/JsonBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/SystemReminderBlock.d.ts +16 -0
- package/dist/esm/ui/components/timeline/blocks/SystemReminderBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/SystemReminderBlock.js +90 -0
- package/dist/esm/ui/components/timeline/blocks/SystemReminderBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/TextBlock.d.ts +13 -0
- package/dist/esm/ui/components/timeline/blocks/TextBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/TextBlock.js +188 -0
- package/dist/esm/ui/components/timeline/blocks/TextBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ThinkingBlock.d.ts +15 -0
- package/dist/esm/ui/components/timeline/blocks/ThinkingBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ThinkingBlock.js +15 -0
- package/dist/esm/ui/components/timeline/blocks/ThinkingBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ToolBlock.d.ts +13 -0
- package/dist/esm/ui/components/timeline/blocks/ToolBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ToolBlock.js +51 -0
- package/dist/esm/ui/components/timeline/blocks/ToolBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ToolResultBlock.d.ts +12 -0
- package/dist/esm/ui/components/timeline/blocks/ToolResultBlock.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/ToolResultBlock.js +81 -0
- package/dist/esm/ui/components/timeline/blocks/ToolResultBlock.js.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/index.d.ts +11 -0
- package/dist/esm/ui/components/timeline/blocks/index.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/blocks/index.js +11 -0
- package/dist/esm/ui/components/timeline/blocks/index.js.map +1 -0
- package/dist/esm/ui/components/timeline/index.d.ts +10 -0
- package/dist/esm/ui/components/timeline/index.d.ts.map +1 -0
- package/dist/esm/ui/components/timeline/index.js +10 -0
- package/dist/esm/ui/components/timeline/index.js.map +1 -0
- package/dist/esm/ui/index.d.ts +10 -0
- package/dist/esm/ui/index.d.ts.map +1 -0
- package/dist/esm/ui/index.js +15 -0
- package/dist/esm/ui/index.js.map +1 -0
- package/dist/esm/ui/utils/extractTokens.d.ts +94 -0
- package/dist/esm/ui/utils/extractTokens.d.ts.map +1 -0
- package/dist/esm/ui/utils/extractTokens.js +185 -0
- package/dist/esm/ui/utils/extractTokens.js.map +1 -0
- package/dist/esm/ui/utils/markdown.d.ts +65 -0
- package/dist/esm/ui/utils/markdown.d.ts.map +1 -0
- package/dist/esm/ui/utils/markdown.js +199 -0
- package/dist/esm/ui/utils/markdown.js.map +1 -0
- package/dist/esm/ui/utils/processors/BaseMessageProcessor.d.ts +133 -0
- package/dist/esm/ui/utils/processors/BaseMessageProcessor.d.ts.map +1 -0
- package/dist/esm/ui/utils/processors/BaseMessageProcessor.js +546 -0
- package/dist/esm/ui/utils/processors/BaseMessageProcessor.js.map +1 -0
- package/dist/esm/ui/utils/processors/CanonicalMessageProcessor.d.ts +81 -0
- package/dist/esm/ui/utils/processors/CanonicalMessageProcessor.d.ts.map +1 -0
- package/dist/esm/ui/utils/processors/CanonicalMessageProcessor.js +442 -0
- package/dist/esm/ui/utils/processors/CanonicalMessageProcessor.js.map +1 -0
- package/dist/esm/ui/utils/processors/GenericMessageProcessor.d.ts +46 -0
- package/dist/esm/ui/utils/processors/GenericMessageProcessor.d.ts.map +1 -0
- package/dist/esm/ui/utils/processors/GenericMessageProcessor.js +169 -0
- package/dist/esm/ui/utils/processors/GenericMessageProcessor.js.map +1 -0
- package/dist/esm/ui/utils/processors/ProcessorRegistry.d.ts +33 -0
- package/dist/esm/ui/utils/processors/ProcessorRegistry.d.ts.map +1 -0
- package/dist/esm/ui/utils/processors/ProcessorRegistry.js +71 -0
- package/dist/esm/ui/utils/processors/ProcessorRegistry.js.map +1 -0
- package/dist/esm/ui/utils/processors/index.d.ts +11 -0
- package/dist/esm/ui/utils/processors/index.d.ts.map +1 -0
- package/dist/esm/ui/utils/processors/index.js +11 -0
- package/dist/esm/ui/utils/processors/index.js.map +1 -0
- package/dist/esm/ui/utils/sessionTypes.d.ts +2 -0
- package/dist/esm/ui/utils/sessionTypes.d.ts.map +1 -0
- package/dist/esm/ui/utils/sessionTypes.js +3 -0
- package/dist/esm/ui/utils/sessionTypes.js.map +1 -0
- package/dist/esm/ui/utils/systemReminderParser.d.ts +40 -0
- package/dist/esm/ui/utils/systemReminderParser.d.ts.map +1 -0
- package/dist/esm/ui/utils/systemReminderParser.js +104 -0
- package/dist/esm/ui/utils/systemReminderParser.js.map +1 -0
- package/dist/esm/ui/utils/timelineTypes.d.ts +201 -0
- package/dist/esm/ui/utils/timelineTypes.d.ts.map +1 -0
- package/dist/esm/ui/utils/timelineTypes.js +38 -0
- package/dist/esm/ui/utils/timelineTypes.js.map +1 -0
- package/dist/esm/ui/utils/todos/extractTodosClaudeCode.d.ts +9 -0
- package/dist/esm/ui/utils/todos/extractTodosClaudeCode.d.ts.map +1 -0
- package/dist/esm/ui/utils/todos/extractTodosClaudeCode.js +37 -0
- package/dist/esm/ui/utils/todos/extractTodosClaudeCode.js.map +1 -0
- package/dist/esm/ui/utils/todos/extractTodosCodex.d.ts +29 -0
- package/dist/esm/ui/utils/todos/extractTodosCodex.d.ts.map +1 -0
- package/dist/esm/ui/utils/todos/extractTodosCodex.js +158 -0
- package/dist/esm/ui/utils/todos/extractTodosCodex.js.map +1 -0
- package/dist/esm/ui/utils/todos/index.d.ts +18 -0
- package/dist/esm/ui/utils/todos/index.d.ts.map +1 -0
- package/dist/esm/ui/utils/todos/index.js +36 -0
- package/dist/esm/ui/utils/todos/index.js.map +1 -0
- package/dist/esm/ui/utils/todos/todoUtils.d.ts +27 -0
- package/dist/esm/ui/utils/todos/todoUtils.d.ts.map +1 -0
- package/dist/esm/ui/utils/todos/todoUtils.js +117 -0
- package/dist/esm/ui/utils/todos/todoUtils.js.map +1 -0
- package/dist/esm/ui/utils/todos/types.d.ts +41 -0
- package/dist/esm/ui/utils/todos/types.d.ts.map +1 -0
- package/dist/esm/ui/utils/todos/types.js +5 -0
- package/dist/esm/ui/utils/todos/types.js.map +1 -0
- package/dist/esm/utils/git-url.d.ts +25 -0
- package/dist/esm/utils/git-url.d.ts.map +1 -0
- package/dist/esm/utils/git-url.js +56 -0
- package/dist/esm/utils/git-url.js.map +1 -0
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/rating.d.ts +61 -0
- package/dist/esm/utils/rating.d.ts.map +1 -0
- package/dist/esm/utils/rating.js +91 -0
- package/dist/esm/utils/rating.js.map +1 -0
- package/dist/esm/utils/safe-access.d.ts +43 -0
- package/dist/esm/utils/safe-access.d.ts.map +1 -0
- package/dist/esm/utils/safe-access.js +78 -0
- package/dist/esm/utils/safe-access.js.map +1 -0
- package/dist/esm/utils/user.d.ts +22 -0
- package/dist/esm/utils/user.d.ts.map +1 -0
- package/dist/esm/utils/user.js +36 -0
- package/dist/esm/utils/user.js.map +1 -0
- package/dist/esm/validation/index.d.ts +8 -0
- package/dist/esm/validation/index.d.ts.map +1 -0
- package/dist/esm/validation/index.js +10 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/validation/validator.d.ts +48 -0
- package/dist/esm/validation/validator.d.ts.map +1 -0
- package/dist/esm/validation/validator.js +203 -0
- package/dist/esm/validation/validator.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/index.css +31 -0
- package/package.json +144 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAA;AAGrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,0BAA0B,CAAA;AAGxC,cAAc,wBAAwB,CAAA;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,YAAY,EACV,eAAe,IAAI,mBAAmB,EACtC,aAAa,IAAI,iBAAiB,EAClC,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,GACZ,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AAGjC,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Export all components
|
|
2
|
+
export * from './components/index.js';
|
|
3
|
+
// Export utilities
|
|
4
|
+
export * from './utils/sessionTypes.js';
|
|
5
|
+
export * from './utils/markdown.js';
|
|
6
|
+
// Export token extraction utilities
|
|
7
|
+
export * from './utils/extractTokens.js';
|
|
8
|
+
// Export todo extraction utilities
|
|
9
|
+
export * from './utils/todos/index.js';
|
|
10
|
+
// Re-export parser registry for convenience (already exported from parsers/index.js)
|
|
11
|
+
export { parserRegistry } from '../parsers/index.js';
|
|
12
|
+
export { isTimelineGroup, isTimelineMessage, createDisplayMetadata, createContentBlock, } from './utils/timelineTypes.js';
|
|
13
|
+
// Export message processors
|
|
14
|
+
export * from './utils/processors/index.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,uBAAuB,CAAA;AAErC,mBAAmB;AACnB,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AAEnC,oCAAoC;AACpC,cAAc,0BAA0B,CAAA;AAExC,mCAAmC;AACnC,cAAc,wBAAwB,CAAA;AAEtC,qFAAqF;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAcpD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AAEjC,4BAA4B;AAC5B,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token extraction and aggregation utilities for transcript visualization
|
|
3
|
+
*
|
|
4
|
+
* Handles token data extraction from various AI provider message formats
|
|
5
|
+
* and provides both per-message and cumulative token calculations.
|
|
6
|
+
*
|
|
7
|
+
* Uses the SAME logic as the session-processing metrics to ensure consistency:
|
|
8
|
+
* - Claude Code & Codex: metadata.usage.{input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens}
|
|
9
|
+
* - Gemini: metadata.tokens.{input, output, cached, thoughts, tool}
|
|
10
|
+
* - Excludes sidechain messages from main context calculations
|
|
11
|
+
*/
|
|
12
|
+
import type { TimelineItem, TimelineMessage } from './timelineTypes.js';
|
|
13
|
+
/**
|
|
14
|
+
* Token data for a single message
|
|
15
|
+
* Matches the structure used in PerMessageTokens from metrics
|
|
16
|
+
*/
|
|
17
|
+
export interface MessageTokenData {
|
|
18
|
+
messageId: string;
|
|
19
|
+
messageIndex: number;
|
|
20
|
+
inputTokens: number;
|
|
21
|
+
outputTokens: number;
|
|
22
|
+
cacheCreated: number;
|
|
23
|
+
cacheRead: number;
|
|
24
|
+
totalTokens: number;
|
|
25
|
+
isSidechain: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Token data with cumulative totals (for context length visualization)
|
|
29
|
+
* Shows how context grows over time as messages are added
|
|
30
|
+
*
|
|
31
|
+
* Note: cacheRead is NOT accumulated here because it's already cumulative
|
|
32
|
+
* from the API (cache_read_input_tokens shows total cached tokens up to that point)
|
|
33
|
+
*/
|
|
34
|
+
export interface CumulativeTokenData extends MessageTokenData {
|
|
35
|
+
cumulativeInput: number;
|
|
36
|
+
cumulativeOutput: number;
|
|
37
|
+
cumulativeCacheCreated: number;
|
|
38
|
+
cumulativeTotal: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Extract token usage from a timeline message
|
|
42
|
+
* Supports multiple provider formats (Claude, Gemini, etc.)
|
|
43
|
+
*/
|
|
44
|
+
export declare function extractMessageTokens(message: TimelineMessage): {
|
|
45
|
+
input: number;
|
|
46
|
+
output: number;
|
|
47
|
+
cacheCreated: number;
|
|
48
|
+
cacheRead: number;
|
|
49
|
+
isSidechain: boolean;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Calculate per-message token data from timeline items
|
|
53
|
+
* Includes ALL messages (main chain and sidechain) for total token visualization
|
|
54
|
+
*/
|
|
55
|
+
export declare function calculatePerMessageTokens(items: TimelineItem[]): MessageTokenData[];
|
|
56
|
+
/**
|
|
57
|
+
* Calculate cumulative token data (actual context size as it grows)
|
|
58
|
+
*
|
|
59
|
+
* Shows the ACTUAL context composition at each message point:
|
|
60
|
+
* - cache_read_input_tokens: Already cumulative from API (total cached tokens)
|
|
61
|
+
* - input_tokens: NEW tokens for this message (not cumulative - fresh per message)
|
|
62
|
+
* - output_tokens: Cumulative sum of all outputs generated so far
|
|
63
|
+
*
|
|
64
|
+
* Total context = cacheRead + input + cumulativeOutput
|
|
65
|
+
*
|
|
66
|
+
* This matches what the API actually sees as context and should equal the
|
|
67
|
+
* context_length metric on the metrics page.
|
|
68
|
+
*
|
|
69
|
+
* IMPORTANT: Unlike billable token tracking which sums ALL inputs, this shows
|
|
70
|
+
* the actual context window composition where cache_read represents reused tokens.
|
|
71
|
+
*/
|
|
72
|
+
export declare function calculateCumulativeTokens(items: TimelineItem[]): CumulativeTokenData[];
|
|
73
|
+
/**
|
|
74
|
+
* Format token data for recharts (stacked bar chart)
|
|
75
|
+
* Returns data in the format recharts expects for stacked bars
|
|
76
|
+
*
|
|
77
|
+
* Key naming convention matches how tokens are labeled in the UI:
|
|
78
|
+
* - input: Input tokens (user + assistant input)
|
|
79
|
+
* - output: Output tokens (assistant response)
|
|
80
|
+
* - cacheCreated: Cache creation tokens
|
|
81
|
+
* - cacheRead: Cache read tokens
|
|
82
|
+
*/
|
|
83
|
+
export interface RechartsTokenData {
|
|
84
|
+
index: number;
|
|
85
|
+
messageId: string;
|
|
86
|
+
input: number;
|
|
87
|
+
output: number;
|
|
88
|
+
cacheCreated: number;
|
|
89
|
+
cacheRead: number;
|
|
90
|
+
total: number;
|
|
91
|
+
isSidechain: boolean;
|
|
92
|
+
}
|
|
93
|
+
export declare function formatForRecharts(tokenData: MessageTokenData[] | CumulativeTokenData[], mode: 'per-message' | 'cumulative'): RechartsTokenData[];
|
|
94
|
+
//# sourceMappingURL=extractTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractTokens.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/extractTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGvE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;CACxB;AA0DD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB,CA8BA;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAsCnF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAiCtF;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,EACrD,IAAI,EAAE,aAAa,GAAG,YAAY,GACjC,iBAAiB,EAAE,CA2BrB"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token extraction and aggregation utilities for transcript visualization
|
|
3
|
+
*
|
|
4
|
+
* Handles token data extraction from various AI provider message formats
|
|
5
|
+
* and provides both per-message and cumulative token calculations.
|
|
6
|
+
*
|
|
7
|
+
* Uses the SAME logic as the session-processing metrics to ensure consistency:
|
|
8
|
+
* - Claude Code & Codex: metadata.usage.{input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens}
|
|
9
|
+
* - Gemini: metadata.tokens.{input, output, cached, thoughts, tool}
|
|
10
|
+
* - Excludes sidechain messages from main context calculations
|
|
11
|
+
*/
|
|
12
|
+
import { isTimelineGroup, isTimelineMessage } from './timelineTypes.js';
|
|
13
|
+
/**
|
|
14
|
+
* Extract token usage from Claude Code and Codex message metadata
|
|
15
|
+
* Both providers use the same usage schema.
|
|
16
|
+
* Matches the exact field names from ClaudeContextProcessor and CodexContextProcessor.
|
|
17
|
+
*/
|
|
18
|
+
function extractClaudeTokens(metadata) {
|
|
19
|
+
const usage = metadata?.usage;
|
|
20
|
+
return {
|
|
21
|
+
input: usage?.input_tokens || 0,
|
|
22
|
+
output: usage?.output_tokens || 0,
|
|
23
|
+
cacheCreated: usage?.cache_creation_input_tokens || 0,
|
|
24
|
+
cacheRead: usage?.cache_read_input_tokens || 0,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Extract token usage from Gemini message metadata
|
|
29
|
+
* Matches the structure from calculateTotalTokens() in gemini/helpers.ts
|
|
30
|
+
*/
|
|
31
|
+
function extractGeminiTokens(metadata) {
|
|
32
|
+
const tokens = metadata?.tokens;
|
|
33
|
+
return {
|
|
34
|
+
input: tokens?.input || 0,
|
|
35
|
+
output: tokens?.output || 0,
|
|
36
|
+
cacheCreated: 0, // Gemini doesn't have separate cache_creation
|
|
37
|
+
cacheRead: tokens?.cached || 0,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Extract token usage from a timeline message
|
|
42
|
+
* Supports multiple provider formats (Claude, Gemini, etc.)
|
|
43
|
+
*/
|
|
44
|
+
export function extractMessageTokens(message) {
|
|
45
|
+
const metadata = message.originalMessage.metadata || {};
|
|
46
|
+
// Check if this is a sidechain message (used in metrics to calculate context_length)
|
|
47
|
+
const isSidechain = metadata.isSidechain === true;
|
|
48
|
+
// Try Claude format first (most common)
|
|
49
|
+
if (metadata.usage) {
|
|
50
|
+
return {
|
|
51
|
+
...extractClaudeTokens(metadata),
|
|
52
|
+
isSidechain,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// Try Gemini format
|
|
56
|
+
if (metadata.tokens) {
|
|
57
|
+
return {
|
|
58
|
+
...extractGeminiTokens(metadata),
|
|
59
|
+
isSidechain,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// No token data found
|
|
63
|
+
return {
|
|
64
|
+
input: 0,
|
|
65
|
+
output: 0,
|
|
66
|
+
cacheCreated: 0,
|
|
67
|
+
cacheRead: 0,
|
|
68
|
+
isSidechain,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Calculate per-message token data from timeline items
|
|
73
|
+
* Includes ALL messages (main chain and sidechain) for total token visualization
|
|
74
|
+
*/
|
|
75
|
+
export function calculatePerMessageTokens(items) {
|
|
76
|
+
const result = [];
|
|
77
|
+
let messageIndex = 0;
|
|
78
|
+
for (const item of items) {
|
|
79
|
+
if (isTimelineMessage(item)) {
|
|
80
|
+
const tokens = extractMessageTokens(item);
|
|
81
|
+
result.push({
|
|
82
|
+
messageId: item.id,
|
|
83
|
+
messageIndex,
|
|
84
|
+
inputTokens: tokens.input,
|
|
85
|
+
outputTokens: tokens.output,
|
|
86
|
+
cacheCreated: tokens.cacheCreated,
|
|
87
|
+
cacheRead: tokens.cacheRead,
|
|
88
|
+
totalTokens: tokens.input + tokens.output, // Only billable tokens
|
|
89
|
+
isSidechain: tokens.isSidechain,
|
|
90
|
+
});
|
|
91
|
+
messageIndex++;
|
|
92
|
+
}
|
|
93
|
+
else if (isTimelineGroup(item)) {
|
|
94
|
+
// For groups, process each message in the group
|
|
95
|
+
for (const groupMessage of item.messages) {
|
|
96
|
+
const tokens = extractMessageTokens(groupMessage);
|
|
97
|
+
result.push({
|
|
98
|
+
messageId: groupMessage.id,
|
|
99
|
+
messageIndex,
|
|
100
|
+
inputTokens: tokens.input,
|
|
101
|
+
outputTokens: tokens.output,
|
|
102
|
+
cacheCreated: tokens.cacheCreated,
|
|
103
|
+
cacheRead: tokens.cacheRead,
|
|
104
|
+
totalTokens: tokens.input + tokens.output, // Only billable tokens
|
|
105
|
+
isSidechain: tokens.isSidechain,
|
|
106
|
+
});
|
|
107
|
+
messageIndex++;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Calculate cumulative token data (actual context size as it grows)
|
|
115
|
+
*
|
|
116
|
+
* Shows the ACTUAL context composition at each message point:
|
|
117
|
+
* - cache_read_input_tokens: Already cumulative from API (total cached tokens)
|
|
118
|
+
* - input_tokens: NEW tokens for this message (not cumulative - fresh per message)
|
|
119
|
+
* - output_tokens: Cumulative sum of all outputs generated so far
|
|
120
|
+
*
|
|
121
|
+
* Total context = cacheRead + input + cumulativeOutput
|
|
122
|
+
*
|
|
123
|
+
* This matches what the API actually sees as context and should equal the
|
|
124
|
+
* context_length metric on the metrics page.
|
|
125
|
+
*
|
|
126
|
+
* IMPORTANT: Unlike billable token tracking which sums ALL inputs, this shows
|
|
127
|
+
* the actual context window composition where cache_read represents reused tokens.
|
|
128
|
+
*/
|
|
129
|
+
export function calculateCumulativeTokens(items) {
|
|
130
|
+
const perMessageData = calculatePerMessageTokens(items);
|
|
131
|
+
const result = [];
|
|
132
|
+
let cumulativeOutput = 0;
|
|
133
|
+
let cumulativeCacheCreated = 0;
|
|
134
|
+
let lastCacheRead = 0; // Track last non-zero cache read value
|
|
135
|
+
for (const data of perMessageData) {
|
|
136
|
+
// Output accumulates (all responses generated so far)
|
|
137
|
+
cumulativeOutput += data.outputTokens;
|
|
138
|
+
cumulativeCacheCreated += data.cacheCreated;
|
|
139
|
+
// Cache reads are cumulative from the API, but may be 0 for some messages
|
|
140
|
+
// Carry forward the last known value to maintain cumulative nature
|
|
141
|
+
if (data.cacheRead > 0) {
|
|
142
|
+
lastCacheRead = data.cacheRead;
|
|
143
|
+
}
|
|
144
|
+
// For cumulative view:
|
|
145
|
+
// - cumulativeInput is NOT used (we show per-message input instead)
|
|
146
|
+
// - Total context = cacheRead + input + cumulativeOutput
|
|
147
|
+
result.push({
|
|
148
|
+
...data,
|
|
149
|
+
cacheRead: lastCacheRead, // Total cached tokens (from API)
|
|
150
|
+
cumulativeInput: data.inputTokens, // Per-message new input (NOT summed)
|
|
151
|
+
cumulativeOutput,
|
|
152
|
+
cumulativeCacheCreated,
|
|
153
|
+
cumulativeTotal: lastCacheRead + data.inputTokens + cumulativeOutput, // Actual context size
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return result;
|
|
157
|
+
}
|
|
158
|
+
export function formatForRecharts(tokenData, mode) {
|
|
159
|
+
return tokenData.map(data => {
|
|
160
|
+
if (mode === 'cumulative' && 'cumulativeInput' in data) {
|
|
161
|
+
return {
|
|
162
|
+
index: data.messageIndex,
|
|
163
|
+
messageId: data.messageId,
|
|
164
|
+
input: data.cumulativeInput,
|
|
165
|
+
output: data.cumulativeOutput,
|
|
166
|
+
cacheCreated: data.cumulativeCacheCreated,
|
|
167
|
+
cacheRead: data.cacheRead, // Use raw value - already cumulative from API
|
|
168
|
+
total: data.cumulativeTotal,
|
|
169
|
+
isSidechain: data.isSidechain,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Per-message mode: hide cache reads (they're cumulative, not per-message)
|
|
173
|
+
return {
|
|
174
|
+
index: data.messageIndex,
|
|
175
|
+
messageId: data.messageId,
|
|
176
|
+
input: data.inputTokens,
|
|
177
|
+
output: data.outputTokens,
|
|
178
|
+
cacheCreated: data.cacheCreated,
|
|
179
|
+
cacheRead: 0, // Hide cache reads in per-message mode
|
|
180
|
+
total: data.totalTokens,
|
|
181
|
+
isSidechain: data.isSidechain,
|
|
182
|
+
};
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=extractTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractTokens.js","sourceRoot":"","sources":["../../../../src/ui/utils/extractTokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown utilities for parsing, sanitizing, and truncating markdown content.
|
|
3
|
+
* Uses marked for fast parsing and DOMPurify for XSS protection.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_TRUNCATION_THRESHOLD: {
|
|
6
|
+
lines: number;
|
|
7
|
+
bytes: number;
|
|
8
|
+
};
|
|
9
|
+
export interface ContentSize {
|
|
10
|
+
lines: number;
|
|
11
|
+
bytes: number;
|
|
12
|
+
}
|
|
13
|
+
export interface TruncationResult {
|
|
14
|
+
truncated: string;
|
|
15
|
+
original: string;
|
|
16
|
+
isTruncated: boolean;
|
|
17
|
+
truncatedLines: number;
|
|
18
|
+
originalLines: number;
|
|
19
|
+
}
|
|
20
|
+
export interface TruncationThreshold {
|
|
21
|
+
lines: number;
|
|
22
|
+
bytes: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse markdown content to HTML using marked with syntax highlighting.
|
|
26
|
+
* This is significantly faster than react-markdown (10-50x improvement).
|
|
27
|
+
*
|
|
28
|
+
* @param content - Raw markdown string
|
|
29
|
+
* @param sanitize - Whether to sanitize output with DOMPurify (default: true)
|
|
30
|
+
* @param enableSyntaxHighlighting - Whether to apply syntax highlighting to code blocks (default: true)
|
|
31
|
+
* @returns Parsed and optionally sanitized HTML string
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseMarkdown(content: string, sanitize?: boolean, enableSyntaxHighlighting?: boolean): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Calculate the size of content in lines and bytes.
|
|
36
|
+
*
|
|
37
|
+
* @param content - Text content to measure
|
|
38
|
+
* @returns Object with line count and byte size
|
|
39
|
+
*/
|
|
40
|
+
export declare function getContentSize(content: string): ContentSize;
|
|
41
|
+
/**
|
|
42
|
+
* Determine if content should be truncated based on threshold.
|
|
43
|
+
*
|
|
44
|
+
* @param content - Text content to check
|
|
45
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
46
|
+
* @returns True if content exceeds threshold
|
|
47
|
+
*/
|
|
48
|
+
export declare function shouldTruncate(content: string, threshold?: TruncationThreshold): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Truncate content to a maximum number of lines.
|
|
51
|
+
*
|
|
52
|
+
* @param content - Text content to truncate
|
|
53
|
+
* @param maxLines - Maximum number of lines to keep
|
|
54
|
+
* @returns Object with truncated content, original content, and truncation flag
|
|
55
|
+
*/
|
|
56
|
+
export declare function truncateContent(content: string, maxLines: number): TruncationResult;
|
|
57
|
+
/**
|
|
58
|
+
* Smart truncation that considers threshold and returns appropriate content.
|
|
59
|
+
*
|
|
60
|
+
* @param content - Text content to potentially truncate
|
|
61
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
62
|
+
* @returns Truncation result with appropriate content
|
|
63
|
+
*/
|
|
64
|
+
export declare function smartTruncate(content: string, threshold?: TruncationThreshold): TruncationResult;
|
|
65
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/markdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,4BAA4B;;;CAGxC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,UAAO,EACf,wBAAwB,UAAO,GAC9B,OAAO,CAAC,MAAM,CAAC,CAoHjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAK3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,mBAAkD,GAC5D,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAwBnF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,mBAAkD,GAC5D,gBAAgB,CAclB"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown utilities for parsing, sanitizing, and truncating markdown content.
|
|
3
|
+
* Uses marked for fast parsing and DOMPurify for XSS protection.
|
|
4
|
+
*/
|
|
5
|
+
// Conservative thresholds for content truncation
|
|
6
|
+
export const DEFAULT_TRUNCATION_THRESHOLD = {
|
|
7
|
+
lines: 500,
|
|
8
|
+
bytes: 50000, // 50KB
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Parse markdown content to HTML using marked with syntax highlighting.
|
|
12
|
+
* This is significantly faster than react-markdown (10-50x improvement).
|
|
13
|
+
*
|
|
14
|
+
* @param content - Raw markdown string
|
|
15
|
+
* @param sanitize - Whether to sanitize output with DOMPurify (default: true)
|
|
16
|
+
* @param enableSyntaxHighlighting - Whether to apply syntax highlighting to code blocks (default: true)
|
|
17
|
+
* @returns Parsed and optionally sanitized HTML string
|
|
18
|
+
*/
|
|
19
|
+
export async function parseMarkdown(content, sanitize = true, enableSyntaxHighlighting = true) {
|
|
20
|
+
// Dynamic import to reduce bundle size
|
|
21
|
+
const { marked } = await import('marked');
|
|
22
|
+
// Load Prism for syntax highlighting with common languages
|
|
23
|
+
let Prism = null;
|
|
24
|
+
if (enableSyntaxHighlighting) {
|
|
25
|
+
try {
|
|
26
|
+
// Import base Prism (includes markup, css, clike, javascript)
|
|
27
|
+
Prism = await import('prismjs');
|
|
28
|
+
// Import common languages used in coding sessions
|
|
29
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
30
|
+
await import('prismjs/components/prism-typescript');
|
|
31
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
32
|
+
await import('prismjs/components/prism-tsx');
|
|
33
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
34
|
+
await import('prismjs/components/prism-jsx');
|
|
35
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
36
|
+
await import('prismjs/components/prism-python');
|
|
37
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
38
|
+
await import('prismjs/components/prism-bash');
|
|
39
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
40
|
+
await import('prismjs/components/prism-json');
|
|
41
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
42
|
+
await import('prismjs/components/prism-yaml');
|
|
43
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
44
|
+
await import('prismjs/components/prism-markdown');
|
|
45
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
46
|
+
await import('prismjs/components/prism-sql');
|
|
47
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
48
|
+
await import('prismjs/components/prism-rust');
|
|
49
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
50
|
+
await import('prismjs/components/prism-go');
|
|
51
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
52
|
+
await import('prismjs/components/prism-java');
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
console.warn('Failed to load Prism for syntax highlighting:', err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Create custom renderer to add language classes and proper highlighting
|
|
59
|
+
const renderer = new marked.Renderer();
|
|
60
|
+
// Override code rendering to add language classes and syntax highlighting
|
|
61
|
+
renderer.code = (code, language) => {
|
|
62
|
+
const lang = language || 'plaintext';
|
|
63
|
+
let highlightedCode = code;
|
|
64
|
+
// Apply Prism highlighting if available
|
|
65
|
+
if (Prism && language && Prism.languages[language]) {
|
|
66
|
+
try {
|
|
67
|
+
highlightedCode = Prism.highlight(code, Prism.languages[language], language);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
console.warn(`Failed to highlight ${language}:`, err);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Return pre > code with proper language class on BOTH elements
|
|
74
|
+
// This ensures Prism CSS can target both pre[class*="language-"] and code[class*="language-"]
|
|
75
|
+
return `<pre class="language-${lang}"><code class="language-${lang}">${highlightedCode}</code></pre>`;
|
|
76
|
+
};
|
|
77
|
+
// Configure marked for GFM support
|
|
78
|
+
marked.setOptions({
|
|
79
|
+
gfm: true,
|
|
80
|
+
breaks: true,
|
|
81
|
+
renderer,
|
|
82
|
+
});
|
|
83
|
+
// Parse markdown to HTML
|
|
84
|
+
const html = await marked.parse(content);
|
|
85
|
+
// Sanitize if requested
|
|
86
|
+
if (sanitize) {
|
|
87
|
+
const DOMPurify = await import('dompurify');
|
|
88
|
+
const purify = DOMPurify.default || DOMPurify;
|
|
89
|
+
return purify.sanitize(html, {
|
|
90
|
+
ALLOWED_TAGS: [
|
|
91
|
+
'p',
|
|
92
|
+
'br',
|
|
93
|
+
'strong',
|
|
94
|
+
'em',
|
|
95
|
+
'u',
|
|
96
|
+
's',
|
|
97
|
+
'code',
|
|
98
|
+
'pre',
|
|
99
|
+
'a',
|
|
100
|
+
'ul',
|
|
101
|
+
'ol',
|
|
102
|
+
'li',
|
|
103
|
+
'blockquote',
|
|
104
|
+
'h1',
|
|
105
|
+
'h2',
|
|
106
|
+
'h3',
|
|
107
|
+
'h4',
|
|
108
|
+
'h5',
|
|
109
|
+
'h6',
|
|
110
|
+
'table',
|
|
111
|
+
'thead',
|
|
112
|
+
'tbody',
|
|
113
|
+
'tr',
|
|
114
|
+
'td',
|
|
115
|
+
'th',
|
|
116
|
+
'img',
|
|
117
|
+
'hr',
|
|
118
|
+
'div',
|
|
119
|
+
'span',
|
|
120
|
+
],
|
|
121
|
+
ALLOWED_ATTR: ['href', 'title', 'src', 'alt', 'class', 'id', 'style'],
|
|
122
|
+
ALLOW_DATA_ATTR: false,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return html;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Calculate the size of content in lines and bytes.
|
|
129
|
+
*
|
|
130
|
+
* @param content - Text content to measure
|
|
131
|
+
* @returns Object with line count and byte size
|
|
132
|
+
*/
|
|
133
|
+
export function getContentSize(content) {
|
|
134
|
+
const lines = content.split('\n').length;
|
|
135
|
+
const bytes = new TextEncoder().encode(content).length;
|
|
136
|
+
return { lines, bytes };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Determine if content should be truncated based on threshold.
|
|
140
|
+
*
|
|
141
|
+
* @param content - Text content to check
|
|
142
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
143
|
+
* @returns True if content exceeds threshold
|
|
144
|
+
*/
|
|
145
|
+
export function shouldTruncate(content, threshold = DEFAULT_TRUNCATION_THRESHOLD) {
|
|
146
|
+
const size = getContentSize(content);
|
|
147
|
+
return size.lines > threshold.lines || size.bytes > threshold.bytes;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Truncate content to a maximum number of lines.
|
|
151
|
+
*
|
|
152
|
+
* @param content - Text content to truncate
|
|
153
|
+
* @param maxLines - Maximum number of lines to keep
|
|
154
|
+
* @returns Object with truncated content, original content, and truncation flag
|
|
155
|
+
*/
|
|
156
|
+
export function truncateContent(content, maxLines) {
|
|
157
|
+
const lines = content.split('\n');
|
|
158
|
+
const originalLines = lines.length;
|
|
159
|
+
if (originalLines <= maxLines) {
|
|
160
|
+
return {
|
|
161
|
+
truncated: content,
|
|
162
|
+
original: content,
|
|
163
|
+
isTruncated: false,
|
|
164
|
+
truncatedLines: originalLines,
|
|
165
|
+
originalLines,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
const truncatedLines = lines.slice(0, maxLines);
|
|
169
|
+
const truncated = truncatedLines.join('\n');
|
|
170
|
+
return {
|
|
171
|
+
truncated,
|
|
172
|
+
original: content,
|
|
173
|
+
isTruncated: true,
|
|
174
|
+
truncatedLines: maxLines,
|
|
175
|
+
originalLines,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Smart truncation that considers threshold and returns appropriate content.
|
|
180
|
+
*
|
|
181
|
+
* @param content - Text content to potentially truncate
|
|
182
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
183
|
+
* @returns Truncation result with appropriate content
|
|
184
|
+
*/
|
|
185
|
+
export function smartTruncate(content, threshold = DEFAULT_TRUNCATION_THRESHOLD) {
|
|
186
|
+
if (!shouldTruncate(content, threshold)) {
|
|
187
|
+
const lines = content.split('\n').length;
|
|
188
|
+
return {
|
|
189
|
+
truncated: content,
|
|
190
|
+
original: content,
|
|
191
|
+
isTruncated: false,
|
|
192
|
+
truncatedLines: lines,
|
|
193
|
+
originalLines: lines,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// Use the line threshold for truncation
|
|
197
|
+
return truncateContent(content, threshold.lines);
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../src/ui/utils/markdown.ts"],"names":[],"mappings":"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"}
|