olympus-ai 3.3.0 → 3.4.1

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.
Files changed (116) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +2 -0
  4. package/dist/__tests__/installer.test.js +1 -1
  5. package/dist/__tests__/learning/aggregation.test.d.ts +2 -0
  6. package/dist/__tests__/learning/aggregation.test.d.ts.map +1 -0
  7. package/dist/__tests__/learning/aggregation.test.js +282 -0
  8. package/dist/__tests__/learning/aggregation.test.js.map +1 -0
  9. package/dist/__tests__/learning/anomaly.test.d.ts +2 -0
  10. package/dist/__tests__/learning/anomaly.test.d.ts.map +1 -0
  11. package/dist/__tests__/learning/anomaly.test.js +107 -0
  12. package/dist/__tests__/learning/anomaly.test.js.map +1 -0
  13. package/dist/__tests__/learning/baselines.test.d.ts +2 -0
  14. package/dist/__tests__/learning/baselines.test.d.ts.map +1 -0
  15. package/dist/__tests__/learning/baselines.test.js +155 -0
  16. package/dist/__tests__/learning/baselines.test.js.map +1 -0
  17. package/dist/__tests__/learning/efficiency.test.d.ts +2 -0
  18. package/dist/__tests__/learning/efficiency.test.d.ts.map +1 -0
  19. package/dist/__tests__/learning/efficiency.test.js +94 -0
  20. package/dist/__tests__/learning/efficiency.test.js.map +1 -0
  21. package/dist/__tests__/learning/feedback-loop-injection.test.d.ts +6 -0
  22. package/dist/__tests__/learning/feedback-loop-injection.test.d.ts.map +1 -0
  23. package/dist/__tests__/learning/feedback-loop-injection.test.js +288 -0
  24. package/dist/__tests__/learning/feedback-loop-injection.test.js.map +1 -0
  25. package/dist/__tests__/learning/learning-capture-integration.test.d.ts +6 -0
  26. package/dist/__tests__/learning/learning-capture-integration.test.d.ts.map +1 -0
  27. package/dist/__tests__/learning/learning-capture-integration.test.js +151 -0
  28. package/dist/__tests__/learning/learning-capture-integration.test.js.map +1 -0
  29. package/dist/__tests__/learning/token-metrics.test.d.ts +2 -0
  30. package/dist/__tests__/learning/token-metrics.test.d.ts.map +1 -0
  31. package/dist/__tests__/learning/token-metrics.test.js +308 -0
  32. package/dist/__tests__/learning/token-metrics.test.js.map +1 -0
  33. package/dist/__tests__/token-tracking-integration.test.d.ts +8 -0
  34. package/dist/__tests__/token-tracking-integration.test.d.ts.map +1 -0
  35. package/dist/__tests__/token-tracking-integration.test.js +669 -0
  36. package/dist/__tests__/token-tracking-integration.test.js.map +1 -0
  37. package/dist/agents/prometheus.d.ts.map +1 -1
  38. package/dist/agents/prometheus.js +27 -0
  39. package/dist/agents/prometheus.js.map +1 -1
  40. package/dist/cli/commands/metrics.d.ts +10 -2
  41. package/dist/cli/commands/metrics.d.ts.map +1 -1
  42. package/dist/cli/commands/metrics.js +25 -239
  43. package/dist/cli/commands/metrics.js.map +1 -1
  44. package/dist/cli/index.js +196 -1
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/config/loader.d.ts.map +1 -1
  47. package/dist/config/loader.js +14 -0
  48. package/dist/config/loader.js.map +1 -1
  49. package/dist/hooks/registrations/budget-warning.d.ts +8 -0
  50. package/dist/hooks/registrations/budget-warning.d.ts.map +1 -0
  51. package/dist/hooks/registrations/budget-warning.js +63 -0
  52. package/dist/hooks/registrations/budget-warning.js.map +1 -0
  53. package/dist/hooks/registrations/index.d.ts +3 -2
  54. package/dist/hooks/registrations/index.d.ts.map +1 -1
  55. package/dist/hooks/registrations/index.js +5 -3
  56. package/dist/hooks/registrations/index.js.map +1 -1
  57. package/dist/hooks/registrations/learning-capture.d.ts +19 -0
  58. package/dist/hooks/registrations/learning-capture.d.ts.map +1 -0
  59. package/dist/hooks/registrations/learning-capture.js +220 -0
  60. package/dist/hooks/registrations/learning-capture.js.map +1 -0
  61. package/dist/hooks/registrations/session-start.d.ts.map +1 -1
  62. package/dist/hooks/registrations/session-start.js +13 -0
  63. package/dist/hooks/registrations/session-start.js.map +1 -1
  64. package/dist/hooks/registrations/token-metrics.d.ts +10 -2
  65. package/dist/hooks/registrations/token-metrics.d.ts.map +1 -1
  66. package/dist/hooks/registrations/token-metrics.js +18 -4
  67. package/dist/hooks/registrations/token-metrics.js.map +1 -1
  68. package/dist/installer/index.d.ts +2 -2
  69. package/dist/installer/index.d.ts.map +1 -1
  70. package/dist/installer/index.js +202 -15
  71. package/dist/installer/index.js.map +1 -1
  72. package/dist/learning/aggregation.d.ts +39 -0
  73. package/dist/learning/aggregation.d.ts.map +1 -0
  74. package/dist/learning/aggregation.js +101 -0
  75. package/dist/learning/aggregation.js.map +1 -0
  76. package/dist/learning/anomaly.d.ts +30 -0
  77. package/dist/learning/anomaly.d.ts.map +1 -0
  78. package/dist/learning/anomaly.js +102 -0
  79. package/dist/learning/anomaly.js.map +1 -0
  80. package/dist/learning/baselines.d.ts +44 -0
  81. package/dist/learning/baselines.d.ts.map +1 -0
  82. package/dist/learning/baselines.js +126 -0
  83. package/dist/learning/baselines.js.map +1 -0
  84. package/dist/learning/efficiency.d.ts +23 -0
  85. package/dist/learning/efficiency.d.ts.map +1 -0
  86. package/dist/learning/efficiency.js +67 -0
  87. package/dist/learning/efficiency.js.map +1 -0
  88. package/dist/learning/hooks/learned-context.d.ts.map +1 -1
  89. package/dist/learning/hooks/learned-context.js +46 -0
  90. package/dist/learning/hooks/learned-context.js.map +1 -1
  91. package/dist/learning/pricing.d.ts +30 -0
  92. package/dist/learning/pricing.d.ts.map +1 -0
  93. package/dist/learning/pricing.js +98 -0
  94. package/dist/learning/pricing.js.map +1 -0
  95. package/dist/learning/session-state.d.ts +12 -2
  96. package/dist/learning/session-state.d.ts.map +1 -1
  97. package/dist/learning/session-state.js +72 -3
  98. package/dist/learning/session-state.js.map +1 -1
  99. package/dist/learning/storage.d.ts +21 -1
  100. package/dist/learning/storage.d.ts.map +1 -1
  101. package/dist/learning/storage.js +84 -0
  102. package/dist/learning/storage.js.map +1 -1
  103. package/dist/learning/token-estimator.d.ts +41 -0
  104. package/dist/learning/token-estimator.d.ts.map +1 -0
  105. package/dist/learning/token-estimator.js +111 -0
  106. package/dist/learning/token-estimator.js.map +1 -0
  107. package/dist/learning/types.d.ts +32 -0
  108. package/dist/learning/types.d.ts.map +1 -1
  109. package/dist/learning/utils.d.ts +42 -0
  110. package/dist/learning/utils.d.ts.map +1 -0
  111. package/dist/learning/utils.js +76 -0
  112. package/dist/learning/utils.js.map +1 -0
  113. package/dist/shared/types.d.ts +29 -0
  114. package/dist/shared/types.d.ts.map +1 -1
  115. package/package.json +1 -1
  116. package/scripts/dist/hooks/olympus-hooks.cjs +86 -84
@@ -33,7 +33,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
33
33
  export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
34
34
  export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.olympus-version.json');
35
35
  /** Current version - MUST match package.json */
36
- export const VERSION = '3.3.0';
36
+ export const VERSION = '3.4.1';
37
37
  /**
38
38
  * Check if the current Node.js version meets the minimum requirement
39
39
  */
@@ -1631,32 +1631,163 @@ Use \`/olympus <task>\` to explicitly invoke orchestration mode, or just include
1631
1631
  description: Start a planning session with Prometheus
1632
1632
  ---
1633
1633
 
1634
- [DELEGATION REQUIRED]
1634
+ # Prometheus - Strategic Planning Session
1635
1635
 
1636
- You must delegate this planning session to the Prometheus agent.
1636
+ You are now conducting a strategic planning session as Prometheus. Named after the Titan who brought fire (foresight) to humanity, you bring structure to complex work through thoughtful consultation.
1637
1637
 
1638
- **IMMEDIATELY** use the Task tool to spawn the prometheus agent:
1638
+ ## Task Context
1639
+
1640
+ $ARGUMENTS
1641
+
1642
+ ## Your Role
1643
+
1644
+ Guide the user through planning by:
1645
+ 1. **Asking clarifying questions** about requirements, constraints, goals, and risks
1646
+ 2. **Consulting research agents** (explore/librarian) to understand existing implementations and best practices
1647
+ 3. **Consulting Metis** for hidden requirements and risk analysis when ready to create plan
1648
+ 4. **Creating detailed, actionable work plans** saved to \`.olympus/plans/\`
1649
+
1650
+ ## Planning Workflow
1651
+
1652
+ ### Phase 1: Interview Mode (Start Here)
1653
+
1654
+ **CRITICAL**: Ask questions DIRECTLY to the user via your normal message output. Questions MUST be visible immediately.
1655
+
1656
+ Ask about:
1657
+ - **Goals**: What problem are we solving? What does success look like?
1658
+ - **Constraints**: Technical limitations, timeline, resources, compatibility requirements
1659
+ - **Context**: Existing code patterns, user preferences, architectural decisions
1660
+ - **Risks**: What could go wrong? What are the edge cases?
1661
+ - **Preferences**: Implementation approach, libraries, patterns to follow/avoid
1662
+
1663
+ **DO NOT** assume anything. Ask until requirements are crystal clear.
1664
+
1665
+ Use research agents for context:
1666
+ - \`Task(subagent_type="explore", ...)\` - Find existing implementations in codebase
1667
+ - \`Task(subagent_type="librarian", ...)\` - Research external docs and best practices
1668
+
1669
+ ### Phase 2: Pre-Plan Consultation
1670
+
1671
+ **BEFORE creating the plan**, consult Metis for blind spots:
1639
1672
 
1640
1673
  \`\`\`
1641
1674
  Task(
1642
- subagent_type="prometheus",
1643
- description="Strategic planning session",
1644
- prompt="""
1645
- $ARGUMENTS
1675
+ subagent_type="metis",
1676
+ description="Pre-planning consultation",
1677
+ prompt="Review these requirements and identify: (1) hidden requirements, (2) edge cases, (3) risks, (4) architectural concerns. Requirements: [summarize what user told you]"
1678
+ )
1679
+ \`\`\`
1646
1680
 
1647
- Please conduct a strategic planning session. Interview me about the requirements, consult with Metis for hidden risks, and create a comprehensive work plan.
1681
+ ### Phase 3: Plan Creation
1648
1682
 
1649
- When I'm ready, I'll say one of these to trigger plan generation:
1650
- - "Make it into a work plan!"
1683
+ **ONLY** create the plan when user explicitly says:
1651
1684
  - "Create the plan"
1685
+ - "Make it into a work plan"
1652
1686
  - "I'm ready to plan"
1687
+ - "Generate the plan"
1653
1688
 
1654
- Save the final plan to \`.olympus/plans/\`.
1655
- """
1656
- )
1689
+ Create plan with this structure and save to \`.olympus/plans/{descriptive-name}.md\`:
1690
+
1691
+ \`\`\`markdown
1692
+ # Plan: [Descriptive Title]
1693
+
1694
+ ## Context
1695
+
1696
+ ### Original Request
1697
+ [User's original request]
1698
+
1699
+ ### Interview Summary
1700
+ [Key points from your questions and user's answers]
1701
+
1702
+ ### Research Findings
1703
+ [Insights from explore/librarian agents]
1704
+
1705
+ ### Metis Consultation
1706
+ [Risks and hidden requirements identified]
1707
+
1708
+ ## Work Objectives
1709
+
1710
+ ### Core Objective
1711
+ [One sentence: what are we building and why?]
1712
+
1713
+ ### Deliverables
1714
+ - [ ] [Specific deliverable 1]
1715
+ - [ ] [Specific deliverable 2]
1716
+
1717
+ ### Definition of Done
1718
+ [Testable criteria for completion]
1719
+
1720
+ ## Requirements
1721
+
1722
+ ### Must Have
1723
+ - [Critical requirement 1 with file:line references]
1724
+ - [Critical requirement 2 with file:line references]
1725
+
1726
+ ### Must NOT Have
1727
+ - [Explicit exclusion 1]
1728
+ - [Explicit exclusion 2]
1729
+
1730
+ ## Implementation Plan
1731
+
1732
+ ### File Changes
1733
+ | File | Change Type | Description |
1734
+ |------|-------------|-------------|
1735
+ | path/to/file.ts:123 | modify | [What changes] |
1736
+
1737
+ ### Task Flow
1738
+ 1. **Task**: [Step 1]
1739
+ - **Acceptance Criteria**: [How to verify]
1740
+ - **Dependencies**: None
1741
+
1742
+ 2. **Task**: [Step 2]
1743
+ - **Acceptance Criteria**: [How to verify]
1744
+ - **Dependencies**: Step 1
1745
+
1746
+ ### Commit Strategy
1747
+ [How to break work into atomic commits]
1748
+
1749
+ ## Risk Assessment
1750
+
1751
+ ### Identified Risks
1752
+ - **Risk**: [Description]
1753
+ - **Impact**: High/Medium/Low
1754
+ - **Mitigation**: [How to handle]
1755
+
1756
+ ## Verification
1757
+
1758
+ ### Testing Strategy
1759
+ [How to test the implementation]
1760
+
1761
+ ### Success Criteria
1762
+ - [ ] [Testable criterion 1]
1763
+ - [ ] [Testable criterion 2]
1764
+
1765
+ ### Acceptance Tests
1766
+ 1. [Test scenario 1] → [Expected outcome]
1767
+ 2. [Test scenario 2] → [Expected outcome]
1657
1768
  \`\`\`
1658
1769
 
1659
- **DO NOT** attempt to handle planning yourself - you must spawn the Prometheus agent.`,
1770
+ ## Quality Standards
1771
+
1772
+ Your plan must meet these criteria:
1773
+ - **Cite file references**: 80%+ claims include file:line references
1774
+ - **Testable criteria**: 90%+ acceptance criteria are concrete and measurable
1775
+ - **No vague terms**: Replace "improve", "enhance", "better" with specific metrics
1776
+ - **Risk coverage**: All significant risks have mitigations
1777
+
1778
+ ## After Plan Creation
1779
+
1780
+ 1. Save plan to \`.olympus/plans/{name}.md\`
1781
+ 2. Tell user: "Plan saved to \`.olympus/plans/{name}.md\`. Review it, then start implementation or use \`/review\` to have Momus critique it first."
1782
+
1783
+ ## Important Notes
1784
+
1785
+ - **ASK QUESTIONS DIRECTLY**: Output questions in your messages - they must be visible to the user immediately
1786
+ - **Don't assume**: If unclear, ask. Better to over-communicate than under-deliver
1787
+ - **Research-backed**: Use explore/librarian agents to ground recommendations in actual codebase/docs
1788
+ - **Wait for trigger**: Don't create plan until user explicitly says to
1789
+
1790
+ Begin by asking your first clarifying questions about the task.`,
1660
1791
  'review/skill.md': `---
1661
1792
  description: Review a plan with Momus
1662
1793
  ---
@@ -2457,6 +2588,62 @@ Use the Task tool to delegate to specialized agents:
2457
2588
 
2458
2589
  **Use LOW for simple lookups, MEDIUM for standard work, HIGH for complex reasoning.**
2459
2590
 
2591
+ ## Token Efficiency Awareness
2592
+
2593
+ Olympus automatically learns token efficiency patterns without any manual configuration.
2594
+
2595
+ **How It Works:**
2596
+
2597
+ Olympus silently tracks every agent execution:
2598
+ - Records tokens consumed (input and output)
2599
+ - Measures success rates per agent type
2600
+ - Calculates efficiency scores (success × token optimization)
2601
+ - Detects improvement or decline trends over time
2602
+
2603
+ **Automatic Routing Decision:**
2604
+
2605
+ As Olympus gains data, it automatically adjusts routing:
2606
+
2607
+ 1. **First 5 Sessions** - Collects baseline metrics from all agents
2608
+ 2. **Sessions 6-10** - Identifies which agents perform best for different tasks
2609
+ 3. **Sessions 11+** - Routes to most efficient agents first, escalates on failure
2610
+
2611
+ **Example Learning Pattern:**
2612
+
2613
+ \`\`\`text
2614
+ Day 1: oracle-low (Haiku) tries 10 simple analyses
2615
+ → Success rate: 82%, avg tokens: 2,000
2616
+
2617
+ Day 3: oracle-low accumulates 50 attempts
2618
+ → Success rate: 85%, trend: improving
2619
+ → Efficiency score: 1.4x
2620
+
2621
+ Day 5: oracle-low has 100+ attempts
2622
+ → Consistent 85% success, uses 30% fewer tokens than Opus
2623
+ → Becomes the default for simple architectural questions
2624
+
2625
+ Day 7: New situation requires complex analysis
2626
+ → Tries oracle-low first (fails)
2627
+ → Escalates to oracle (Opus) - succeeds
2628
+ → Records: "Complex refactoring needs Opus"
2629
+ → Future similar tasks bypass oracle-low
2630
+ \`\`\`
2631
+
2632
+ **View Efficiency Metrics:**
2633
+
2634
+ \`\`\`bash
2635
+ # See how each agent is performing
2636
+ olympus learn --efficiency
2637
+
2638
+ # Understand cost breakdown
2639
+ olympus learn --show-costs
2640
+
2641
+ # Check current session budget
2642
+ olympus learn --budget-status
2643
+ \`\`\`
2644
+
2645
+ **Key Point:** This system works automatically in the background. You don't need to run commands or configure anything - Olympus learns and optimizes on its own. The metrics are available for inspection, but the core efficiency system is fully automatic.
2646
+
2460
2647
  ## Slash Commands
2461
2648
 
2462
2649
  | Command | Description |
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Token efficiency aggregation functions
3
+ * Updates agent performance metrics with token usage data
4
+ */
5
+ import { AgentPerformance, FeedbackEntry } from './types.js';
6
+ /**
7
+ * Update agent token efficiency with new session data
8
+ * Uses incremental averaging to avoid full recalculation
9
+ *
10
+ * @param performance - Current agent performance data
11
+ * @param newTokens - Tokens used in new invocation
12
+ * @param success - Whether the invocation was successful
13
+ * @param baselineTokens - Global baseline for efficiency calculation
14
+ * @returns Updated performance with new token efficiency
15
+ */
16
+ export declare function updateAgentTokenEfficiency(performance: AgentPerformance, newTokens: number, success: boolean, baselineTokens: number): AgentPerformance;
17
+ /**
18
+ * Extract token usage from feedback entry
19
+ *
20
+ * @param entry - Feedback entry (may or may not have token data)
21
+ * @returns Token count or 0 if not available
22
+ */
23
+ export declare function extractTokens(entry: FeedbackEntry): number;
24
+ /**
25
+ * Determine if invocation was successful based on event type
26
+ *
27
+ * @param entry - Feedback entry
28
+ * @returns True if successful, false otherwise
29
+ */
30
+ export declare function wasSuccessful(entry: FeedbackEntry): boolean;
31
+ /**
32
+ * Check if agent has minimum samples for recommendations
33
+ *
34
+ * @param performance - Agent performance data
35
+ * @param minimumSamples - Minimum required samples (default: 5)
36
+ * @returns True if sufficient samples
37
+ */
38
+ export declare function hasMinimumSamples(performance: AgentPerformance, minimumSamples?: number): boolean;
39
+ //# sourceMappingURL=aggregation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation.d.ts","sourceRoot":"","sources":["../../src/learning/aggregation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9E;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACrB,gBAAgB,CAqElB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,gBAAgB,EAC7B,cAAc,GAAE,MAAU,GACzB,OAAO,CAET"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Token efficiency aggregation functions
3
+ * Updates agent performance metrics with token usage data
4
+ */
5
+ import { calculateEfficiencyScore, calculateTrend } from './efficiency.js';
6
+ /**
7
+ * Update agent token efficiency with new session data
8
+ * Uses incremental averaging to avoid full recalculation
9
+ *
10
+ * @param performance - Current agent performance data
11
+ * @param newTokens - Tokens used in new invocation
12
+ * @param success - Whether the invocation was successful
13
+ * @param baselineTokens - Global baseline for efficiency calculation
14
+ * @returns Updated performance with new token efficiency
15
+ */
16
+ export function updateAgentTokenEfficiency(performance, newTokens, success, baselineTokens) {
17
+ if (newTokens < 0) {
18
+ throw new Error('Token count cannot be negative');
19
+ }
20
+ const currentEfficiency = performance.token_efficiency;
21
+ // Initialize efficiency data for new agent
22
+ if (!currentEfficiency) {
23
+ return {
24
+ ...performance,
25
+ token_efficiency: {
26
+ avg_tokens_per_success: success ? newTokens : 0,
27
+ avg_tokens_per_failure: success ? 0 : newTokens,
28
+ total_tokens: newTokens,
29
+ invocation_count: 1,
30
+ efficiency_score: calculateEfficiencyScore(success ? 1 : 0, newTokens, baselineTokens),
31
+ trend: 'insufficient_data'
32
+ }
33
+ };
34
+ }
35
+ // Update counts
36
+ const newInvocationCount = currentEfficiency.invocation_count + 1;
37
+ const newTotalTokens = currentEfficiency.total_tokens + newTokens;
38
+ // Update success/failure averages using exponential moving average
39
+ const ALPHA = 0.2; // Weight for new samples (higher = more reactive)
40
+ let newAvgSuccess = currentEfficiency.avg_tokens_per_success;
41
+ let newAvgFailure = currentEfficiency.avg_tokens_per_failure;
42
+ if (success) {
43
+ newAvgSuccess = currentEfficiency.avg_tokens_per_success === 0
44
+ ? newTokens
45
+ : currentEfficiency.avg_tokens_per_success * (1 - ALPHA) + newTokens * ALPHA;
46
+ }
47
+ else {
48
+ newAvgFailure = currentEfficiency.avg_tokens_per_failure === 0
49
+ ? newTokens
50
+ : currentEfficiency.avg_tokens_per_failure * (1 - ALPHA) + newTokens * ALPHA;
51
+ }
52
+ // Calculate recent average (last 10 samples approximation)
53
+ const recentAvg = newTokens * ALPHA + (newTotalTokens / newInvocationCount) * (1 - ALPHA);
54
+ const historicalAvg = newTotalTokens / newInvocationCount;
55
+ // Calculate trend
56
+ const trend = calculateTrend(recentAvg, historicalAvg, newInvocationCount);
57
+ // Recalculate efficiency score
58
+ const avgTokens = newTotalTokens / newInvocationCount;
59
+ const successRate = performance.success_rate; // Use existing success rate
60
+ const efficiencyScore = calculateEfficiencyScore(successRate, avgTokens, baselineTokens);
61
+ return {
62
+ ...performance,
63
+ token_efficiency: {
64
+ avg_tokens_per_success: newAvgSuccess,
65
+ avg_tokens_per_failure: newAvgFailure,
66
+ total_tokens: newTotalTokens,
67
+ invocation_count: newInvocationCount,
68
+ efficiency_score: efficiencyScore,
69
+ trend
70
+ }
71
+ };
72
+ }
73
+ /**
74
+ * Extract token usage from feedback entry
75
+ *
76
+ * @param entry - Feedback entry (may or may not have token data)
77
+ * @returns Token count or 0 if not available
78
+ */
79
+ export function extractTokens(entry) {
80
+ return entry.token_usage?.total_tokens ?? 0;
81
+ }
82
+ /**
83
+ * Determine if invocation was successful based on event type
84
+ *
85
+ * @param entry - Feedback entry
86
+ * @returns True if successful, false otherwise
87
+ */
88
+ export function wasSuccessful(entry) {
89
+ return entry.event_type === 'success' || entry.event_type === 'explicit_preference';
90
+ }
91
+ /**
92
+ * Check if agent has minimum samples for recommendations
93
+ *
94
+ * @param performance - Agent performance data
95
+ * @param minimumSamples - Minimum required samples (default: 5)
96
+ * @returns True if sufficient samples
97
+ */
98
+ export function hasMinimumSamples(performance, minimumSamples = 5) {
99
+ return (performance.token_efficiency?.invocation_count ?? 0) >= minimumSamples;
100
+ }
101
+ //# sourceMappingURL=aggregation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation.js","sourceRoot":"","sources":["../../src/learning/aggregation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Anomaly detection for token usage
3
+ * Detects when current session deviates significantly from baseline
4
+ */
5
+ /**
6
+ * Anomaly detection result
7
+ */
8
+ export interface AnomalyResult {
9
+ is_anomaly: boolean;
10
+ severity: 'info' | 'warning' | 'critical';
11
+ ratio: number;
12
+ message: string;
13
+ }
14
+ /**
15
+ * Thresholds for anomaly detection
16
+ */
17
+ export interface AnomalyThresholds {
18
+ warning: number;
19
+ critical: number;
20
+ }
21
+ /**
22
+ * Detect if current token usage is anomalous
23
+ *
24
+ * @param currentTokens - Tokens used in current session
25
+ * @param baseline - Expected baseline tokens
26
+ * @param thresholds - Optional custom thresholds
27
+ * @returns Anomaly detection result
28
+ */
29
+ export declare function detectAnomaly(currentTokens: number, baseline: number, thresholds?: AnomalyThresholds): AnomalyResult;
30
+ //# sourceMappingURL=anomaly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../../src/learning/anomaly.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,iBAAsC,GACjD,aAAa,CAsDf"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Anomaly detection for token usage
3
+ * Detects when current session deviates significantly from baseline
4
+ */
5
+ /**
6
+ * Default thresholds
7
+ */
8
+ const DEFAULT_THRESHOLDS = {
9
+ warning: 1.5,
10
+ critical: 2.5
11
+ };
12
+ /**
13
+ * Detect if current token usage is anomalous
14
+ *
15
+ * @param currentTokens - Tokens used in current session
16
+ * @param baseline - Expected baseline tokens
17
+ * @param thresholds - Optional custom thresholds
18
+ * @returns Anomaly detection result
19
+ */
20
+ export function detectAnomaly(currentTokens, baseline, thresholds = DEFAULT_THRESHOLDS) {
21
+ // Validate inputs
22
+ if (currentTokens < 0 || baseline < 0) {
23
+ throw new Error('Token counts cannot be negative');
24
+ }
25
+ if (thresholds.warning < 0 || thresholds.critical < 0) {
26
+ throw new Error('Thresholds cannot be negative');
27
+ }
28
+ if (thresholds.critical <= thresholds.warning) {
29
+ throw new Error('Critical threshold must be greater than warning threshold');
30
+ }
31
+ // Handle edge case: no baseline (first session)
32
+ if (baseline === 0) {
33
+ return {
34
+ is_anomaly: false,
35
+ severity: 'info',
36
+ ratio: 0,
37
+ message: 'No baseline data available. Establishing baseline.'
38
+ };
39
+ }
40
+ // Calculate ratio
41
+ const ratio = currentTokens / baseline;
42
+ // Check for critical anomaly
43
+ if (ratio >= thresholds.critical) {
44
+ return {
45
+ is_anomaly: true,
46
+ severity: 'critical',
47
+ ratio,
48
+ message: formatAnomalyMessage(currentTokens, baseline, ratio, 'critical')
49
+ };
50
+ }
51
+ // Check for warning anomaly
52
+ if (ratio >= thresholds.warning) {
53
+ return {
54
+ is_anomaly: true,
55
+ severity: 'warning',
56
+ ratio,
57
+ message: formatAnomalyMessage(currentTokens, baseline, ratio, 'warning')
58
+ };
59
+ }
60
+ // Normal usage
61
+ return {
62
+ is_anomaly: false,
63
+ severity: 'info',
64
+ ratio,
65
+ message: `Session at ${formatTokens(currentTokens)} (${formatRatio(ratio)} of baseline)`
66
+ };
67
+ }
68
+ /**
69
+ * Format anomaly message with clear, actionable information
70
+ */
71
+ function formatAnomalyMessage(currentTokens, baseline, ratio, severity) {
72
+ const tokenStr = formatTokens(currentTokens);
73
+ const baselineStr = formatTokens(baseline);
74
+ const ratioStr = formatRatio(ratio);
75
+ if (severity === 'critical') {
76
+ return `Session at ${tokenStr} (${ratioStr} of ${baselineStr} baseline). ` +
77
+ `This is unusually high. Consider: ` +
78
+ `(1) Is this a complex task requiring more resources? ` +
79
+ `(2) Could work be delegated to subagents? ` +
80
+ `(3) Are there opportunities to break into smaller tasks?`;
81
+ }
82
+ // Warning severity
83
+ return `Session at ${tokenStr} (${ratioStr} of ${baselineStr} baseline). ` +
84
+ `This is above typical usage. ` +
85
+ `Consider delegating remaining work or focusing on task completion.`;
86
+ }
87
+ /**
88
+ * Format token count with K suffix for readability
89
+ */
90
+ function formatTokens(tokens) {
91
+ if (tokens >= 1000) {
92
+ return `${(tokens / 1000).toFixed(1)}k`;
93
+ }
94
+ return `${tokens}`;
95
+ }
96
+ /**
97
+ * Format ratio as percentage
98
+ */
99
+ function formatRatio(ratio) {
100
+ return `${(ratio * 100).toFixed(0)}%`;
101
+ }
102
+ //# sourceMappingURL=anomaly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../../src/learning/anomaly.ts"],"names":[],"mappings":"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"}