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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -0
- package/dist/__tests__/installer.test.js +1 -1
- package/dist/__tests__/learning/aggregation.test.d.ts +2 -0
- package/dist/__tests__/learning/aggregation.test.d.ts.map +1 -0
- package/dist/__tests__/learning/aggregation.test.js +282 -0
- package/dist/__tests__/learning/aggregation.test.js.map +1 -0
- package/dist/__tests__/learning/anomaly.test.d.ts +2 -0
- package/dist/__tests__/learning/anomaly.test.d.ts.map +1 -0
- package/dist/__tests__/learning/anomaly.test.js +107 -0
- package/dist/__tests__/learning/anomaly.test.js.map +1 -0
- package/dist/__tests__/learning/baselines.test.d.ts +2 -0
- package/dist/__tests__/learning/baselines.test.d.ts.map +1 -0
- package/dist/__tests__/learning/baselines.test.js +155 -0
- package/dist/__tests__/learning/baselines.test.js.map +1 -0
- package/dist/__tests__/learning/efficiency.test.d.ts +2 -0
- package/dist/__tests__/learning/efficiency.test.d.ts.map +1 -0
- package/dist/__tests__/learning/efficiency.test.js +94 -0
- package/dist/__tests__/learning/efficiency.test.js.map +1 -0
- package/dist/__tests__/learning/feedback-loop-injection.test.d.ts +6 -0
- package/dist/__tests__/learning/feedback-loop-injection.test.d.ts.map +1 -0
- package/dist/__tests__/learning/feedback-loop-injection.test.js +288 -0
- package/dist/__tests__/learning/feedback-loop-injection.test.js.map +1 -0
- package/dist/__tests__/learning/learning-capture-integration.test.d.ts +6 -0
- package/dist/__tests__/learning/learning-capture-integration.test.d.ts.map +1 -0
- package/dist/__tests__/learning/learning-capture-integration.test.js +151 -0
- package/dist/__tests__/learning/learning-capture-integration.test.js.map +1 -0
- package/dist/__tests__/learning/token-metrics.test.d.ts +2 -0
- package/dist/__tests__/learning/token-metrics.test.d.ts.map +1 -0
- package/dist/__tests__/learning/token-metrics.test.js +308 -0
- package/dist/__tests__/learning/token-metrics.test.js.map +1 -0
- package/dist/__tests__/token-tracking-integration.test.d.ts +8 -0
- package/dist/__tests__/token-tracking-integration.test.d.ts.map +1 -0
- package/dist/__tests__/token-tracking-integration.test.js +669 -0
- package/dist/__tests__/token-tracking-integration.test.js.map +1 -0
- package/dist/agents/prometheus.d.ts.map +1 -1
- package/dist/agents/prometheus.js +27 -0
- package/dist/agents/prometheus.js.map +1 -1
- package/dist/cli/commands/metrics.d.ts +10 -2
- package/dist/cli/commands/metrics.d.ts.map +1 -1
- package/dist/cli/commands/metrics.js +25 -239
- package/dist/cli/commands/metrics.js.map +1 -1
- package/dist/cli/index.js +196 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +14 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/hooks/registrations/budget-warning.d.ts +8 -0
- package/dist/hooks/registrations/budget-warning.d.ts.map +1 -0
- package/dist/hooks/registrations/budget-warning.js +63 -0
- package/dist/hooks/registrations/budget-warning.js.map +1 -0
- package/dist/hooks/registrations/index.d.ts +3 -2
- package/dist/hooks/registrations/index.d.ts.map +1 -1
- package/dist/hooks/registrations/index.js +5 -3
- package/dist/hooks/registrations/index.js.map +1 -1
- package/dist/hooks/registrations/learning-capture.d.ts +19 -0
- package/dist/hooks/registrations/learning-capture.d.ts.map +1 -0
- package/dist/hooks/registrations/learning-capture.js +220 -0
- package/dist/hooks/registrations/learning-capture.js.map +1 -0
- package/dist/hooks/registrations/session-start.d.ts.map +1 -1
- package/dist/hooks/registrations/session-start.js +13 -0
- package/dist/hooks/registrations/session-start.js.map +1 -1
- package/dist/hooks/registrations/token-metrics.d.ts +10 -2
- package/dist/hooks/registrations/token-metrics.d.ts.map +1 -1
- package/dist/hooks/registrations/token-metrics.js +18 -4
- package/dist/hooks/registrations/token-metrics.js.map +1 -1
- package/dist/installer/index.d.ts +2 -2
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +202 -15
- package/dist/installer/index.js.map +1 -1
- package/dist/learning/aggregation.d.ts +39 -0
- package/dist/learning/aggregation.d.ts.map +1 -0
- package/dist/learning/aggregation.js +101 -0
- package/dist/learning/aggregation.js.map +1 -0
- package/dist/learning/anomaly.d.ts +30 -0
- package/dist/learning/anomaly.d.ts.map +1 -0
- package/dist/learning/anomaly.js +102 -0
- package/dist/learning/anomaly.js.map +1 -0
- package/dist/learning/baselines.d.ts +44 -0
- package/dist/learning/baselines.d.ts.map +1 -0
- package/dist/learning/baselines.js +126 -0
- package/dist/learning/baselines.js.map +1 -0
- package/dist/learning/efficiency.d.ts +23 -0
- package/dist/learning/efficiency.d.ts.map +1 -0
- package/dist/learning/efficiency.js +67 -0
- package/dist/learning/efficiency.js.map +1 -0
- package/dist/learning/hooks/learned-context.d.ts.map +1 -1
- package/dist/learning/hooks/learned-context.js +46 -0
- package/dist/learning/hooks/learned-context.js.map +1 -1
- package/dist/learning/pricing.d.ts +30 -0
- package/dist/learning/pricing.d.ts.map +1 -0
- package/dist/learning/pricing.js +98 -0
- package/dist/learning/pricing.js.map +1 -0
- package/dist/learning/session-state.d.ts +12 -2
- package/dist/learning/session-state.d.ts.map +1 -1
- package/dist/learning/session-state.js +72 -3
- package/dist/learning/session-state.js.map +1 -1
- package/dist/learning/storage.d.ts +21 -1
- package/dist/learning/storage.d.ts.map +1 -1
- package/dist/learning/storage.js +84 -0
- package/dist/learning/storage.js.map +1 -1
- package/dist/learning/token-estimator.d.ts +41 -0
- package/dist/learning/token-estimator.d.ts.map +1 -0
- package/dist/learning/token-estimator.js +111 -0
- package/dist/learning/token-estimator.js.map +1 -0
- package/dist/learning/types.d.ts +32 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/learning/utils.d.ts +42 -0
- package/dist/learning/utils.d.ts.map +1 -0
- package/dist/learning/utils.js +76 -0
- package/dist/learning/utils.js.map +1 -0
- package/dist/shared/types.d.ts +29 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/dist/hooks/olympus-hooks.cjs +86 -84
package/dist/installer/index.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
1634
|
+
# Prometheus - Strategic Planning Session
|
|
1635
1635
|
|
|
1636
|
-
You
|
|
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
|
-
|
|
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="
|
|
1643
|
-
description="
|
|
1644
|
-
prompt=""
|
|
1645
|
-
|
|
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
|
-
|
|
1681
|
+
### Phase 3: Plan Creation
|
|
1648
1682
|
|
|
1649
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,0CAA0C;AAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAE7E,gDAAgD;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAqB/B;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,KAAK,EAAE,OAAO,IAAI,gBAAgB;QAClC,OAAO;QACP,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9D,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4EE;IAEf,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqEG;IAEnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAqF0D;IAExE,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQA+E8O;IAEtQ,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuJf;IAEP,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAsCsC;IAE9D,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAgG4C;IAExD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoFG;IAEf,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmFR;IAEP,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA4HgD;IAEjE,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2NA;IAEhB,8DAA8D;IAC9D,oEAAoE;IAEpE,+DAA+D;IAC/D,wBAAwB;IACxB,8DAA8D;IAC9D,gEAAgE;IAChE,8DAA8D;IAC9D,yDAAyD;IACzD,+DAA+D;IAE/D,oCAAoC;IACpC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2BE;IAEtB,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;eAsBJ;IAEb,8CAA8C;IAC9C,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqCH;IAEjB,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;eA0BN;IAEb,yCAAyC;IACzC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;eAqBP;IAEb,sCAAsC;IACtC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;WAwBZ;IAET,6BAA6B;IAC7B,0BAA0B,EAAE;;;;;;;;;;;;;;;;QAgBtB;IAEN,2BAA2B,EAAE;;;;;;;;;;;;;;;;QAgBvB;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAyFiE;IAEvF,qBAAqB,EAAE;;;;;;;;;;;;;;gDAcuB;IAE9C,kBAAkB,EAAE;;;;;;;;;;;;;mEAa6C;IAEjE,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAiF6B;IAEjD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;8GAyBsF;IAE5G,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAgKmD;IAE9D,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAiC4D;IAE/E,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sFAqC6D;IAEpF,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GAuJyF;IAE5G,kBAAkB,EAAE;;;;;;;;qEAQ+C;IAEnE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAyC0F;IAEvG,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAoGoE;IAExF,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA6LsD;IAEnE,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHAiHwG;CACxH,CAAC;AAEF,6FAA6F;AAC7F,8DAA8D;AAC9D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqUhC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3C,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,UAA0B,EAAE;IAClD,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,qDAAqD;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAE,gCAAgC;IACpF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAE,mCAAmC;IAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC1C,CAAC;IAED,gEAAgE;IAChE,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,oBAAoB,SAAS,CAAC,QAAQ,qBAAqB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,IAAI,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,QAAQ,6CAA6C,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAClH,MAAM,CAAC,OAAO,GAAG,gCAAgC,SAAS,CAAC,QAAQ,YAAY,CAAC;YAChF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,qDAAqD;IACvD,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;IAClG,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACrD,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAC1D,CAAC;QACD,2DAA2D;IAC7D,CAAC;IAED,IAAI,CAAC;QACH,qBAAqB;QACrB,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB;QACjB,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,WAAW,GAAG;YAClB,YAAY;YACZ,WAAW;YACX,eAAe;YACf,YAAY;YACZ,eAAe;YACf,WAAW;YACX,cAAc;SACf,CAAC;QACF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,UAAU,CAAC,UAAU,CAAC,CAAC;gBACvB,GAAG,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAE7C,uFAAuF;YACvF,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,oEAAoE;QAEpE,2CAA2C;QAC3C,yEAAyE;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/C,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC/E,GAAG,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC/E,GAAG,CAAC,GAAG,QAAQ,yCAAyC,CAAC,CAAC;QAC5D,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,qBAAqB,EAAE,EAAE,CAAC;gBAC5B,qEAAqE;gBACrE,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAC1C,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;gBAC9C,IAAI,eAAe,EAAE,CAAC;oBACpB,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,gFAAgF,CAAC,CAAC;oBACtF,iCAAiC;oBACjC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3D,GAAG,CAAC,cAAc,QAAQ,6BAA6B,CAAC,CAAC;oBACzD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAC1C,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACjC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;4BACjB,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC7B,CAAC;wBACD,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3D,GAAG,CAAC,cAAc,QAAQ,kBAAkB,CAAC,CAAC;gBAE9C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBAC3C,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAC;oBACjD,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACjC,wDAAwD;wBACxD,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;4BACjB,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC7B,CAAC;wBACD,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAC5E,CAAC;QAED,2EAA2E;QAC3E,IAAI,QAAQ,IAAI,qBAAqB,EAAE,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACrD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;oBACpD,gEAAgE;oBAChE,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC;wBAC/C,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC;wBAC3C,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;oBAE9D,IAAI,QAAQ,EAAE,CAAC;wBACb,4BAA4B;wBAC5B,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;wBACzC,UAAU,CAAC,eAAe,CAAC,CAAC;wBAC5B,GAAG,CAAC,8CAA8C,CAAC,CAAC;wBACpD,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAClF,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAC9D,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACzC,UAAU,CAAC,gBAAgB,CAAC,CAAC;wBAC7B,GAAG,CAAC,2CAA2C,CAAC,CAAC;wBACjD,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG;oBACjB,sBAAsB,EAAE,qBAAqB;oBAC7C,mBAAmB,EAAE,kBAAkB;oBACvC,qBAAqB,EAAE,oBAAoB;oBAC3C,uBAAuB,EAAE,sBAAsB;oBAC/C,8BAA8B;oBAC9B,qBAAqB;oBACrB,gCAAgC;iBACjC,CAAC;gBAEF,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3B,IAAI,CAAC;4BACH,UAAU,CAAC,UAAU,CAAC,CAAC;4BACvB,YAAY,EAAE,CAAC;wBACjB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,gBAAgB;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,GAAG,CAAC,cAAc,YAAY,qBAAqB,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,gBAAgB,GAA4B,EAAE,CAAC;gBACnD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7B,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC5D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACjD,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,aAAa,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;gBAChF,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;gBAEnC,0DAA0D;gBAC1D,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9B,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;wBACtC,GAAG,CAAC,WAAW,SAAS,OAAO,CAAC,CAAC;oBACnC,CAAC;yBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBACzB,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;wBACtC,GAAG,CAAC,aAAa,SAAS,iBAAiB,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,KAAK,SAAS,oCAAoC,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAED,gBAAgB,CAAC,KAAK,GAAG,aAAa,CAAC;gBAEvC,sBAAsB;gBACtB,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvE,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBAC3C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAChC,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,GAAG,CAAC,mEAAmE,CAAC,CAAC;gBACzE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAC9C,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,kFAAkF;QAClF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,iBAAiB,GAAG;oBACxB,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,8EAA8E;oBAC3F,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,4BAA4B;qBAClC;oBACD,QAAQ,EAAE,2CAA2C;oBACrD,UAAU,EAAE,oCAAoC;oBAChD,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,aAAa;wBACb,eAAe;wBACf,SAAS;wBACT,WAAW;wBACX,QAAQ;wBACR,YAAY;wBACZ,cAAc;qBACf;iBACF,CAAC;gBAEF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACtD,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1E,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBAE5C,wCAAwC;gBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;gBACxE,IAAI,gBAAgB,GAA0D;oBAC5E,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ,CAAC;gBAEF,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;oBAC5D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;gBAED,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;oBACvC,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,iBAAiB;iBACxB,CAAC;gBAEF,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/E,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,GAAG,CAAC,qDAAqD,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,eAAe,GAAG;YACtB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,KAAc;YACpE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QACF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAE9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,0BAA0B,MAAM,CAAC,eAAe,CAAC,MAAM,YAAY,MAAM,CAAC,iBAAiB,CAAC,MAAM,cAAc,MAAM,CAAC,eAAe,CAAC,MAAM,gBAAgB,SAAS,QAAQ,CAAC;IAElM,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,GAAG,wBAAwB,YAAY,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -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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"}
|