@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,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,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Token extraction and aggregation utilities for transcript visualization
|
|
4
|
+
*
|
|
5
|
+
* Handles token data extraction from various AI provider message formats
|
|
6
|
+
* and provides both per-message and cumulative token calculations.
|
|
7
|
+
*
|
|
8
|
+
* Uses the SAME logic as the session-processing metrics to ensure consistency:
|
|
9
|
+
* - Claude Code & Codex: metadata.usage.{input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens}
|
|
10
|
+
* - Gemini: metadata.tokens.{input, output, cached, thoughts, tool}
|
|
11
|
+
* - Excludes sidechain messages from main context calculations
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.extractMessageTokens = extractMessageTokens;
|
|
15
|
+
exports.calculatePerMessageTokens = calculatePerMessageTokens;
|
|
16
|
+
exports.calculateCumulativeTokens = calculateCumulativeTokens;
|
|
17
|
+
exports.formatForRecharts = formatForRecharts;
|
|
18
|
+
const timelineTypes_js_1 = require("./timelineTypes.js");
|
|
19
|
+
/**
|
|
20
|
+
* Extract token usage from Claude Code and Codex message metadata
|
|
21
|
+
* Both providers use the same usage schema.
|
|
22
|
+
* Matches the exact field names from ClaudeContextProcessor and CodexContextProcessor.
|
|
23
|
+
*/
|
|
24
|
+
function extractClaudeTokens(metadata) {
|
|
25
|
+
const usage = metadata?.usage;
|
|
26
|
+
return {
|
|
27
|
+
input: usage?.input_tokens || 0,
|
|
28
|
+
output: usage?.output_tokens || 0,
|
|
29
|
+
cacheCreated: usage?.cache_creation_input_tokens || 0,
|
|
30
|
+
cacheRead: usage?.cache_read_input_tokens || 0,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Extract token usage from Gemini message metadata
|
|
35
|
+
* Matches the structure from calculateTotalTokens() in gemini/helpers.ts
|
|
36
|
+
*/
|
|
37
|
+
function extractGeminiTokens(metadata) {
|
|
38
|
+
const tokens = metadata?.tokens;
|
|
39
|
+
return {
|
|
40
|
+
input: tokens?.input || 0,
|
|
41
|
+
output: tokens?.output || 0,
|
|
42
|
+
cacheCreated: 0, // Gemini doesn't have separate cache_creation
|
|
43
|
+
cacheRead: tokens?.cached || 0,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extract token usage from a timeline message
|
|
48
|
+
* Supports multiple provider formats (Claude, Gemini, etc.)
|
|
49
|
+
*/
|
|
50
|
+
function extractMessageTokens(message) {
|
|
51
|
+
const metadata = message.originalMessage.metadata || {};
|
|
52
|
+
// Check if this is a sidechain message (used in metrics to calculate context_length)
|
|
53
|
+
const isSidechain = metadata.isSidechain === true;
|
|
54
|
+
// Try Claude format first (most common)
|
|
55
|
+
if (metadata.usage) {
|
|
56
|
+
return {
|
|
57
|
+
...extractClaudeTokens(metadata),
|
|
58
|
+
isSidechain,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Try Gemini format
|
|
62
|
+
if (metadata.tokens) {
|
|
63
|
+
return {
|
|
64
|
+
...extractGeminiTokens(metadata),
|
|
65
|
+
isSidechain,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// No token data found
|
|
69
|
+
return {
|
|
70
|
+
input: 0,
|
|
71
|
+
output: 0,
|
|
72
|
+
cacheCreated: 0,
|
|
73
|
+
cacheRead: 0,
|
|
74
|
+
isSidechain,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Calculate per-message token data from timeline items
|
|
79
|
+
* Includes ALL messages (main chain and sidechain) for total token visualization
|
|
80
|
+
*/
|
|
81
|
+
function calculatePerMessageTokens(items) {
|
|
82
|
+
const result = [];
|
|
83
|
+
let messageIndex = 0;
|
|
84
|
+
for (const item of items) {
|
|
85
|
+
if ((0, timelineTypes_js_1.isTimelineMessage)(item)) {
|
|
86
|
+
const tokens = extractMessageTokens(item);
|
|
87
|
+
result.push({
|
|
88
|
+
messageId: item.id,
|
|
89
|
+
messageIndex,
|
|
90
|
+
inputTokens: tokens.input,
|
|
91
|
+
outputTokens: tokens.output,
|
|
92
|
+
cacheCreated: tokens.cacheCreated,
|
|
93
|
+
cacheRead: tokens.cacheRead,
|
|
94
|
+
totalTokens: tokens.input + tokens.output, // Only billable tokens
|
|
95
|
+
isSidechain: tokens.isSidechain,
|
|
96
|
+
});
|
|
97
|
+
messageIndex++;
|
|
98
|
+
}
|
|
99
|
+
else if ((0, timelineTypes_js_1.isTimelineGroup)(item)) {
|
|
100
|
+
// For groups, process each message in the group
|
|
101
|
+
for (const groupMessage of item.messages) {
|
|
102
|
+
const tokens = extractMessageTokens(groupMessage);
|
|
103
|
+
result.push({
|
|
104
|
+
messageId: groupMessage.id,
|
|
105
|
+
messageIndex,
|
|
106
|
+
inputTokens: tokens.input,
|
|
107
|
+
outputTokens: tokens.output,
|
|
108
|
+
cacheCreated: tokens.cacheCreated,
|
|
109
|
+
cacheRead: tokens.cacheRead,
|
|
110
|
+
totalTokens: tokens.input + tokens.output, // Only billable tokens
|
|
111
|
+
isSidechain: tokens.isSidechain,
|
|
112
|
+
});
|
|
113
|
+
messageIndex++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Calculate cumulative token data (actual context size as it grows)
|
|
121
|
+
*
|
|
122
|
+
* Shows the ACTUAL context composition at each message point:
|
|
123
|
+
* - cache_read_input_tokens: Already cumulative from API (total cached tokens)
|
|
124
|
+
* - input_tokens: NEW tokens for this message (not cumulative - fresh per message)
|
|
125
|
+
* - output_tokens: Cumulative sum of all outputs generated so far
|
|
126
|
+
*
|
|
127
|
+
* Total context = cacheRead + input + cumulativeOutput
|
|
128
|
+
*
|
|
129
|
+
* This matches what the API actually sees as context and should equal the
|
|
130
|
+
* context_length metric on the metrics page.
|
|
131
|
+
*
|
|
132
|
+
* IMPORTANT: Unlike billable token tracking which sums ALL inputs, this shows
|
|
133
|
+
* the actual context window composition where cache_read represents reused tokens.
|
|
134
|
+
*/
|
|
135
|
+
function calculateCumulativeTokens(items) {
|
|
136
|
+
const perMessageData = calculatePerMessageTokens(items);
|
|
137
|
+
const result = [];
|
|
138
|
+
let cumulativeOutput = 0;
|
|
139
|
+
let cumulativeCacheCreated = 0;
|
|
140
|
+
let lastCacheRead = 0; // Track last non-zero cache read value
|
|
141
|
+
for (const data of perMessageData) {
|
|
142
|
+
// Output accumulates (all responses generated so far)
|
|
143
|
+
cumulativeOutput += data.outputTokens;
|
|
144
|
+
cumulativeCacheCreated += data.cacheCreated;
|
|
145
|
+
// Cache reads are cumulative from the API, but may be 0 for some messages
|
|
146
|
+
// Carry forward the last known value to maintain cumulative nature
|
|
147
|
+
if (data.cacheRead > 0) {
|
|
148
|
+
lastCacheRead = data.cacheRead;
|
|
149
|
+
}
|
|
150
|
+
// For cumulative view:
|
|
151
|
+
// - cumulativeInput is NOT used (we show per-message input instead)
|
|
152
|
+
// - Total context = cacheRead + input + cumulativeOutput
|
|
153
|
+
result.push({
|
|
154
|
+
...data,
|
|
155
|
+
cacheRead: lastCacheRead, // Total cached tokens (from API)
|
|
156
|
+
cumulativeInput: data.inputTokens, // Per-message new input (NOT summed)
|
|
157
|
+
cumulativeOutput,
|
|
158
|
+
cumulativeCacheCreated,
|
|
159
|
+
cumulativeTotal: lastCacheRead + data.inputTokens + cumulativeOutput, // Actual context size
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
function formatForRecharts(tokenData, mode) {
|
|
165
|
+
return tokenData.map(data => {
|
|
166
|
+
if (mode === 'cumulative' && 'cumulativeInput' in data) {
|
|
167
|
+
return {
|
|
168
|
+
index: data.messageIndex,
|
|
169
|
+
messageId: data.messageId,
|
|
170
|
+
input: data.cumulativeInput,
|
|
171
|
+
output: data.cumulativeOutput,
|
|
172
|
+
cacheCreated: data.cumulativeCacheCreated,
|
|
173
|
+
cacheRead: data.cacheRead, // Use raw value - already cumulative from API
|
|
174
|
+
total: data.cumulativeTotal,
|
|
175
|
+
isSidechain: data.isSidechain,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
// Per-message mode: hide cache reads (they're cumulative, not per-message)
|
|
179
|
+
return {
|
|
180
|
+
index: data.messageIndex,
|
|
181
|
+
messageId: data.messageId,
|
|
182
|
+
input: data.inputTokens,
|
|
183
|
+
output: data.outputTokens,
|
|
184
|
+
cacheCreated: data.cacheCreated,
|
|
185
|
+
cacheRead: 0, // Hide cache reads in per-message mode
|
|
186
|
+
total: data.totalTokens,
|
|
187
|
+
isSidechain: data.isSidechain,
|
|
188
|
+
};
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
//# 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,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Markdown utilities for parsing, sanitizing, and truncating markdown content.
|
|
4
|
+
* Uses marked for fast parsing and DOMPurify for XSS protection.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.DEFAULT_TRUNCATION_THRESHOLD = void 0;
|
|
41
|
+
exports.parseMarkdown = parseMarkdown;
|
|
42
|
+
exports.getContentSize = getContentSize;
|
|
43
|
+
exports.shouldTruncate = shouldTruncate;
|
|
44
|
+
exports.truncateContent = truncateContent;
|
|
45
|
+
exports.smartTruncate = smartTruncate;
|
|
46
|
+
// Conservative thresholds for content truncation
|
|
47
|
+
exports.DEFAULT_TRUNCATION_THRESHOLD = {
|
|
48
|
+
lines: 500,
|
|
49
|
+
bytes: 50000, // 50KB
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Parse markdown content to HTML using marked with syntax highlighting.
|
|
53
|
+
* This is significantly faster than react-markdown (10-50x improvement).
|
|
54
|
+
*
|
|
55
|
+
* @param content - Raw markdown string
|
|
56
|
+
* @param sanitize - Whether to sanitize output with DOMPurify (default: true)
|
|
57
|
+
* @param enableSyntaxHighlighting - Whether to apply syntax highlighting to code blocks (default: true)
|
|
58
|
+
* @returns Parsed and optionally sanitized HTML string
|
|
59
|
+
*/
|
|
60
|
+
async function parseMarkdown(content, sanitize = true, enableSyntaxHighlighting = true) {
|
|
61
|
+
// Dynamic import to reduce bundle size
|
|
62
|
+
const { marked } = await Promise.resolve().then(() => __importStar(require('marked')));
|
|
63
|
+
// Load Prism for syntax highlighting with common languages
|
|
64
|
+
let Prism = null;
|
|
65
|
+
if (enableSyntaxHighlighting) {
|
|
66
|
+
try {
|
|
67
|
+
// Import base Prism (includes markup, css, clike, javascript)
|
|
68
|
+
Prism = await Promise.resolve().then(() => __importStar(require('prismjs')));
|
|
69
|
+
// Import common languages used in coding sessions
|
|
70
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
71
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-typescript')));
|
|
72
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
73
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-tsx')));
|
|
74
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
75
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-jsx')));
|
|
76
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
77
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-python')));
|
|
78
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
79
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-bash')));
|
|
80
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
81
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-json')));
|
|
82
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
83
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-yaml')));
|
|
84
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
85
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-markdown')));
|
|
86
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
87
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-sql')));
|
|
88
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
89
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-rust')));
|
|
90
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
91
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-go')));
|
|
92
|
+
// @ts-ignore - Prism language components exist but lack type definitions
|
|
93
|
+
await Promise.resolve().then(() => __importStar(require('prismjs/components/prism-java')));
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.warn('Failed to load Prism for syntax highlighting:', err);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Create custom renderer to add language classes and proper highlighting
|
|
100
|
+
const renderer = new marked.Renderer();
|
|
101
|
+
// Override code rendering to add language classes and syntax highlighting
|
|
102
|
+
renderer.code = (code, language) => {
|
|
103
|
+
const lang = language || 'plaintext';
|
|
104
|
+
let highlightedCode = code;
|
|
105
|
+
// Apply Prism highlighting if available
|
|
106
|
+
if (Prism && language && Prism.languages[language]) {
|
|
107
|
+
try {
|
|
108
|
+
highlightedCode = Prism.highlight(code, Prism.languages[language], language);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.warn(`Failed to highlight ${language}:`, err);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Return pre > code with proper language class on BOTH elements
|
|
115
|
+
// This ensures Prism CSS can target both pre[class*="language-"] and code[class*="language-"]
|
|
116
|
+
return `<pre class="language-${lang}"><code class="language-${lang}">${highlightedCode}</code></pre>`;
|
|
117
|
+
};
|
|
118
|
+
// Configure marked for GFM support
|
|
119
|
+
marked.setOptions({
|
|
120
|
+
gfm: true,
|
|
121
|
+
breaks: true,
|
|
122
|
+
renderer,
|
|
123
|
+
});
|
|
124
|
+
// Parse markdown to HTML
|
|
125
|
+
const html = await marked.parse(content);
|
|
126
|
+
// Sanitize if requested
|
|
127
|
+
if (sanitize) {
|
|
128
|
+
const DOMPurify = await Promise.resolve().then(() => __importStar(require('dompurify')));
|
|
129
|
+
const purify = DOMPurify.default || DOMPurify;
|
|
130
|
+
return purify.sanitize(html, {
|
|
131
|
+
ALLOWED_TAGS: [
|
|
132
|
+
'p',
|
|
133
|
+
'br',
|
|
134
|
+
'strong',
|
|
135
|
+
'em',
|
|
136
|
+
'u',
|
|
137
|
+
's',
|
|
138
|
+
'code',
|
|
139
|
+
'pre',
|
|
140
|
+
'a',
|
|
141
|
+
'ul',
|
|
142
|
+
'ol',
|
|
143
|
+
'li',
|
|
144
|
+
'blockquote',
|
|
145
|
+
'h1',
|
|
146
|
+
'h2',
|
|
147
|
+
'h3',
|
|
148
|
+
'h4',
|
|
149
|
+
'h5',
|
|
150
|
+
'h6',
|
|
151
|
+
'table',
|
|
152
|
+
'thead',
|
|
153
|
+
'tbody',
|
|
154
|
+
'tr',
|
|
155
|
+
'td',
|
|
156
|
+
'th',
|
|
157
|
+
'img',
|
|
158
|
+
'hr',
|
|
159
|
+
'div',
|
|
160
|
+
'span',
|
|
161
|
+
],
|
|
162
|
+
ALLOWED_ATTR: ['href', 'title', 'src', 'alt', 'class', 'id', 'style'],
|
|
163
|
+
ALLOW_DATA_ATTR: false,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return html;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Calculate the size of content in lines and bytes.
|
|
170
|
+
*
|
|
171
|
+
* @param content - Text content to measure
|
|
172
|
+
* @returns Object with line count and byte size
|
|
173
|
+
*/
|
|
174
|
+
function getContentSize(content) {
|
|
175
|
+
const lines = content.split('\n').length;
|
|
176
|
+
const bytes = new TextEncoder().encode(content).length;
|
|
177
|
+
return { lines, bytes };
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Determine if content should be truncated based on threshold.
|
|
181
|
+
*
|
|
182
|
+
* @param content - Text content to check
|
|
183
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
184
|
+
* @returns True if content exceeds threshold
|
|
185
|
+
*/
|
|
186
|
+
function shouldTruncate(content, threshold = exports.DEFAULT_TRUNCATION_THRESHOLD) {
|
|
187
|
+
const size = getContentSize(content);
|
|
188
|
+
return size.lines > threshold.lines || size.bytes > threshold.bytes;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Truncate content to a maximum number of lines.
|
|
192
|
+
*
|
|
193
|
+
* @param content - Text content to truncate
|
|
194
|
+
* @param maxLines - Maximum number of lines to keep
|
|
195
|
+
* @returns Object with truncated content, original content, and truncation flag
|
|
196
|
+
*/
|
|
197
|
+
function truncateContent(content, maxLines) {
|
|
198
|
+
const lines = content.split('\n');
|
|
199
|
+
const originalLines = lines.length;
|
|
200
|
+
if (originalLines <= maxLines) {
|
|
201
|
+
return {
|
|
202
|
+
truncated: content,
|
|
203
|
+
original: content,
|
|
204
|
+
isTruncated: false,
|
|
205
|
+
truncatedLines: originalLines,
|
|
206
|
+
originalLines,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
const truncatedLines = lines.slice(0, maxLines);
|
|
210
|
+
const truncated = truncatedLines.join('\n');
|
|
211
|
+
return {
|
|
212
|
+
truncated,
|
|
213
|
+
original: content,
|
|
214
|
+
isTruncated: true,
|
|
215
|
+
truncatedLines: maxLines,
|
|
216
|
+
originalLines,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Smart truncation that considers threshold and returns appropriate content.
|
|
221
|
+
*
|
|
222
|
+
* @param content - Text content to potentially truncate
|
|
223
|
+
* @param threshold - Truncation threshold (default: 500 lines or 50KB)
|
|
224
|
+
* @returns Truncation result with appropriate content
|
|
225
|
+
*/
|
|
226
|
+
function smartTruncate(content, threshold = exports.DEFAULT_TRUNCATION_THRESHOLD) {
|
|
227
|
+
if (!shouldTruncate(content, threshold)) {
|
|
228
|
+
const lines = content.split('\n').length;
|
|
229
|
+
return {
|
|
230
|
+
truncated: content,
|
|
231
|
+
original: content,
|
|
232
|
+
isTruncated: false,
|
|
233
|
+
truncatedLines: lines,
|
|
234
|
+
originalLines: lines,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
// Use the line threshold for truncation
|
|
238
|
+
return truncateContent(content, threshold.lines);
|
|
239
|
+
}
|
|
240
|
+
//# 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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"}
|