strray-ai 1.13.4 → 1.13.5

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.
@@ -146,6 +146,44 @@ function extractTaskDescription(input) {
146
146
  }
147
147
  return null;
148
148
  }
149
+ /**
150
+ * Estimate complexity score based on message content
151
+ * Higher complexity = orchestrator routing
152
+ * Lower complexity = code-reviewer routing
153
+ */
154
+ function estimateComplexity(message) {
155
+ const text = message.toLowerCase();
156
+ // High complexity indicators
157
+ const highComplexityKeywords = [
158
+ "architecture", "system", "design", "complex", "multiple",
159
+ "integrate", "database", "migration", "refactor",
160
+ "performance", "optimize", "security", "audit",
161
+ "orchestrate", "coordinate", "workflow"
162
+ ];
163
+ // Low complexity indicators
164
+ const lowComplexityKeywords = [
165
+ "review", "check", "simple", "quick", "fix",
166
+ "small", "typo", "format", "lint", "test"
167
+ ];
168
+ let score = 50; // default medium
169
+ // Check message length
170
+ if (message.length > 200)
171
+ score += 10;
172
+ if (message.length > 500)
173
+ score += 15;
174
+ // Check for high complexity keywords
175
+ for (const keyword of highComplexityKeywords) {
176
+ if (text.includes(keyword))
177
+ score += 8;
178
+ }
179
+ // Check for low complexity keywords
180
+ for (const keyword of lowComplexityKeywords) {
181
+ if (text.includes(keyword))
182
+ score -= 5;
183
+ }
184
+ // Clamp to 0-100
185
+ return Math.max(0, Math.min(100, score));
186
+ }
149
187
  async function loadTaskSkillRouter() {
150
188
  if (taskSkillRouterInstance) {
151
189
  return; // Already loaded
@@ -402,34 +440,7 @@ export default async function strrayCodexPlugin(input) {
402
440
  showEssentialLinks: true
403
441
  });
404
442
  }
405
- // ============================================================
406
- // PROMPT-LEVEL ROUTING: Route user prompts to best agent
407
- // ============================================================
408
- const userPrompt = String(_input.prompt || _input.message || _input.content || "");
409
- if (userPrompt && userPrompt.length > 0) {
410
- try {
411
- await loadTaskSkillRouter();
412
- if (taskSkillRouterInstance) {
413
- const routingResult = taskSkillRouterInstance.routeTask(userPrompt, {
414
- source: "prompt",
415
- });
416
- if (routingResult && routingResult.agent) {
417
- const logger = await getOrCreateLogger(directory);
418
- logger.log(`šŸŽÆ Prompt routed: "${userPrompt.slice(0, 50)}${userPrompt.length > 50 ? "..." : ""}" → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
419
- // Add routing context to system prompt
420
- leanPrompt += `\n\nšŸŽÆ Recommended Agent: @${routingResult.agent}\n`;
421
- leanPrompt += `šŸ“Š Confidence: ${Math.round(routingResult.confidence * 100)}%\n`;
422
- if (routingResult.context?.complexity > 50) {
423
- leanPrompt += `āš ļø High complexity detected - consider using @orchestrator\n`;
424
- }
425
- }
426
- }
427
- }
428
- catch (e) {
429
- const logger = await getOrCreateLogger(directory);
430
- logger.error("Prompt routing error:", e);
431
- }
432
- }
443
+ // Routing is handled in chat.message hook - this hook only does system prompt injection
433
444
  if (output.system && Array.isArray(output.system)) {
434
445
  output.system = [leanPrompt];
435
446
  }
@@ -465,33 +476,7 @@ export default async function strrayCodexPlugin(input) {
465
476
  }
466
477
  }
467
478
  const { tool, args } = input;
468
- // ============================================================
469
- // TASK ROUTING: Analyze task and route to best agent
470
- // Enabled in v1.10.5 - provides analytics data
471
- // ============================================================
472
- const taskDescription = extractTaskDescription(input);
473
- if (taskDescription && featuresConfigLoader) {
474
- try {
475
- await loadTaskSkillRouter();
476
- if (taskSkillRouterInstance) {
477
- const routingResult = taskSkillRouterInstance.routeTask(taskDescription, {
478
- toolName: tool,
479
- });
480
- if (routingResult && routingResult.agent) {
481
- logger.log(`šŸŽÆ Task routed: "${taskDescription.slice(0, 50)}..." → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
482
- // Store routing result for downstream processing
483
- output._strrayRouting = routingResult;
484
- // If complexity is high, log a warning
485
- if (routingResult.context?.complexity > 50) {
486
- logger.log(`āš ļø High complexity task detected (${routingResult.context.complexity}) - consider multi-agent orchestration`);
487
- }
488
- }
489
- }
490
- }
491
- catch (e) {
492
- logger.error("Task routing error:", e);
493
- }
494
- }
479
+ // Routing is handled in chat.message hook - this hook only does tool execution logging
495
480
  // ENFORCER QUALITY GATE CHECK - Block on violations
496
481
  await importQualityGate(directory);
497
482
  if (!runQualityGateWithLogging) {
@@ -715,46 +700,100 @@ export default async function strrayCodexPlugin(input) {
715
700
  },
716
701
  /**
717
702
  * chat.message - Intercept user messages for routing
718
- * This hook fires when the user's message is received
703
+ * Output contains message and parts with user content
719
704
  */
720
705
  "chat.message": async (input, output) => {
721
706
  const logger = await getOrCreateLogger(directory);
722
- // Get user message
723
- const userContent = String(input.content || input.message || input.prompt || "");
724
- if (!userContent || userContent.length === 0) {
707
+ // DEBUG: Log ALL output
708
+ const debugLogPath = path.join(process.cwd(), "logs", "framework", "routing-debug.log");
709
+ fs.appendFileSync(debugLogPath, `\n[${new Date().toISOString()}] === chat.message HOOK FIRED ===\n`);
710
+ fs.appendFileSync(debugLogPath, `OUTPUT KEYS: ${JSON.stringify(Object.keys(output || {}))}\n`);
711
+ fs.appendFileSync(debugLogPath, `MESSAGE: ${JSON.stringify(output?.message)}\n`);
712
+ fs.appendFileSync(debugLogPath, `PARTS: ${JSON.stringify(output?.parts)}\n`);
713
+ // Extract user message from parts (TextPart has type="text" and text field)
714
+ let userMessage = "";
715
+ if (output?.parts && Array.isArray(output.parts)) {
716
+ for (const part of output.parts) {
717
+ if (part?.type === "text" && part?.text) {
718
+ userMessage = part.text;
719
+ break;
720
+ }
721
+ }
722
+ }
723
+ fs.appendFileSync(debugLogPath, `userMessage: "${userMessage.slice(0, 100)}"\n`);
724
+ if (!userMessage || userMessage.length === 0) {
725
+ fs.appendFileSync(debugLogPath, `SKIP: No user text found\n`);
725
726
  return;
726
727
  }
727
- logger.log(`šŸ‘¤ User message received: "${userContent.slice(0, 50)}${userContent.length > 50 ? "..." : ""}"`);
728
+ logger.log(`šŸ‘¤ User message: "${userMessage.slice(0, 50)}..."`);
728
729
  try {
729
730
  await loadTaskSkillRouter();
730
731
  if (taskSkillRouterInstance) {
731
- // Route based on user content
732
- const routingResult = taskSkillRouterInstance.routeTask(userContent, {
733
- source: "user_message",
732
+ // Get complexity score for tiebreaking
733
+ let complexityScore = 50; // default medium
734
+ try {
735
+ if (featuresConfigLoader) {
736
+ const config = featuresConfigLoader.loadConfig();
737
+ if (config.model_routing?.complexity?.enabled) {
738
+ // Estimate complexity based on message length and keywords
739
+ complexityScore = estimateComplexity(userMessage);
740
+ }
741
+ }
742
+ }
743
+ catch (e) {
744
+ // Silent fail for complexity estimation
745
+ }
746
+ fs.appendFileSync(debugLogPath, `Complexity estimated: ${complexityScore}\n`);
747
+ // Route with complexity context
748
+ const routingResult = taskSkillRouterInstance.routeTask(userMessage, {
749
+ source: "chat_message",
750
+ complexity: complexityScore,
734
751
  });
752
+ fs.appendFileSync(debugLogPath, `Routing result: ${JSON.stringify(routingResult)}\n`);
735
753
  if (routingResult && routingResult.agent) {
736
- logger.log(`šŸŽÆ User message routed to: @${routingResult.agent} (confidence: ${Math.round(routingResult.confidence * 100)}%)`);
737
- // Add routing hint to user's message
738
- const routingHint = `[Suggested Agent: @${routingResult.agent}]\n`;
739
- // Modify output to include routing hint
740
- if (output.content !== undefined) {
741
- output.content = routingHint + output.content;
754
+ // Apply weighted confidence scoring
755
+ let finalConfidence = routingResult.confidence;
756
+ let routingMethod = "keyword";
757
+ // If keyword confidence is low, use complexity-based routing
758
+ if (routingResult.confidence < 0.7 && complexityScore > 50) {
759
+ // High complexity tasks get orchestrator boost
760
+ if (complexityScore > 70) {
761
+ routingResult.agent = "orchestrator";
762
+ finalConfidence = Math.min(0.85, routingResult.confidence + 0.15);
763
+ routingMethod = "complexity";
764
+ }
742
765
  }
743
- else if (output.message !== undefined) {
744
- output.message = routingHint + output.message;
766
+ // If low complexity and low confidence, boost code-reviewer
767
+ if (routingResult.confidence < 0.6 && complexityScore < 30) {
768
+ routingResult.agent = "code-reviewer";
769
+ finalConfidence = Math.min(0.75, routingResult.confidence + 0.15);
770
+ routingMethod = "complexity";
771
+ }
772
+ logger.log(`šŸŽÆ Routed to: @${routingResult.agent} (${Math.round(finalConfidence * 100)}%) via ${routingMethod}`);
773
+ fs.appendFileSync(debugLogPath, `Final agent: ${routingResult.agent}, confidence: ${finalConfidence}, method: ${routingMethod}\n`);
774
+ // Store routing in session for later use
775
+ const sessionRoutingPath = path.join(process.cwd(), "logs", "framework", "session-routing.json");
776
+ try {
777
+ fs.appendFileSync(sessionRoutingPath, JSON.stringify({
778
+ timestamp: new Date().toISOString(),
779
+ message: userMessage.slice(0, 100),
780
+ agent: routingResult.agent,
781
+ confidence: finalConfidence,
782
+ method: routingMethod,
783
+ complexity: complexityScore,
784
+ }) + "\n");
785
+ }
786
+ catch (e) {
787
+ // Silent fail for session routing logging
745
788
  }
746
- // Log routing outcome
747
- logToolActivity(directory, "routing", "user_message", {
748
- agent: routingResult.agent,
749
- confidence: routingResult.confidence,
750
- skill: routingResult.skill,
751
- });
752
789
  }
753
790
  }
754
791
  }
755
792
  catch (e) {
756
- logger.error("User message routing error:", e);
793
+ logger.error("Chat message routing error:", e);
794
+ fs.appendFileSync(debugLogPath, `ERROR: ${e}\n`);
757
795
  }
796
+ fs.appendFileSync(debugLogPath, `=== END chat.message ===\n`);
758
797
  },
759
798
  config: async (_config) => {
760
799
  const logger = await getOrCreateLogger(directory);
@@ -3,8 +3,19 @@
3
3
  "keywords": [
4
4
  "design",
5
5
  "architect",
6
+ "plan",
7
+ "system",
8
+ "model",
9
+ "pattern",
10
+ "scalability",
11
+ "dependency",
6
12
  "structure",
7
- "blueprint"
13
+ "architecture",
14
+ "system-integration",
15
+ "delegation",
16
+ "complexity-analysis",
17
+ "solid",
18
+ "clean-architecture"
8
19
  ],
9
20
  "skill": "architecture-patterns",
10
21
  "agent": "architect",
@@ -17,7 +28,11 @@
17
28
  "interface",
18
29
  "mockup",
19
30
  "prototype",
20
- "figma"
31
+ "figma",
32
+ "wireframe",
33
+ "css",
34
+ "html",
35
+ "component"
21
36
  ],
22
37
  "skill": "ui-ux-design",
23
38
  "agent": "frontend-ui-ux-engineer",
@@ -28,9 +43,7 @@
28
43
  "frontend",
29
44
  "react",
30
45
  "vue",
31
- "angular",
32
- "component",
33
- "css"
46
+ "angular"
34
47
  ],
35
48
  "skill": "frontend-development",
36
49
  "agent": "frontend-engineer",
@@ -56,7 +69,23 @@
56
69
  "broken",
57
70
  "error",
58
71
  "crash",
59
- "bug"
72
+ "bug",
73
+ "issue",
74
+ "resolve",
75
+ "root cause",
76
+ "debugging",
77
+ "error-analysis",
78
+ "fix-validation",
79
+ "surgical-fix",
80
+ "stack-trace",
81
+ "error-investigation",
82
+ "triage",
83
+ "surgical-fix",
84
+ "root-cause",
85
+ "debugging",
86
+ "crash",
87
+ "exception",
88
+ "fix-validation"
60
89
  ],
61
90
  "skill": "code-review",
62
91
  "agent": "bug-triage-specialist",
@@ -68,7 +97,20 @@
68
97
  "audit",
69
98
  "assess",
70
99
  "evaluate",
71
- "inspect"
100
+ "check",
101
+ "inspect",
102
+ "quality",
103
+ "validate",
104
+ "code-review",
105
+ "quality-assurance",
106
+ "monitoring",
107
+ "analytics",
108
+ "compliance-validation",
109
+ "pull-request",
110
+ "pr-review",
111
+ "linting",
112
+ "quality-metrics",
113
+ "improvement"
72
114
  ],
73
115
  "skill": "code-review",
74
116
  "agent": "code-reviewer",
@@ -78,9 +120,32 @@
78
120
  "keywords": [
79
121
  "security",
80
122
  "vulnerability",
123
+ "threat",
124
+ "scan",
125
+ "risk",
126
+ "exploit",
127
+ "secure",
81
128
  "pentest",
82
129
  "auth",
83
- "encrypt"
130
+ "encrypt",
131
+ "vulnerability-detection",
132
+ "compliance-monitoring",
133
+ "threat-analysis",
134
+ "security-validation",
135
+ "audit-trail",
136
+ "owasp",
137
+ "vulnerability",
138
+ "threat",
139
+ "secrets",
140
+ "hardcoded",
141
+ "outdated",
142
+ "permissions",
143
+ "env-exposure",
144
+ "ssl",
145
+ "tls",
146
+ "https",
147
+ "dependency-audit",
148
+ "owasp"
84
149
  ],
85
150
  "skill": "security-audit",
86
151
  "agent": "security-auditor",
@@ -92,8 +157,26 @@
92
157
  "testing",
93
158
  "jest",
94
159
  "coverage",
95
- "unit test",
96
- "e2e"
160
+ "unit",
161
+ "e2e",
162
+ "cypress",
163
+ "qa",
164
+ "spec",
165
+ "verify",
166
+ "validate",
167
+ "test-auto-creation",
168
+ "test-strategy-design",
169
+ "coverage-optimization",
170
+ "behavioral-testing",
171
+ "performance-validation",
172
+ "qa",
173
+ "quality-assurance",
174
+ "test-automation",
175
+ "unit-test",
176
+ "integration-test",
177
+ "e2e-test",
178
+ "test-coverage",
179
+ "coverage-analysis"
97
180
  ],
98
181
  "skill": "testing-best-practices",
99
182
  "agent": "testing-lead",
@@ -103,9 +186,21 @@
103
186
  "keywords": [
104
187
  "refactor",
105
188
  "cleanup",
106
- "optimize",
107
189
  "improve",
108
- "restructure"
190
+ "restructure",
191
+ "modernize",
192
+ "debt",
193
+ "dry",
194
+ "consolidate",
195
+ "technical-debt-elimination",
196
+ "code-consolidation",
197
+ "surgical-refactoring",
198
+ "maintainability-enhancement",
199
+ "code-quality",
200
+ "maintainability",
201
+ "restructure",
202
+ "consolidation",
203
+ "debt"
109
204
  ],
110
205
  "skill": "refactoring-strategies",
111
206
  "agent": "refactorer",
@@ -114,11 +209,31 @@
114
209
  {
115
210
  "keywords": [
116
211
  "performance",
212
+ "optimize",
213
+ "bottleneck",
214
+ "benchmark",
215
+ "profile",
117
216
  "speed",
118
- "slow",
119
- "fast",
120
217
  "latency",
121
- "benchmark"
218
+ "performance-profiling",
219
+ "resource-optimization",
220
+ "load-testing",
221
+ "bottleneck-analysis",
222
+ "caching-optimization",
223
+ "memory-optimization",
224
+ "core-web-vitals",
225
+ "lcp",
226
+ "inp",
227
+ "cls",
228
+ "metrics",
229
+ "build-time",
230
+ "memory-usage",
231
+ "load-time",
232
+ "bundle-size",
233
+ "optimization",
234
+ "bottleneck",
235
+ "profiling",
236
+ "monitoring"
122
237
  ],
123
238
  "skill": "performance-optimization",
124
239
  "agent": "performance-engineer",
@@ -127,11 +242,13 @@
127
242
  {
128
243
  "keywords": [
129
244
  "deploy",
130
- "devops",
245
+ "ci/cd",
131
246
  "pipeline",
132
247
  "docker",
133
248
  "kubernetes",
134
- "aws"
249
+ "infrastructure",
250
+ "aws",
251
+ "cloud"
135
252
  ],
136
253
  "skill": "devops-deployment",
137
254
  "agent": "devops-engineer",
@@ -140,11 +257,14 @@
140
257
  {
141
258
  "keywords": [
142
259
  "database",
260
+ "db",
143
261
  "sql",
144
262
  "schema",
145
263
  "migration",
146
264
  "query",
147
- "postgres"
265
+ "postgres",
266
+ "mysql",
267
+ "mongodb"
148
268
  ],
149
269
  "skill": "database-design",
150
270
  "agent": "database-engineer",
@@ -157,7 +277,9 @@
157
277
  "readme",
158
278
  "wiki",
159
279
  "guide",
160
- "manual"
280
+ "manual",
281
+ "document",
282
+ "write"
161
283
  ],
162
284
  "skill": "documentation-generation",
163
285
  "agent": "tech-writer",
@@ -165,11 +287,24 @@
165
287
  },
166
288
  {
167
289
  "keywords": [
168
- "research",
169
- "find",
170
290
  "search",
291
+ "find",
292
+ "explore",
293
+ "research",
294
+ "locate",
295
+ "lookup",
296
+ "where",
297
+ "implementation",
298
+ "codebase-exploration",
299
+ "documentation-retrieval",
300
+ "pattern-recognition",
301
+ "search-optimization",
302
+ "context-building",
303
+ "explore",
171
304
  "discover",
172
- "investigate"
305
+ "pattern",
306
+ "context",
307
+ "codebase"
173
308
  ],
174
309
  "skill": "git-workflow",
175
310
  "agent": "researcher",
@@ -181,7 +316,10 @@
181
316
  "narrative",
182
317
  "journey",
183
318
  "saga",
184
- "reflection"
319
+ "reflection",
320
+ "write a",
321
+ "deep-reflection",
322
+ "technical-story"
185
323
  ],
186
324
  "skill": "storytelling",
187
325
  "agent": "storyteller",
@@ -194,7 +332,8 @@
194
332
  "ranking",
195
333
  "google",
196
334
  "meta",
197
- "sitemap"
335
+ "sitemap",
336
+ "optimize"
198
337
  ],
199
338
  "skill": "seo-consultant",
200
339
  "agent": "seo-consultant",
@@ -206,7 +345,9 @@
206
345
  "growth",
207
346
  "content",
208
347
  "blog",
209
- "campaign"
348
+ "campaign",
349
+ "metric",
350
+ "acquisition"
210
351
  ],
211
352
  "skill": "growth-strategist",
212
353
  "agent": "growth-strategist",
@@ -217,7 +358,8 @@
217
358
  "mobile",
218
359
  "ios",
219
360
  "android",
220
- "app",
361
+ "react-native",
362
+ "flutter",
221
363
  "swift",
222
364
  "kotlin"
223
365
  ],
@@ -227,11 +369,13 @@
227
369
  },
228
370
  {
229
371
  "keywords": [
230
- "logs",
372
+ "log",
231
373
  "monitor",
232
- "trace",
233
- "telemetry",
234
- "observability"
374
+ "anomaly",
375
+ "alert",
376
+ "observability",
377
+ "watch",
378
+ "trace"
235
379
  ],
236
380
  "skill": "log-monitor",
237
381
  "agent": "log-monitor",
@@ -239,11 +383,13 @@
239
383
  },
240
384
  {
241
385
  "keywords": [
242
- "visual",
243
386
  "image",
244
- "screenshot",
245
387
  "diagram",
246
- "photo"
388
+ "visual",
389
+ "screenshot",
390
+ "photo",
391
+ "look at",
392
+ "analyze"
247
393
  ],
248
394
  "skill": "multimodal-looker",
249
395
  "agent": "multimodal-looker",
@@ -254,7 +400,27 @@
254
400
  "complexity",
255
401
  "metrics",
256
402
  "static analysis",
257
- "measure"
403
+ "measure",
404
+ "assess",
405
+ "code-analysis",
406
+ "system-analysis",
407
+ "dependency-analysis",
408
+ "performance-analysis",
409
+ "security-analysis",
410
+ "architecture-analysis",
411
+ "technical-debt-assessment",
412
+ "integration-analysis",
413
+ "comprehensive-reporting",
414
+ "examine",
415
+ "static-analysis",
416
+ "complexity",
417
+ "metrics",
418
+ "code-quality",
419
+ "anti-pattern",
420
+ "lint",
421
+ "eslint",
422
+ "prettier",
423
+ "format"
258
424
  ],
259
425
  "skill": "code-analyzer",
260
426
  "agent": "code-analyzer",
@@ -267,7 +433,13 @@
267
433
  "merge",
268
434
  "branch",
269
435
  "conflict",
270
- "repository"
436
+ "repository",
437
+ "version",
438
+ "explore",
439
+ "discover",
440
+ "pattern",
441
+ "context",
442
+ "codebase"
271
443
  ],
272
444
  "skill": "git-workflow",
273
445
  "agent": "researcher",
@@ -277,9 +449,29 @@
277
449
  "keywords": [
278
450
  "enforce",
279
451
  "compliance",
280
- "rules",
281
- "standards",
282
- "codex"
452
+ "rule",
453
+ "standard",
454
+ "codex",
455
+ "block",
456
+ "prevent",
457
+ "error-prevention",
458
+ "systematic-validation",
459
+ "codex-enforcement",
460
+ "security-policy",
461
+ "compliance",
462
+ "threshold",
463
+ "audit",
464
+ "lint",
465
+ "pre-commit",
466
+ "introspection",
467
+ "bundle-size",
468
+ "test-coverage",
469
+ "duplication",
470
+ "jscpd",
471
+ "syntax-error",
472
+ "error-handling",
473
+ "convention",
474
+ "framework-compliance"
283
475
  ],
284
476
  "skill": "enforcer",
285
477
  "agent": "enforcer",
@@ -289,9 +481,15 @@
289
481
  "keywords": [
290
482
  "orchestrate",
291
483
  "coordinate",
484
+ "delegate",
485
+ "workflow",
292
486
  "manage",
293
- "complex",
294
- "workflow"
487
+ "multi-step",
488
+ "multi-agent-orchestration",
489
+ "workflow-management",
490
+ "task-delegation",
491
+ "conflict-resolution",
492
+ "session-management"
295
493
  ],
296
494
  "skill": "orchestrator",
297
495
  "agent": "orchestrator",
@@ -304,10 +502,51 @@
304
502
  "roadmap",
305
503
  "vision",
306
504
  "goal",
307
- "prioritize"
505
+ "objective",
506
+ "prioritize",
507
+ "decide"
308
508
  ],
309
509
  "skill": "strategist",
310
510
  "agent": "strategist",
311
511
  "confidence": 0.9
512
+ },
513
+ {
514
+ "keywords": [
515
+ "format",
516
+ "formatting",
517
+ "prettier",
518
+ "lint:fix",
519
+ "auto-format",
520
+ "code-style"
521
+ ],
522
+ "skill": "auto-format",
523
+ "agent": "enforcer",
524
+ "confidence": 0.9
525
+ },
526
+ {
527
+ "keywords": [
528
+ "session",
529
+ "state",
530
+ "persistence",
531
+ "recovery",
532
+ "backup"
533
+ ],
534
+ "skill": "session-management",
535
+ "agent": "orchestrator",
536
+ "confidence": 0.85
537
+ },
538
+ {
539
+ "keywords": [
540
+ "api",
541
+ "endpoint",
542
+ "rest",
543
+ "graphql",
544
+ "request",
545
+ "response",
546
+ "openapi"
547
+ ],
548
+ "skill": "api-design",
549
+ "agent": "backend-engineer",
550
+ "confidence": 0.92
312
551
  }
313
552
  ]
@@ -40,15 +40,30 @@ export default function strrayCodexPlugin(input: {
40
40
  }, _output: any) => Promise<void>;
41
41
  /**
42
42
  * chat.message - Intercept user messages for routing
43
- * This hook fires when the user's message is received
43
+ * Output contains message and parts with user content
44
44
  */
45
45
  "chat.message": (input: {
46
- content?: string;
47
- message?: string;
48
- prompt?: string;
46
+ sessionID: string;
47
+ agent?: string;
48
+ model?: {
49
+ providerID: string;
50
+ modelID: string;
51
+ };
52
+ messageID?: string;
53
+ variant?: string;
49
54
  }, output: {
50
- content?: string;
51
- message?: string;
55
+ message: {
56
+ id: string;
57
+ sessionID: string;
58
+ role: string;
59
+ [key: string]: any;
60
+ };
61
+ parts: Array<{
62
+ id: string;
63
+ type: string;
64
+ text?: string;
65
+ [key: string]: any;
66
+ }>;
52
67
  }) => Promise<void>;
53
68
  config: (_config: Record<string, unknown>) => Promise<void>;
54
69
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"strray-codex-injection.d.ts","sourceRoot":"","sources":["../../src/plugin/strray-codex-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyeH;;;;;;;GAOG;AACH,wBAA8B,iBAAiB,CAAC,KAAK,EAAE;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;mDAMe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACvB;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;mCAmExB;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,UACO,GAAG;kCAoPJ;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,WACQ,GAAG;IAgHd;;;OAGG;4BAEM;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,UACtD;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;sBAkDxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;GA6BlD"}
1
+ {"version":3,"file":"strray-codex-injection.d.ts","sourceRoot":"","sources":["../../src/plugin/strray-codex-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmhBH;;;;;;;GAOG;AACH,wBAA8B,iBAAiB,CAAC,KAAK,EAAE;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;mDAMe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACvB;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;mCAkCxB;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,UACO,GAAG;kCAkNJ;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,WACQ,GAAG;IAgHd;;;OAGG;4BAEM;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,UACO;QACN,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CAAC,CAAC;KACJ;sBAgHqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;GA6BlD"}
@@ -146,6 +146,44 @@ function extractTaskDescription(input) {
146
146
  }
147
147
  return null;
148
148
  }
149
+ /**
150
+ * Estimate complexity score based on message content
151
+ * Higher complexity = orchestrator routing
152
+ * Lower complexity = code-reviewer routing
153
+ */
154
+ function estimateComplexity(message) {
155
+ const text = message.toLowerCase();
156
+ // High complexity indicators
157
+ const highComplexityKeywords = [
158
+ "architecture", "system", "design", "complex", "multiple",
159
+ "integrate", "database", "migration", "refactor",
160
+ "performance", "optimize", "security", "audit",
161
+ "orchestrate", "coordinate", "workflow"
162
+ ];
163
+ // Low complexity indicators
164
+ const lowComplexityKeywords = [
165
+ "review", "check", "simple", "quick", "fix",
166
+ "small", "typo", "format", "lint", "test"
167
+ ];
168
+ let score = 50; // default medium
169
+ // Check message length
170
+ if (message.length > 200)
171
+ score += 10;
172
+ if (message.length > 500)
173
+ score += 15;
174
+ // Check for high complexity keywords
175
+ for (const keyword of highComplexityKeywords) {
176
+ if (text.includes(keyword))
177
+ score += 8;
178
+ }
179
+ // Check for low complexity keywords
180
+ for (const keyword of lowComplexityKeywords) {
181
+ if (text.includes(keyword))
182
+ score -= 5;
183
+ }
184
+ // Clamp to 0-100
185
+ return Math.max(0, Math.min(100, score));
186
+ }
149
187
  async function loadTaskSkillRouter() {
150
188
  if (taskSkillRouterInstance) {
151
189
  return; // Already loaded
@@ -402,34 +440,7 @@ export default async function strrayCodexPlugin(input) {
402
440
  showEssentialLinks: true
403
441
  });
404
442
  }
405
- // ============================================================
406
- // PROMPT-LEVEL ROUTING: Route user prompts to best agent
407
- // ============================================================
408
- const userPrompt = String(_input.prompt || _input.message || _input.content || "");
409
- if (userPrompt && userPrompt.length > 0) {
410
- try {
411
- await loadTaskSkillRouter();
412
- if (taskSkillRouterInstance) {
413
- const routingResult = taskSkillRouterInstance.routeTask(userPrompt, {
414
- source: "prompt",
415
- });
416
- if (routingResult && routingResult.agent) {
417
- const logger = await getOrCreateLogger(directory);
418
- logger.log(`šŸŽÆ Prompt routed: "${userPrompt.slice(0, 50)}${userPrompt.length > 50 ? "..." : ""}" → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
419
- // Add routing context to system prompt
420
- leanPrompt += `\n\nšŸŽÆ Recommended Agent: @${routingResult.agent}\n`;
421
- leanPrompt += `šŸ“Š Confidence: ${Math.round(routingResult.confidence * 100)}%\n`;
422
- if (routingResult.context?.complexity > 50) {
423
- leanPrompt += `āš ļø High complexity detected - consider using @orchestrator\n`;
424
- }
425
- }
426
- }
427
- }
428
- catch (e) {
429
- const logger = await getOrCreateLogger(directory);
430
- logger.error("Prompt routing error:", e);
431
- }
432
- }
443
+ // Routing is handled in chat.message hook - this hook only does system prompt injection
433
444
  if (output.system && Array.isArray(output.system)) {
434
445
  output.system = [leanPrompt];
435
446
  }
@@ -465,33 +476,7 @@ export default async function strrayCodexPlugin(input) {
465
476
  }
466
477
  }
467
478
  const { tool, args } = input;
468
- // ============================================================
469
- // TASK ROUTING: Analyze task and route to best agent
470
- // Enabled in v1.10.5 - provides analytics data
471
- // ============================================================
472
- const taskDescription = extractTaskDescription(input);
473
- if (taskDescription && featuresConfigLoader) {
474
- try {
475
- await loadTaskSkillRouter();
476
- if (taskSkillRouterInstance) {
477
- const routingResult = taskSkillRouterInstance.routeTask(taskDescription, {
478
- toolName: tool,
479
- });
480
- if (routingResult && routingResult.agent) {
481
- logger.log(`šŸŽÆ Task routed: "${taskDescription.slice(0, 50)}..." → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
482
- // Store routing result for downstream processing
483
- output._strrayRouting = routingResult;
484
- // If complexity is high, log a warning
485
- if (routingResult.context?.complexity > 50) {
486
- logger.log(`āš ļø High complexity task detected (${routingResult.context.complexity}) - consider multi-agent orchestration`);
487
- }
488
- }
489
- }
490
- }
491
- catch (e) {
492
- logger.error("Task routing error:", e);
493
- }
494
- }
479
+ // Routing is handled in chat.message hook - this hook only does tool execution logging
495
480
  // ENFORCER QUALITY GATE CHECK - Block on violations
496
481
  await importQualityGate(directory);
497
482
  if (!runQualityGateWithLogging) {
@@ -715,46 +700,100 @@ export default async function strrayCodexPlugin(input) {
715
700
  },
716
701
  /**
717
702
  * chat.message - Intercept user messages for routing
718
- * This hook fires when the user's message is received
703
+ * Output contains message and parts with user content
719
704
  */
720
705
  "chat.message": async (input, output) => {
721
706
  const logger = await getOrCreateLogger(directory);
722
- // Get user message
723
- const userContent = String(input.content || input.message || input.prompt || "");
724
- if (!userContent || userContent.length === 0) {
707
+ // DEBUG: Log ALL output
708
+ const debugLogPath = path.join(process.cwd(), "logs", "framework", "routing-debug.log");
709
+ fs.appendFileSync(debugLogPath, `\n[${new Date().toISOString()}] === chat.message HOOK FIRED ===\n`);
710
+ fs.appendFileSync(debugLogPath, `OUTPUT KEYS: ${JSON.stringify(Object.keys(output || {}))}\n`);
711
+ fs.appendFileSync(debugLogPath, `MESSAGE: ${JSON.stringify(output?.message)}\n`);
712
+ fs.appendFileSync(debugLogPath, `PARTS: ${JSON.stringify(output?.parts)}\n`);
713
+ // Extract user message from parts (TextPart has type="text" and text field)
714
+ let userMessage = "";
715
+ if (output?.parts && Array.isArray(output.parts)) {
716
+ for (const part of output.parts) {
717
+ if (part?.type === "text" && part?.text) {
718
+ userMessage = part.text;
719
+ break;
720
+ }
721
+ }
722
+ }
723
+ fs.appendFileSync(debugLogPath, `userMessage: "${userMessage.slice(0, 100)}"\n`);
724
+ if (!userMessage || userMessage.length === 0) {
725
+ fs.appendFileSync(debugLogPath, `SKIP: No user text found\n`);
725
726
  return;
726
727
  }
727
- logger.log(`šŸ‘¤ User message received: "${userContent.slice(0, 50)}${userContent.length > 50 ? "..." : ""}"`);
728
+ logger.log(`šŸ‘¤ User message: "${userMessage.slice(0, 50)}..."`);
728
729
  try {
729
730
  await loadTaskSkillRouter();
730
731
  if (taskSkillRouterInstance) {
731
- // Route based on user content
732
- const routingResult = taskSkillRouterInstance.routeTask(userContent, {
733
- source: "user_message",
732
+ // Get complexity score for tiebreaking
733
+ let complexityScore = 50; // default medium
734
+ try {
735
+ if (featuresConfigLoader) {
736
+ const config = featuresConfigLoader.loadConfig();
737
+ if (config.model_routing?.complexity?.enabled) {
738
+ // Estimate complexity based on message length and keywords
739
+ complexityScore = estimateComplexity(userMessage);
740
+ }
741
+ }
742
+ }
743
+ catch (e) {
744
+ // Silent fail for complexity estimation
745
+ }
746
+ fs.appendFileSync(debugLogPath, `Complexity estimated: ${complexityScore}\n`);
747
+ // Route with complexity context
748
+ const routingResult = taskSkillRouterInstance.routeTask(userMessage, {
749
+ source: "chat_message",
750
+ complexity: complexityScore,
734
751
  });
752
+ fs.appendFileSync(debugLogPath, `Routing result: ${JSON.stringify(routingResult)}\n`);
735
753
  if (routingResult && routingResult.agent) {
736
- logger.log(`šŸŽÆ User message routed to: @${routingResult.agent} (confidence: ${Math.round(routingResult.confidence * 100)}%)`);
737
- // Add routing hint to user's message
738
- const routingHint = `[Suggested Agent: @${routingResult.agent}]\n`;
739
- // Modify output to include routing hint
740
- if (output.content !== undefined) {
741
- output.content = routingHint + output.content;
754
+ // Apply weighted confidence scoring
755
+ let finalConfidence = routingResult.confidence;
756
+ let routingMethod = "keyword";
757
+ // If keyword confidence is low, use complexity-based routing
758
+ if (routingResult.confidence < 0.7 && complexityScore > 50) {
759
+ // High complexity tasks get orchestrator boost
760
+ if (complexityScore > 70) {
761
+ routingResult.agent = "orchestrator";
762
+ finalConfidence = Math.min(0.85, routingResult.confidence + 0.15);
763
+ routingMethod = "complexity";
764
+ }
742
765
  }
743
- else if (output.message !== undefined) {
744
- output.message = routingHint + output.message;
766
+ // If low complexity and low confidence, boost code-reviewer
767
+ if (routingResult.confidence < 0.6 && complexityScore < 30) {
768
+ routingResult.agent = "code-reviewer";
769
+ finalConfidence = Math.min(0.75, routingResult.confidence + 0.15);
770
+ routingMethod = "complexity";
771
+ }
772
+ logger.log(`šŸŽÆ Routed to: @${routingResult.agent} (${Math.round(finalConfidence * 100)}%) via ${routingMethod}`);
773
+ fs.appendFileSync(debugLogPath, `Final agent: ${routingResult.agent}, confidence: ${finalConfidence}, method: ${routingMethod}\n`);
774
+ // Store routing in session for later use
775
+ const sessionRoutingPath = path.join(process.cwd(), "logs", "framework", "session-routing.json");
776
+ try {
777
+ fs.appendFileSync(sessionRoutingPath, JSON.stringify({
778
+ timestamp: new Date().toISOString(),
779
+ message: userMessage.slice(0, 100),
780
+ agent: routingResult.agent,
781
+ confidence: finalConfidence,
782
+ method: routingMethod,
783
+ complexity: complexityScore,
784
+ }) + "\n");
785
+ }
786
+ catch (e) {
787
+ // Silent fail for session routing logging
745
788
  }
746
- // Log routing outcome
747
- logToolActivity(directory, "routing", "user_message", {
748
- agent: routingResult.agent,
749
- confidence: routingResult.confidence,
750
- skill: routingResult.skill,
751
- });
752
789
  }
753
790
  }
754
791
  }
755
792
  catch (e) {
756
- logger.error("User message routing error:", e);
793
+ logger.error("Chat message routing error:", e);
794
+ fs.appendFileSync(debugLogPath, `ERROR: ${e}\n`);
757
795
  }
796
+ fs.appendFileSync(debugLogPath, `=== END chat.message ===\n`);
758
797
  },
759
798
  config: async (_config) => {
760
799
  const logger = await getOrCreateLogger(directory);
@@ -1 +1 @@
1
- {"version":3,"file":"strray-codex-injection.js","sourceRoot":"","sources":["../../src/plugin/strray-codex-injection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strray-codex-injection.js","sourceRoot":"","sources":["../../src/plugin/strray-codex-injection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strray-ai",
3
- "version": "1.13.4",
3
+ "version": "1.13.5",
4
4
  "description": "⚔ StringRay ⚔: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.",
5
5
  "license": "MIT",
6
6
  "repository": {