strray-ai 1.7.2 → 1.7.3
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/.opencode/hooks/post-commit +152 -55
- package/.opencode/hooks/post-commit.backup +110 -174
- package/.opencode/hooks/post-push +47 -64
- package/.opencode/hooks/post-push.backup +34 -38
- package/.opencode/strray/features.json +3 -3
- package/.opencode/strray/routing-mappings.json +90 -34
- package/AGENTS.md +7 -2
- package/dist/analytics/anonymization-engine.d.ts +108 -0
- package/dist/analytics/anonymization-engine.d.ts.map +1 -0
- package/dist/analytics/anonymization-engine.js +352 -0
- package/dist/analytics/anonymization-engine.js.map +1 -0
- package/dist/analytics/consent-manager.d.ts +94 -0
- package/dist/analytics/consent-manager.d.ts.map +1 -0
- package/dist/analytics/consent-manager.js +257 -0
- package/dist/analytics/consent-manager.js.map +1 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +68 -0
- package/dist/analytics/emerging-pattern-detector.d.ts.map +1 -0
- package/dist/analytics/emerging-pattern-detector.js +250 -0
- package/dist/analytics/emerging-pattern-detector.js.map +1 -0
- package/dist/analytics/pattern-learning-engine.d.ts +81 -0
- package/dist/analytics/pattern-learning-engine.d.ts.map +1 -0
- package/dist/analytics/pattern-learning-engine.js +262 -0
- package/dist/analytics/pattern-learning-engine.js.map +1 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +89 -0
- package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -0
- package/dist/analytics/pattern-performance-tracker.js +289 -0
- package/dist/analytics/pattern-performance-tracker.js.map +1 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +100 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts.map +1 -0
- package/dist/analytics/prompt-pattern-analyzer.js +372 -0
- package/dist/analytics/prompt-pattern-analyzer.js.map +1 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +102 -0
- package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -0
- package/dist/analytics/routing-performance-analyzer.js +342 -0
- package/dist/analytics/routing-performance-analyzer.js.map +1 -0
- package/dist/analytics/routing-refiner.d.ts +105 -0
- package/dist/analytics/routing-refiner.d.ts.map +1 -0
- package/dist/analytics/routing-refiner.js +381 -0
- package/dist/analytics/routing-refiner.js.map +1 -0
- package/dist/cli/commands/analytics-disable.d.ts +10 -0
- package/dist/cli/commands/analytics-disable.d.ts.map +1 -0
- package/dist/cli/commands/analytics-disable.js +73 -0
- package/dist/cli/commands/analytics-disable.js.map +1 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +9 -0
- package/dist/cli/commands/analytics-enable-action.d.ts.map +1 -0
- package/dist/cli/commands/analytics-enable-action.js +83 -0
- package/dist/cli/commands/analytics-enable-action.js.map +1 -0
- package/dist/cli/commands/analytics-preview.d.ts +10 -0
- package/dist/cli/commands/analytics-preview.d.ts.map +1 -0
- package/dist/cli/commands/analytics-preview.js +107 -0
- package/dist/cli/commands/analytics-preview.js.map +1 -0
- package/dist/cli/commands/analytics-status.d.ts +10 -0
- package/dist/cli/commands/analytics-status.d.ts.map +1 -0
- package/dist/cli/commands/analytics-status.js +68 -0
- package/dist/cli/commands/analytics-status.js.map +1 -0
- package/dist/cli/index.js +6 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adaptive-kernel.d.ts +110 -0
- package/dist/core/adaptive-kernel.d.ts.map +1 -0
- package/dist/core/adaptive-kernel.js +193 -0
- package/dist/core/adaptive-kernel.js.map +1 -0
- package/dist/core/kernel-patterns.d.ts +105 -0
- package/dist/core/kernel-patterns.d.ts.map +1 -0
- package/dist/core/kernel-patterns.js +328 -0
- package/dist/core/kernel-patterns.js.map +1 -0
- package/dist/core/orchestrator.d.ts +1 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +40 -11
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/delegation/agent-delegator.d.ts +1 -0
- package/dist/delegation/agent-delegator.d.ts.map +1 -1
- package/dist/delegation/agent-delegator.js +24 -2
- package/dist/delegation/agent-delegator.js.map +1 -1
- package/dist/delegation/task-skill-router.d.ts +269 -5
- package/dist/delegation/task-skill-router.d.ts.map +1 -1
- package/dist/delegation/task-skill-router.js +810 -23
- package/dist/delegation/task-skill-router.js.map +1 -1
- package/dist/postprocessor/PostProcessor.d.ts +10 -0
- package/dist/postprocessor/PostProcessor.d.ts.map +1 -1
- package/dist/postprocessor/PostProcessor.js +87 -17
- package/dist/postprocessor/PostProcessor.js.map +1 -1
- package/dist/processors/agents-md-validation-processor.d.ts +1 -0
- package/dist/processors/agents-md-validation-processor.d.ts.map +1 -1
- package/dist/processors/agents-md-validation-processor.js +34 -12
- package/dist/processors/agents-md-validation-processor.js.map +1 -1
- package/dist/processors/processor-manager.d.ts +7 -0
- package/dist/processors/processor-manager.d.ts.map +1 -1
- package/dist/processors/processor-manager.js +93 -0
- package/dist/processors/processor-manager.js.map +1 -1
- package/dist/processors/test-auto-creation-processor.d.ts.map +1 -1
- package/dist/processors/test-auto-creation-processor.js +52 -38
- package/dist/processors/test-auto-creation-processor.js.map +1 -1
- package/dist/scripts/analytics/daily-routing-analysis.d.ts +18 -0
- package/dist/scripts/analytics/daily-routing-analysis.d.ts.map +1 -0
- package/dist/scripts/analytics/daily-routing-analysis.js +268 -0
- package/dist/scripts/analytics/daily-routing-analysis.js.map +1 -0
- package/dist/scripts/analytics/index.d.ts +15 -0
- package/dist/scripts/analytics/index.d.ts.map +1 -0
- package/dist/scripts/analytics/index.js +17 -0
- package/dist/scripts/analytics/index.js.map +1 -0
- package/dist/scripts/test-p9.d.ts +15 -0
- package/dist/scripts/test-p9.d.ts.map +1 -0
- package/dist/scripts/test-p9.js +220 -0
- package/dist/scripts/test-p9.js.map +1 -0
- package/package.json +6 -2
- package/scripts/node/kernel-e2e-test.mjs +168 -0
- package/scripts/node/kernel-framework-test.mjs +127 -0
- package/scripts/node/kernel-live-test.mjs +147 -0
- package/scripts/node/kernel-real-framework-test.mjs +103 -0
- package/scripts/node/kernel-update.cjs +379 -0
- package/scripts/node/reflection-check.sh +245 -27
- package/scripts/node/test-simple-names-comprehensive.mjs +221 -0
- package/scripts/node/test-simple-names.mjs +39 -0
- package/dist/agents/documentation-writer.d.ts +0 -9
- package/dist/agents/documentation-writer.d.ts.map +0 -1
- package/dist/agents/documentation-writer.js +0 -85
- package/dist/agents/documentation-writer.js.map +0 -1
- package/dist/agents/explore.d.ts +0 -8
- package/dist/agents/explore.d.ts.map +0 -1
- package/dist/agents/explore.js +0 -55
- package/dist/agents/explore.js.map +0 -1
- package/dist/agents/librarian.d.ts +0 -3
- package/dist/agents/librarian.d.ts.map +0 -1
- package/dist/agents/librarian.js +0 -84
- package/dist/agents/librarian.js.map +0 -1
- package/dist/agents/marketing-expert.d.ts +0 -9
- package/dist/agents/marketing-expert.d.ts.map +0 -1
- package/dist/agents/marketing-expert.js +0 -112
- package/dist/agents/marketing-expert.js.map +0 -1
- package/dist/agents/oracle.d.ts +0 -8
- package/dist/agents/oracle.d.ts.map +0 -1
- package/dist/agents/oracle.js +0 -51
- package/dist/agents/oracle.js.map +0 -1
- package/dist/agents/seo-copywriter.d.ts +0 -10
- package/dist/agents/seo-copywriter.d.ts.map +0 -1
- package/dist/agents/seo-copywriter.js +0 -73
- package/dist/agents/seo-copywriter.js.map +0 -1
- package/dist/agents/seo-specialist.d.ts +0 -9
- package/dist/agents/seo-specialist.d.ts.map +0 -1
- package/dist/agents/seo-specialist.js +0 -54
- package/dist/agents/seo-specialist.js.map +0 -1
- package/dist/agents/test-architect.d.ts +0 -3
- package/dist/agents/test-architect.d.ts.map +0 -1
- package/dist/agents/test-architect.js +0 -96
- package/dist/agents/test-architect.js.map +0 -1
- package/dist/mcps/enhanced-orchestrator.server.d.ts +0 -14
- package/dist/mcps/enhanced-orchestrator.server.d.ts.map +0 -1
- package/dist/mcps/enhanced-orchestrator.server.js +0 -266
- package/dist/mcps/enhanced-orchestrator.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/analyzer.server.d.ts +0 -7
- package/dist/mcps/knowledge-skills/analyzer.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/analyzer.server.js +0 -282
- package/dist/mcps/knowledge-skills/analyzer.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts +0 -48
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/documentation-generation.server.js +0 -1238
- package/dist/mcps/knowledge-skills/documentation-generation.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/explore.server.d.ts +0 -21
- package/dist/mcps/knowledge-skills/explore.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/explore.server.js +0 -582
- package/dist/mcps/knowledge-skills/explore.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/marketing-expert.server.js +0 -356
- package/dist/mcps/knowledge-skills/marketing-expert.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/oracle.server.d.ts +0 -25
- package/dist/mcps/knowledge-skills/oracle.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/oracle.server.js +0 -569
- package/dist/mcps/knowledge-skills/oracle.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/seo-copywriter.server.js +0 -251
- package/dist/mcps/knowledge-skills/seo-copywriter.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/seo-specialist.server.js +0 -211
- package/dist/mcps/knowledge-skills/seo-specialist.server.js.map +0 -1
- package/dist/mcps/librarian.server.d.ts +0 -17
- package/dist/mcps/librarian.server.d.ts.map +0 -1
- package/dist/mcps/librarian.server.js +0 -382
- package/dist/mcps/librarian.server.js.map +0 -1
- package/dist/optimization/performance-optimizer.d.ts +0 -179
- package/dist/optimization/performance-optimizer.d.ts.map +0 -1
- package/dist/optimization/performance-optimizer.js +0 -556
- package/dist/optimization/performance-optimizer.js.map +0 -1
- package/dist/utils/memory-pool.d.ts +0 -90
- package/dist/utils/memory-pool.d.ts.map +0 -1
- package/dist/utils/memory-pool.js +0 -245
- package/dist/utils/memory-pool.js.map +0 -1
|
@@ -37,10 +37,11 @@ fi
|
|
|
37
37
|
# Check 2: Executive Summary
|
|
38
38
|
echo ""
|
|
39
39
|
echo "2️⃣ Checking Executive Summary..."
|
|
40
|
-
if grep -q "## Executive Summary" "$REFLECTION_FILE"
|
|
40
|
+
if grep -q "## Executive Summary" "$REFLECTION_FILE" || \
|
|
41
|
+
grep -q "## 1. EXECUTIVE SUMMARY" "$REFLECTION_FILE"; then
|
|
41
42
|
echo " ✅ Has Executive Summary section"
|
|
42
43
|
# Check it's near the top (within first 20 lines)
|
|
43
|
-
line_num=$(grep -n "## Executive Summary" "$REFLECTION_FILE" | head -1 | cut -d: -f1)
|
|
44
|
+
line_num=$(grep -n "## Executive Summary\|## 1. EXECUTIVE SUMMARY" "$REFLECTION_FILE" | head -1 | cut -d: -f1)
|
|
44
45
|
if [ "$line_num" -lt 20 ]; then
|
|
45
46
|
echo " ✅ Executive Summary is near top (line $line_num)"
|
|
46
47
|
else
|
|
@@ -56,36 +57,113 @@ fi
|
|
|
56
57
|
echo ""
|
|
57
58
|
echo "3️⃣ Checking The Dichotomy sections..."
|
|
58
59
|
if grep -q "## The Dichotomy" "$REFLECTION_FILE" || \
|
|
60
|
+
grep -q "## 2. THE DICHOTOMY" "$REFLECTION_FILE" || \
|
|
59
61
|
(grep -q "What Was" "$REFLECTION_FILE" && \
|
|
60
62
|
grep -q "What Is" "$REFLECTION_FILE" && \
|
|
61
63
|
grep -q "What Should Be" "$REFLECTION_FILE"); then
|
|
62
64
|
echo " ✅ Has The Dichotomy structure"
|
|
65
|
+
|
|
66
|
+
# Check for INNER DIALOGUE in What Was section
|
|
67
|
+
if grep -q "INNER DIALOGUE" "$REFLECTION_FILE"; then
|
|
68
|
+
echo " ✅ Contains INNER DIALOGUE sections"
|
|
69
|
+
|
|
70
|
+
# Count INNER DIALOGUE mentions for depth
|
|
71
|
+
inner_dialogue_count=$(grep -c "INNER DIALOGUE" "$REFLECTION_FILE")
|
|
72
|
+
if [ "$inner_dialogue_count" -ge 2 ]; then
|
|
73
|
+
echo " ✅ Multiple INNER DIALOGUE sections ($inner_dialogue_count found)"
|
|
74
|
+
else
|
|
75
|
+
echo " ⚠️ Should have multiple INNER DIALOGUE sections for depth (currently $inner_dialogue_count)"
|
|
76
|
+
((WARNINGS++))
|
|
77
|
+
fi
|
|
78
|
+
else
|
|
79
|
+
echo " ❌ Missing INNER DIALOGUE sections - critical for depth"
|
|
80
|
+
((ERRORS++))
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
# Check for emotional/struggle content
|
|
84
|
+
if grep -q -i "struggle\|emotional\|frustration\|confidence\|confusion" "$REFLECTION_FILE"; then
|
|
85
|
+
echo " ✅ Contains emotional/struggle context"
|
|
86
|
+
else
|
|
87
|
+
echo " ⚠️ Should include emotional state descriptions for depth"
|
|
88
|
+
((WARNINGS++))
|
|
89
|
+
fi
|
|
90
|
+
|
|
63
91
|
else
|
|
64
92
|
echo " ❌ Missing The Dichotomy (What Was/Is/Should Be)"
|
|
65
93
|
((ERRORS++))
|
|
66
94
|
fi
|
|
67
95
|
|
|
68
|
-
# Check 4:
|
|
96
|
+
# Check 4: Counterfactual Thinking (Required for depth)
|
|
97
|
+
echo ""
|
|
98
|
+
echo "4️⃣ Checking Counterfactual Thinking..."
|
|
99
|
+
if grep -q "## Counterfactual\|## COUNTERFACTUAL\|Counterfactual Analysis" "$REFLECTION_FILE"; then
|
|
100
|
+
echo " ✅ Has Counterfactual Thinking section"
|
|
101
|
+
|
|
102
|
+
# Check for specific counterfactual questions
|
|
103
|
+
counterfactual_checks=0
|
|
104
|
+
if grep -q "would have happened" "$REFLECTION_FILE"; then
|
|
105
|
+
((counterfactual_checks++))
|
|
106
|
+
fi
|
|
107
|
+
if grep -q "cascade of" "$REFLECTION_FILE"; then
|
|
108
|
+
((counterfactual_checks++))
|
|
109
|
+
fi
|
|
110
|
+
if grep -q "would have been lost" "$REFLECTION_FILE"; then
|
|
111
|
+
((counterfactual_checks++))
|
|
112
|
+
fi
|
|
113
|
+
if grep -q "false victory" "$REFLECTION_FILE"; then
|
|
114
|
+
((counterfactual_checks++))
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
if [ "$counterfactual_checks" -ge 2 ]; then
|
|
118
|
+
echo " ✅ Contains deep counterfactual analysis ($counterfactual_checks key elements)"
|
|
119
|
+
else
|
|
120
|
+
echo " ⚠️ Should include more counterfactual analysis (would have happened, cascade, what would have been lost, false victory)"
|
|
121
|
+
((WARNINGS++))
|
|
122
|
+
fi
|
|
123
|
+
else
|
|
124
|
+
echo " ❌ Missing Counterfactual Thinking section - critical for depth"
|
|
125
|
+
((ERRORS++))
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
# Check 5: Timeline
|
|
69
129
|
echo ""
|
|
70
|
-
echo "
|
|
130
|
+
echo "5️⃣ Checking Timeline..."
|
|
71
131
|
if grep -q "## Timeline" "$REFLECTION_FILE" || \
|
|
132
|
+
grep -q "## 4. CHRONOLOGICAL" "$REFLECTION_FILE" || \
|
|
72
133
|
grep -q "## Chronological" "$REFLECTION_FILE" || \
|
|
73
134
|
grep -q "### Phase" "$REFLECTION_FILE"; then
|
|
74
135
|
echo " ✅ Has Timeline/Chronological section"
|
|
136
|
+
|
|
137
|
+
# Check for INNER DIALOGUE in timeline
|
|
138
|
+
if grep -q "INNER DIALOGUE" "$REFLECTION_FILE"; then
|
|
139
|
+
echo " ✅ Timeline includes INNER DIALOGUE sections"
|
|
140
|
+
else
|
|
141
|
+
echo " ⚠️ Timeline should include INNER DIALOGUE for each phase"
|
|
142
|
+
((WARNINGS++))
|
|
143
|
+
fi
|
|
75
144
|
else
|
|
76
145
|
echo " ❌ Missing Timeline section"
|
|
77
146
|
((ERRORS++))
|
|
78
147
|
fi
|
|
79
148
|
|
|
80
|
-
# Check
|
|
149
|
+
# Check 6: Root Cause Analysis
|
|
81
150
|
echo ""
|
|
82
|
-
echo "
|
|
83
|
-
if grep -q "## Root Cause" "$REFLECTION_FILE"
|
|
151
|
+
echo "6️⃣ Checking Root Cause Analysis..."
|
|
152
|
+
if grep -q "## Root Cause" "$REFLECTION_FILE" || \
|
|
153
|
+
grep -q "## 5. ROOT CAUSE" "$REFLECTION_FILE"; then
|
|
84
154
|
echo " ✅ Has Root Cause Analysis section"
|
|
85
155
|
# Check for structure
|
|
86
156
|
if grep -q "Root Cause 1:" "$REFLECTION_FILE" || \
|
|
87
157
|
grep -q "### Root Cause" "$REFLECTION_FILE"; then
|
|
88
158
|
echo " ✅ Has numbered root causes"
|
|
159
|
+
|
|
160
|
+
# Check for "Why I Thought I Was Right" - critical for depth
|
|
161
|
+
if grep -q "Why I Thought I Was Right\|Why it seemed right" "$REFLECTION_FILE"; then
|
|
162
|
+
echo " ✅ Includes flawed reasoning analysis"
|
|
163
|
+
else
|
|
164
|
+
echo " ❌ Missing 'Why I Thought I Was Right' - critical for depth and learning"
|
|
165
|
+
((ERRORS++))
|
|
166
|
+
fi
|
|
89
167
|
else
|
|
90
168
|
echo " ⚠️ Should have numbered root causes (Root Cause 1:, Root Cause 2:, etc.)"
|
|
91
169
|
((WARNINGS++))
|
|
@@ -95,30 +173,75 @@ else
|
|
|
95
173
|
((ERRORS++))
|
|
96
174
|
fi
|
|
97
175
|
|
|
176
|
+
# Check 7: Master's Wisdom
|
|
177
|
+
echo ""
|
|
178
|
+
echo "7️⃣ Checking Master's Wisdom..."
|
|
179
|
+
if grep -q "## The Master\|## Master.*Wisdom\|## 9. THE MASTER" "$REFLECTION_FILE"; then
|
|
180
|
+
echo " ✅ Has Master's Wisdom section"
|
|
181
|
+
|
|
182
|
+
# Check for specific elements
|
|
183
|
+
master_checks=0
|
|
184
|
+
if grep -q "Who Saved Me\|Who set the constraint" "$REFLECTION_FILE"; then
|
|
185
|
+
((master_checks++))
|
|
186
|
+
fi
|
|
187
|
+
if grep -q "What They Knew\|What did they know" "$REFLECTION_FILE"; then
|
|
188
|
+
((master_checks++))
|
|
189
|
+
fi
|
|
190
|
+
if grep -q "Why They Knew It\|Why did they know" "$REFLECTION_FILE"; then
|
|
191
|
+
((master_checks++))
|
|
192
|
+
fi
|
|
193
|
+
if grep -q "What I Would Have Lost" "$REFLECTION_FILE"; then
|
|
194
|
+
((master_checks++))
|
|
195
|
+
fi
|
|
196
|
+
|
|
197
|
+
if [ "$master_checks" -ge 3 ]; then
|
|
198
|
+
echo " ✅ Contains comprehensive Master's Wisdom analysis ($master_checks/4 elements)"
|
|
199
|
+
else
|
|
200
|
+
echo " ⚠️ Master's Wisdom should address who saved you, what they knew, why they knew, what you would have lost"
|
|
201
|
+
((WARNINGS++))
|
|
202
|
+
fi
|
|
203
|
+
else
|
|
204
|
+
echo " ❌ Missing Master's Wisdom section - critical for humility and learning"
|
|
205
|
+
((ERRORS++))
|
|
206
|
+
fi
|
|
207
|
+
|
|
98
208
|
# Check 6: Solutions/Fixes section
|
|
99
209
|
echo ""
|
|
100
210
|
echo "6️⃣ Checking Solutions section..."
|
|
101
211
|
if grep -q "## Solution" "$REFLECTION_FILE" || \
|
|
102
212
|
grep -q "## Fix" "$REFLECTION_FILE" || \
|
|
103
|
-
grep -q "## The Fix" "$REFLECTION_FILE"
|
|
213
|
+
grep -q "## The Fix" "$REFLECTION_FILE" || \
|
|
214
|
+
grep -q "## 6. THE FIX" "$REFLECTION_FILE"; then
|
|
104
215
|
echo " ✅ Has Solutions/Fixes section"
|
|
105
216
|
else
|
|
106
217
|
echo " ❌ Missing Solutions/Fixes section"
|
|
107
218
|
((ERRORS++))
|
|
108
219
|
fi
|
|
109
220
|
|
|
110
|
-
# Check
|
|
221
|
+
# Check 8: Deep Lessons
|
|
111
222
|
echo ""
|
|
112
|
-
echo "
|
|
223
|
+
echo "8️⃣ Checking Deep Lessons..."
|
|
113
224
|
if grep -q "## Deep Lesson" "$REFLECTION_FILE" || \
|
|
114
|
-
grep -q "## Lesson" "$REFLECTION_FILE"
|
|
225
|
+
grep -q "## Lesson" "$REFLECTION_FILE" || \
|
|
226
|
+
grep -q "## 7. DEEP LESSONS" "$REFLECTION_FILE"; then
|
|
115
227
|
echo " ✅ Has Deep Lessons section"
|
|
228
|
+
|
|
116
229
|
# Check for Pitfall/Ah-Ha structure
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
230
|
+
pitfall_count=$(grep -c "Pitfall:" "$REFLECTION_FILE")
|
|
231
|
+
aha_count=$(grep -c "Ah-Ha" "$REFLECTION_FILE")
|
|
232
|
+
|
|
233
|
+
if [ "$pitfall_count" -ge 1 ] && [ "$aha_count" -ge 1 ]; then
|
|
234
|
+
echo " ✅ Has Pitfall→Ah-Ha structure ($pitfall_count pitfall(s), $aha_count ah-ha moment(s))"
|
|
235
|
+
else
|
|
236
|
+
echo " ⚠️ Should have Pitfall: and Ah-Ha Moment: structure for deep learning"
|
|
237
|
+
((WARNINGS++))
|
|
238
|
+
fi
|
|
239
|
+
|
|
240
|
+
# Check for "Why I Didn't See It" - adds depth
|
|
241
|
+
if grep -q "Why I Didn't See It\|What was I missing" "$REFLECTION_FILE"; then
|
|
242
|
+
echo " ✅ Includes self-awareness component"
|
|
120
243
|
else
|
|
121
|
-
echo " ⚠️ Should
|
|
244
|
+
echo " ⚠️ Should include 'Why I Didn't See It' for self-reflection depth"
|
|
122
245
|
((WARNINGS++))
|
|
123
246
|
fi
|
|
124
247
|
else
|
|
@@ -126,24 +249,60 @@ else
|
|
|
126
249
|
((ERRORS++))
|
|
127
250
|
fi
|
|
128
251
|
|
|
129
|
-
# Check
|
|
252
|
+
# Check 9: Personal Journey
|
|
130
253
|
echo ""
|
|
131
|
-
echo "
|
|
254
|
+
echo "9️⃣ Checking Personal Journey..."
|
|
132
255
|
if grep -q "## Personal Journey" "$REFLECTION_FILE" || \
|
|
256
|
+
grep -q "## 8. PERSONAL JOURNEY" "$REFLECTION_FILE" || \
|
|
133
257
|
(grep -q "My Struggle" "$REFLECTION_FILE" && \
|
|
134
258
|
grep -q "My Triumph" "$REFLECTION_FILE"); then
|
|
135
259
|
echo " ✅ Has Personal Journey section"
|
|
260
|
+
|
|
261
|
+
# Check for required emotional depth elements
|
|
262
|
+
personal_checks=0
|
|
263
|
+
if grep -q "My Struggle" "$REFLECTION_FILE"; then
|
|
264
|
+
((personal_checks++))
|
|
265
|
+
fi
|
|
266
|
+
if grep -q "My Triumph" "$REFLECTION_FILE"; then
|
|
267
|
+
((personal_checks++))
|
|
268
|
+
fi
|
|
269
|
+
if grep -q "My Dichotomy\|Conflicting viewpoints" "$REFLECTION_FILE"; then
|
|
270
|
+
((personal_checks++))
|
|
271
|
+
fi
|
|
272
|
+
if grep -q "What Would Have Happened If I Had My Way" "$REFLECTION_FILE"; then
|
|
273
|
+
((personal_checks++))
|
|
274
|
+
fi
|
|
275
|
+
if grep -q "My Commitments to Future Self" "$REFLECTION_FILE"; then
|
|
276
|
+
((personal_checks++))
|
|
277
|
+
fi
|
|
278
|
+
|
|
279
|
+
if [ "$personal_checks" -ge 4 ]; then
|
|
280
|
+
echo " ✅ Contains comprehensive personal journey ($personal_checks/5 elements)"
|
|
281
|
+
else
|
|
282
|
+
echo " ⚠️ Personal Journey should include Struggle, Triumph, Dichotomy, What Would Have Happened, My Growth/Commitments"
|
|
283
|
+
((WARNINGS++))
|
|
284
|
+
fi
|
|
285
|
+
|
|
286
|
+
# Check for emotional honesty
|
|
287
|
+
if grep -q -i "frustration\|anger\|doubt\|resistance\|struggle" "$REFLECTION_FILE"; then
|
|
288
|
+
echo " ✅ Contains emotional honesty about challenges"
|
|
289
|
+
else
|
|
290
|
+
echo " ⚠️ Should include honest emotional descriptions of struggle"
|
|
291
|
+
((WARNINGS++))
|
|
292
|
+
fi
|
|
136
293
|
else
|
|
137
294
|
echo " ❌ Missing Personal Journey section"
|
|
138
295
|
((ERRORS++))
|
|
139
296
|
fi
|
|
140
297
|
|
|
141
|
-
# Check
|
|
298
|
+
# Check 10: Action Items
|
|
142
299
|
echo ""
|
|
143
|
-
echo "
|
|
300
|
+
echo "🔟 Checking Action Items..."
|
|
144
301
|
if grep -q "## Action Item" "$REFLECTION_FILE" || \
|
|
145
|
-
grep -q "## Checklist" "$REFLECTION_FILE"
|
|
302
|
+
grep -q "## Checklist" "$REFLECTION_FILE" || \
|
|
303
|
+
grep -q "## 10. ACTION ITEMS" "$REFLECTION_FILE"; then
|
|
146
304
|
echo " ✅ Has Action Items/Checklist section"
|
|
305
|
+
|
|
147
306
|
# Check for checkboxes
|
|
148
307
|
if grep -q "\- \[ \]" "$REFLECTION_FILE" || \
|
|
149
308
|
grep -q "\- \[x\]" "$REFLECTION_FILE"; then
|
|
@@ -152,6 +311,14 @@ if grep -q "## Action Item" "$REFLECTION_FILE" || \
|
|
|
152
311
|
echo " ⚠️ Should have checkboxes (- [ ]) for actionable items"
|
|
153
312
|
((WARNINGS++))
|
|
154
313
|
fi
|
|
314
|
+
|
|
315
|
+
# Check for prevention checklist specifically
|
|
316
|
+
if grep -q "Prevention Checklist\|Before.*I will" "$REFLECTION_FILE"; then
|
|
317
|
+
echo " ✅ Has Prevention Checklist for future avoidance"
|
|
318
|
+
else
|
|
319
|
+
echo " ⚠️ Should include Prevention Checklist with specific verification steps"
|
|
320
|
+
((WARNINGS++))
|
|
321
|
+
fi
|
|
155
322
|
else
|
|
156
323
|
echo " ❌ Missing Action Items section"
|
|
157
324
|
((ERRORS++))
|
|
@@ -160,22 +327,73 @@ fi
|
|
|
160
327
|
# Check 10: Code examples
|
|
161
328
|
echo ""
|
|
162
329
|
echo "🔟 Checking for code examples..."
|
|
163
|
-
|
|
164
|
-
|
|
330
|
+
BACKTICK='```'
|
|
331
|
+
if grep -q "$BACKTICK" "$REFLECTION_FILE"; then
|
|
332
|
+
code_blocks=$(grep -c "$BACKTICK" "$REFLECTION_FILE")
|
|
165
333
|
echo " ✅ Has code blocks ($code_blocks backtick blocks found)"
|
|
166
334
|
else
|
|
167
|
-
echo " ⚠️ Should include code examples (use
|
|
335
|
+
echo " ⚠️ Should include code examples (use ${BACKTICK} code blocks)"
|
|
168
336
|
((WARNINGS++))
|
|
169
337
|
fi
|
|
170
338
|
|
|
171
|
-
# Check 11: Length check
|
|
339
|
+
# Check 11: Length check with depth requirements
|
|
172
340
|
echo ""
|
|
173
341
|
echo "1️⃣1️⃣ Checking length..."
|
|
174
342
|
line_count=$(wc -l < "$REFLECTION_FILE")
|
|
175
|
-
if [ "$line_count" -gt
|
|
176
|
-
echo " ✅ Substantial content ($line_count lines)"
|
|
343
|
+
if [ "$line_count" -gt 150 ]; then
|
|
344
|
+
echo " ✅ Substantial content with depth ($line_count lines)"
|
|
345
|
+
else
|
|
346
|
+
echo " ⚠️ Reflection seems short for meaningful depth ($line_count lines). Should be >150 lines for significant sessions."
|
|
347
|
+
((WARNINGS++))
|
|
348
|
+
fi
|
|
349
|
+
|
|
350
|
+
# Check 12: Overall depth assessment
|
|
351
|
+
echo ""
|
|
352
|
+
echo "1️⃣2️⃣ Overall depth assessment..."
|
|
353
|
+
depth_score=0
|
|
354
|
+
total_checks=0
|
|
355
|
+
|
|
356
|
+
# Check for emotional honesty
|
|
357
|
+
if grep -q -i "struggle\|frustration\|doubt\|emotion\|feeling\|resistance" "$REFLECTION_FILE"; then
|
|
358
|
+
echo " ✅ Shows emotional honesty"
|
|
359
|
+
((depth_score++))
|
|
360
|
+
fi
|
|
361
|
+
((total_checks++))
|
|
362
|
+
|
|
363
|
+
# Check for counterfactual thinking
|
|
364
|
+
if grep -q "would have happened\|would have been lost\|cascade\|counterfactual" "$REFLECTION_FILE"; then
|
|
365
|
+
echo " ✅ Includes counterfactual thinking"
|
|
366
|
+
((depth_score++))
|
|
367
|
+
fi
|
|
368
|
+
((total_checks++))
|
|
369
|
+
|
|
370
|
+
# Check for self-awareness of mistakes
|
|
371
|
+
if grep -q "Why I Thought I Was Right\|why was I wrong\|flawed reasoning" "$REFLECTION_FILE"; then
|
|
372
|
+
echo " ✅ Shows self-awareness of mistakes"
|
|
373
|
+
((depth_score++))
|
|
374
|
+
fi
|
|
375
|
+
((total_checks++))
|
|
376
|
+
|
|
377
|
+
# Check for learning from others
|
|
378
|
+
if grep -q "Master.*Wisdom\|What They Knew\|who saved me" "$REFLECTION_FILE"; then
|
|
379
|
+
echo " ✅ Shows learning from others (Master's Wisdom)"
|
|
380
|
+
((depth_score++))
|
|
381
|
+
fi
|
|
382
|
+
((total_checks++))
|
|
383
|
+
|
|
384
|
+
# Check for future commitments
|
|
385
|
+
if grep -q "My Commitments\|Prevention Checklist\|will change" "$REFLECTION_FILE"; then
|
|
386
|
+
echo " ✅ Includes future commitments"
|
|
387
|
+
((depth_score++))
|
|
388
|
+
fi
|
|
389
|
+
((total_checks++))
|
|
390
|
+
|
|
391
|
+
echo " Depth Score: $depth_score/$total_checks"
|
|
392
|
+
|
|
393
|
+
if [ "$depth_score" -ge $((total_checks * 3 / 4)) ]; then
|
|
394
|
+
echo " ✅ Strong depth and reflection quality"
|
|
177
395
|
else
|
|
178
|
-
echo " ⚠️
|
|
396
|
+
echo " ⚠️ Consider adding more depth through INNER DIALOGUE, counterfactual thinking, and self-awareness"
|
|
179
397
|
((WARNINGS++))
|
|
180
398
|
fi
|
|
181
399
|
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive test for simple name mapping feature
|
|
3
|
+
* Tests edge cases, error handling, and integration with TaskSkillRouter
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { getAgentSimpleName, getAllSimpleNames, TaskSkillRouter } from '../../dist/delegation/task-skill-router.js';
|
|
7
|
+
|
|
8
|
+
console.log('🧪 COMPREHENSIVE SIMPLE NAME MAPPING TEST');
|
|
9
|
+
console.log('========================================\n');
|
|
10
|
+
|
|
11
|
+
// Test 1: Basic functionality verification
|
|
12
|
+
console.log('1. BASIC FUNCTIONALITY TEST');
|
|
13
|
+
console.log('--------------------------');
|
|
14
|
+
const basicTests = [
|
|
15
|
+
{ input: 'strategist', expected: 'Strategic Planner' },
|
|
16
|
+
{ input: 'bug-triage-specialist', expected: 'Error Resolver' },
|
|
17
|
+
{ input: 'security-auditor', expected: 'Security Specialist' },
|
|
18
|
+
{ input: 'testing-lead', expected: 'Quality Assurance Lead' },
|
|
19
|
+
{ input: 'researcher', expected: 'Code Researcher' },
|
|
20
|
+
{ input: 'tech-writer', expected: 'Documentation Expert' },
|
|
21
|
+
{ input: 'enforcer', expected: 'Quality Guardian' },
|
|
22
|
+
{ input: 'architect', expected: 'Solution Designer' },
|
|
23
|
+
{ input: 'frontend-ui-ux-engineer', expected: 'UI/UX Designer' },
|
|
24
|
+
{ input: 'database-engineer', expected: 'Database Specialist' },
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
basicTests.forEach(({ input, expected }) => {
|
|
28
|
+
const result = getAgentSimpleName(input);
|
|
29
|
+
const status = result === expected ? '✅' : '❌';
|
|
30
|
+
console.log(` ${status} ${input} → ${result} (expected: ${expected})`);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Test 2: Unknown agent handling
|
|
34
|
+
console.log('\n2. UNKNOWN AGENT HANDLING');
|
|
35
|
+
console.log('--------------------------');
|
|
36
|
+
const unknownAgents = [
|
|
37
|
+
'unknown-agent',
|
|
38
|
+
'non-existent-agent',
|
|
39
|
+
'',
|
|
40
|
+
'random-name-123',
|
|
41
|
+
null,
|
|
42
|
+
undefined
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
unknownAgents.forEach(agent => {
|
|
46
|
+
try {
|
|
47
|
+
const result = getAgentSimpleName(agent);
|
|
48
|
+
const status = typeof result === 'string' ? '✅' : '❌';
|
|
49
|
+
console.log(` ${status} ${String(agent || 'null')} → ${result || 'null'}`);
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.log(` ❌ ${String(agent || 'null')} → ERROR: ${error.message}`);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Test 3: Legacy aliases
|
|
56
|
+
console.log('\n3. LEGACY ALIAS MAPPINGS');
|
|
57
|
+
console.log('-------------------------');
|
|
58
|
+
const legacyTests = [
|
|
59
|
+
{ input: 'librarian', expected: 'Research Analyst' },
|
|
60
|
+
{ input: 'seo-specialist', expected: 'SEO Expert' },
|
|
61
|
+
{ input: 'marketing-expert', expected: 'Growth Specialist' },
|
|
62
|
+
{ input: 'documentation-writer', expected: 'Documentation Writer' },
|
|
63
|
+
{ input: 'seo-copywriter', expected: 'Content Specialist' },
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
legacyTests.forEach(({ input, expected }) => {
|
|
67
|
+
const result = getAgentSimpleName(input);
|
|
68
|
+
const status = result === expected ? '✅' : '❌';
|
|
69
|
+
console.log(` ${status} ${input} → ${result} (expected: ${expected})`);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Test 4: getAllSimpleNames() function
|
|
73
|
+
console.log('\n4. GET ALL MAPPINGS TEST');
|
|
74
|
+
console.log('-------------------------');
|
|
75
|
+
try {
|
|
76
|
+
const allMappings = getAllSimpleNames();
|
|
77
|
+
const mappingCount = Object.keys(allMappings).length;
|
|
78
|
+
console.log(` ✅ Retrieved ${mappingCount} mappings`);
|
|
79
|
+
|
|
80
|
+
// Verify it's a proper object
|
|
81
|
+
if (typeof allMappings === 'object' && allMappings !== null && !Array.isArray(allMappings)) {
|
|
82
|
+
console.log(' ✅ Return type is correct (object)');
|
|
83
|
+
} else {
|
|
84
|
+
console.log(' ❌ Return type is incorrect');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Check some specific mappings
|
|
88
|
+
const checkMappings = ['strategist', 'enforcer', 'unknown-agent'];
|
|
89
|
+
checkMappings.forEach(key => {
|
|
90
|
+
const exists = key in allMappings;
|
|
91
|
+
const value = allMappings[key];
|
|
92
|
+
const status = exists ? '✅' : '❌';
|
|
93
|
+
console.log(` ${status} ${key}: ${value || 'undefined'}`);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
} catch (error) {
|
|
97
|
+
console.log(` ❌ Error: ${error.message}`);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Test 5: TaskSkillRouter class integration
|
|
101
|
+
console.log('\n5. TASK SKILL ROUTER INTEGRATION');
|
|
102
|
+
console.log('------------------------------');
|
|
103
|
+
try {
|
|
104
|
+
const router = new TaskSkillRouter();
|
|
105
|
+
|
|
106
|
+
// Test instance methods
|
|
107
|
+
const simpleName = router.getSimpleName('strategist');
|
|
108
|
+
console.log(` ✅ Instance getSimpleName: strategist → ${simpleName}`);
|
|
109
|
+
|
|
110
|
+
const allNames = router.getAllSimpleNames();
|
|
111
|
+
console.log(` ✅ Instance getAllSimpleNames: ${Object.keys(allNames).length} mappings`);
|
|
112
|
+
|
|
113
|
+
// Test with non-existent agent
|
|
114
|
+
const unknown = router.getSimpleName('definitely-not-real');
|
|
115
|
+
console.log(` ✅ Unknown agent fallback: definitely-not-real → ${unknown}`);
|
|
116
|
+
|
|
117
|
+
} catch (error) {
|
|
118
|
+
console.log(` ❌ Error: ${error.message}`);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Test 6: Edge cases and validation
|
|
122
|
+
console.log('\n6. EDGE CASES VALIDATION');
|
|
123
|
+
console.log('------------------------');
|
|
124
|
+
const edgeCases = [
|
|
125
|
+
{ input: 'STRATEGIST', description: 'uppercase input' },
|
|
126
|
+
{ input: 'Strategist', description: 'mixed case input' },
|
|
127
|
+
{ input: 'strategist', description: 'lowercase input' },
|
|
128
|
+
{ input: 'strategist-123', description: 'with numbers' },
|
|
129
|
+
{ input: 'strategist_', description: 'with underscore' },
|
|
130
|
+
{ input: 12345, description: 'numeric input' },
|
|
131
|
+
];
|
|
132
|
+
|
|
133
|
+
edgeCases.forEach(({ input, description }) => {
|
|
134
|
+
try {
|
|
135
|
+
const result = getAgentSimpleName(input);
|
|
136
|
+
console.log(` ✅ ${description}: ${String(input)} → ${result}`);
|
|
137
|
+
} catch (error) {
|
|
138
|
+
console.log(` ⚠️ ${description}: ${String(input)} → ERROR: ${error.message}`);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
// Test 7: Performance test
|
|
143
|
+
console.log('\n7. PERFORMANCE TEST');
|
|
144
|
+
console.log('------------------');
|
|
145
|
+
const startTime = performance.now();
|
|
146
|
+
const iterations = 1000;
|
|
147
|
+
|
|
148
|
+
for (let i = 0; i < iterations; i++) {
|
|
149
|
+
getAgentSimpleName('strategist');
|
|
150
|
+
getAgentSimpleName('security-auditor');
|
|
151
|
+
getAgentSimpleName('testing-lead');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const endTime = performance.now();
|
|
155
|
+
const avgTime = (endTime - startTime) / iterations;
|
|
156
|
+
|
|
157
|
+
console.log(` ✅ ${iterations} iterations completed`);
|
|
158
|
+
console.log(` ✅ Average time per call: ${avgTime.toFixed(3)}ms`);
|
|
159
|
+
console.log(` ✅ Total time: ${(endTime - startTime).toFixed(2)}ms`);
|
|
160
|
+
|
|
161
|
+
// Test 8: Verify no duplicate mappings
|
|
162
|
+
console.log('\n8. DUPLICATE MAPPINGS CHECK');
|
|
163
|
+
console.log('---------------------------');
|
|
164
|
+
try {
|
|
165
|
+
const allMappings = getAllSimpleNames();
|
|
166
|
+
const values = Object.values(allMappings);
|
|
167
|
+
const uniqueValues = new Set(values);
|
|
168
|
+
const duplicates = values.length - uniqueValues.size;
|
|
169
|
+
|
|
170
|
+
if (duplicates === 0) {
|
|
171
|
+
console.log(` ✅ No duplicate simple names found`);
|
|
172
|
+
} else {
|
|
173
|
+
console.log(` ❌ Found ${duplicates} duplicate simple names`);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Check for duplicate technical names
|
|
177
|
+
const keys = Object.keys(allMappings);
|
|
178
|
+
const uniqueKeys = new Set(keys);
|
|
179
|
+
const keyDuplicates = keys.length - uniqueKeys.size;
|
|
180
|
+
|
|
181
|
+
if (keyDuplicates === 0) {
|
|
182
|
+
console.log(` ✅ No duplicate technical names found`);
|
|
183
|
+
} else {
|
|
184
|
+
console.log(` ❌ Found ${keyDuplicates} duplicate technical names`);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
} catch (error) {
|
|
188
|
+
console.log(` ❌ Error: ${error.message}`);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Summary
|
|
192
|
+
console.log('\n========================================');
|
|
193
|
+
console.log('📊 TEST SUMMARY');
|
|
194
|
+
console.log('========================================');
|
|
195
|
+
|
|
196
|
+
const allTests = [
|
|
197
|
+
...basicTests,
|
|
198
|
+
...legacyTests,
|
|
199
|
+
{ input: 'unknown-agent', expected: 'unknown-agent' },
|
|
200
|
+
{ input: 'librarian', expected: 'Research Analyst' }
|
|
201
|
+
];
|
|
202
|
+
|
|
203
|
+
const passedTests = allTests.filter(({ input, expected }) => {
|
|
204
|
+
try {
|
|
205
|
+
return getAgentSimpleName(input) === expected;
|
|
206
|
+
} catch {
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
const passedCount = passedTests.length;
|
|
212
|
+
const totalCount = allTests.length;
|
|
213
|
+
const successRate = (passedCount / totalCount * 100).toFixed(1);
|
|
214
|
+
|
|
215
|
+
console.log(`✅ Passed: ${passedCount}/${totalCount} (${successRate}%)`);
|
|
216
|
+
console.log('🧪 All edge cases and integration tests completed');
|
|
217
|
+
console.log('📈 Performance benchmark completed');
|
|
218
|
+
console.log('🔍 Duplicate mappings check completed');
|
|
219
|
+
|
|
220
|
+
console.log('\n✅ COMPREHENSIVE SIMPLE NAME MAPPING TEST COMPLETE');
|
|
221
|
+
console.log('========================================');
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test simple name mapping
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { getAgentSimpleName, getAllSimpleNames } from '../../dist/delegation/task-skill-router.js';
|
|
6
|
+
|
|
7
|
+
console.log('🧪 SIMPLE NAME MAPPING TEST');
|
|
8
|
+
console.log('===========================\n');
|
|
9
|
+
|
|
10
|
+
// Test individual names
|
|
11
|
+
console.log('Testing individual simple names:');
|
|
12
|
+
console.log(` strategist → ${getAgentSimpleName('strategist')}`);
|
|
13
|
+
console.log(` bug-triage-specialist → ${getAgentSimpleName('bug-triage-specialist')}`);
|
|
14
|
+
console.log(` security-auditor → ${getAgentSimpleName('security-auditor')}`);
|
|
15
|
+
console.log(` testing-lead → ${getAgentSimpleName('testing-lead')}`);
|
|
16
|
+
console.log(` researcher → ${getAgentSimpleName('researcher')}`);
|
|
17
|
+
console.log(` tech-writer → ${getAgentSimpleName('tech-writer')}`);
|
|
18
|
+
console.log(` enforcer → ${getAgentSimpleName('enforcer')}`);
|
|
19
|
+
console.log(` architect → ${getAgentSimpleName('architect')}`);
|
|
20
|
+
|
|
21
|
+
// Test unknown agent (should return the original)
|
|
22
|
+
console.log('\nTesting unknown agent:');
|
|
23
|
+
console.log(` unknown-agent → ${getAgentSimpleName('unknown-agent')}`);
|
|
24
|
+
|
|
25
|
+
// Test legacy aliases
|
|
26
|
+
console.log('\nTesting legacy aliases:');
|
|
27
|
+
console.log(` librarian → ${getAgentSimpleName('librarian')}`);
|
|
28
|
+
console.log(` seo-specialist → ${getAgentSimpleName('seo-specialist')}`);
|
|
29
|
+
console.log(` marketing-expert → ${getAgentSimpleName('marketing-expert')}`);
|
|
30
|
+
|
|
31
|
+
// Show all mappings
|
|
32
|
+
console.log('\nAll simple name mappings:');
|
|
33
|
+
const allNames = getAllSimpleNames();
|
|
34
|
+
for (const [key, value] of Object.entries(allNames)) {
|
|
35
|
+
console.log(` ${key} → ${value}`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
console.log('\n===========================');
|
|
39
|
+
console.log('✅ SIMPLE NAME MAPPING TEST COMPLETE');
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AgentConfig } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Documentation Writer Agent
|
|
4
|
-
*
|
|
5
|
-
* Specialist in technical documentation, API docs, README files,
|
|
6
|
-
* architectural decision records, and developer experience.
|
|
7
|
-
*/
|
|
8
|
-
export declare const documentationWriter: AgentConfig;
|
|
9
|
-
//# sourceMappingURL=documentation-writer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-writer.d.ts","sourceRoot":"","sources":["../../src/agents/documentation-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WA+EjC,CAAC"}
|