strray-ai 1.15.25 → 1.15.26
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/codex.codex +1 -1
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/strray/codex.json +1 -1
- package/.opencode/strray/config.json +1 -1
- package/.opencode/strray/features.json +1 -1
- package/.opencode/strray/integrations.json +3 -3
- package/.strray/codex.json +1 -1
- package/.strray/config.json +1 -1
- package/.strray/features.json +1 -1
- package/.strray/integrations.json +3 -3
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/core/boot-orchestrator.js +1 -1
- package/dist/core/features-config.js +1 -1
- package/dist/mcps/architect-tools.server.js +1 -1
- package/dist/mcps/auto-format.server.js +1 -1
- package/dist/mcps/boot-orchestrator.server.js +1 -1
- package/dist/mcps/enforcer-tools.server.js +1 -1
- package/dist/mcps/estimation.server.js +1 -1
- package/dist/mcps/framework-compliance-audit.server.js +1 -1
- package/dist/mcps/framework-help.server.js +1 -1
- package/dist/mcps/knowledge-skills/api-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +1 -1
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.js +1 -1
- package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.js +1 -1
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
- package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.js +1 -1
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
- package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
- package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.js +2 -2
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +1 -1
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1 -1
- package/dist/mcps/lint.server.js +1 -1
- package/dist/mcps/model-health-check.server.js +1 -1
- package/dist/mcps/performance-analysis.server.js +1 -1
- package/dist/mcps/processor-pipeline.server.js +1 -1
- package/dist/mcps/researcher.server.js +1 -1
- package/dist/mcps/security-scan.server.js +1 -1
- package/dist/mcps/state-manager.server.js +1 -1
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/package.json +1 -1
- package/scripts/node/postinstall.cjs +7 -0
- package/scripts/node/universal-version-manager.js +2 -2
package/.opencode/codex.codex
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.15.
|
|
2
|
+
"version": "1.15.26",
|
|
3
3
|
"terms": [
|
|
4
4
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
|
|
5
5
|
],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "StringRay 1.0.0",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.26",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"codex": {
|
|
223
|
-
"version": "1.15.
|
|
223
|
+
"version": "1.15.26",
|
|
224
224
|
"terms": [
|
|
225
225
|
1,
|
|
226
226
|
2,
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"openclaw": {
|
|
5
5
|
"enabled": false,
|
|
6
6
|
"type": "external-service",
|
|
7
|
-
"version": "1.15.
|
|
7
|
+
"version": "1.15.26",
|
|
8
8
|
"config": {}
|
|
9
9
|
},
|
|
10
10
|
"python-bridge": {
|
|
11
11
|
"enabled": false,
|
|
12
12
|
"type": "protocol-bridge",
|
|
13
|
-
"version": "1.15.
|
|
13
|
+
"version": "1.15.26",
|
|
14
14
|
"config": {}
|
|
15
15
|
},
|
|
16
16
|
"react": {
|
|
17
17
|
"enabled": false,
|
|
18
18
|
"type": "framework-adapter",
|
|
19
|
-
"version": "1.15.
|
|
19
|
+
"version": "1.15.26",
|
|
20
20
|
"config": {}
|
|
21
21
|
}
|
|
22
22
|
}
|
package/.strray/codex.json
CHANGED
package/.strray/config.json
CHANGED
package/.strray/features.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"openclaw": {
|
|
5
5
|
"enabled": false,
|
|
6
6
|
"type": "external-service",
|
|
7
|
-
"version": "1.15.
|
|
7
|
+
"version": "1.15.26",
|
|
8
8
|
"config": {}
|
|
9
9
|
},
|
|
10
10
|
"python-bridge": {
|
|
11
11
|
"enabled": false,
|
|
12
12
|
"type": "protocol-bridge",
|
|
13
|
-
"version": "1.15.
|
|
13
|
+
"version": "1.15.26",
|
|
14
14
|
"config": {}
|
|
15
15
|
},
|
|
16
16
|
"react": {
|
|
17
17
|
"enabled": false,
|
|
18
18
|
"type": "framework-adapter",
|
|
19
|
-
"version": "1.15.
|
|
19
|
+
"version": "1.15.26",
|
|
20
20
|
"config": {}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -36,7 +36,7 @@ class RoutingRefiner {
|
|
|
36
36
|
const optimizations = this.suggestMappingOptimizations(promptAnalysis, performanceReport);
|
|
37
37
|
const warnings = this.generateWarnings(newMappings, optimizations);
|
|
38
38
|
return {
|
|
39
|
-
version: "1.15.
|
|
39
|
+
version: "1.15.26",
|
|
40
40
|
generatedAt: new Date(),
|
|
41
41
|
summary: {
|
|
42
42
|
newMappings: newMappings.length,
|
|
@@ -624,7 +624,7 @@ export class BootOrchestrator {
|
|
|
624
624
|
try {
|
|
625
625
|
// Load StringRay configuration directly (no Python dependency)
|
|
626
626
|
const stringRayConfig = {
|
|
627
|
-
version: "1.15.
|
|
627
|
+
version: "1.15.26",
|
|
628
628
|
codex_enabled: true,
|
|
629
629
|
codex_version: "v1.7.5",
|
|
630
630
|
codex_terms: [
|
|
@@ -17,7 +17,7 @@ class EstimationServer {
|
|
|
17
17
|
validator = getEstimationValidator();
|
|
18
18
|
constructor() {
|
|
19
19
|
this.server = new Server({
|
|
20
|
-
name: "estimation-validator", version: "1.15.
|
|
20
|
+
name: "estimation-validator", version: "1.15.26",
|
|
21
21
|
}, {
|
|
22
22
|
capabilities: { tools: {} },
|
|
23
23
|
});
|
|
@@ -12,7 +12,7 @@ class StrRayFrameworkComplianceAuditServer {
|
|
|
12
12
|
server;
|
|
13
13
|
constructor() {
|
|
14
14
|
this.server = new Server({
|
|
15
|
-
name: "framework-compliance-audit", version: "1.15.
|
|
15
|
+
name: "framework-compliance-audit", version: "1.15.26",
|
|
16
16
|
}, {
|
|
17
17
|
capabilities: {
|
|
18
18
|
tools: {},
|
|
@@ -11,7 +11,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
11
11
|
class BugTriageSpecialistServer {
|
|
12
12
|
server;
|
|
13
13
|
constructor() {
|
|
14
|
-
this.server = new Server({ name: "bug-triage-specialist", version: "1.15.
|
|
14
|
+
this.server = new Server({ name: "bug-triage-specialist", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
15
15
|
this.setupToolHandlers();
|
|
16
16
|
}
|
|
17
17
|
setupToolHandlers() {
|
|
@@ -242,7 +242,7 @@ class CodeAnalyzerServer {
|
|
|
242
242
|
},
|
|
243
243
|
];
|
|
244
244
|
constructor() {
|
|
245
|
-
this.server = new Server({ name: "code-analyzer", version: "1.15.
|
|
245
|
+
this.server = new Server({ name: "code-analyzer", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
246
246
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
247
247
|
tools: this.tools,
|
|
248
248
|
}));
|
|
@@ -84,7 +84,7 @@ class SEOCopywriterServer {
|
|
|
84
84
|
},
|
|
85
85
|
];
|
|
86
86
|
constructor() {
|
|
87
|
-
this.server = new Server({ name: "content-creator", version: "1.15.
|
|
87
|
+
this.server = new Server({ name: "content-creator", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
88
88
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
89
89
|
tools: this.tools,
|
|
90
90
|
}));
|
|
@@ -91,7 +91,7 @@ class MarketingExpertServer {
|
|
|
91
91
|
},
|
|
92
92
|
];
|
|
93
93
|
constructor() {
|
|
94
|
-
this.server = new Server({ name: "growth-strategist", version: "1.15.
|
|
94
|
+
this.server = new Server({ name: "growth-strategist", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
95
95
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
96
96
|
tools: this.tools,
|
|
97
97
|
}));
|
|
@@ -58,7 +58,7 @@ class LogMonitorServer {
|
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
constructor() {
|
|
61
|
-
this.server = new Server({ name: "log-monitor", version: "1.15.
|
|
61
|
+
this.server = new Server({ name: "log-monitor", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
62
62
|
this.setupToolHandlers();
|
|
63
63
|
}
|
|
64
64
|
setupToolHandlers() {
|
|
@@ -11,7 +11,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
11
11
|
class MultimodalLookerServer {
|
|
12
12
|
server;
|
|
13
13
|
constructor() {
|
|
14
|
-
this.server = new Server({ name: "multimodal-looker", version: "1.15.
|
|
14
|
+
this.server = new Server({ name: "multimodal-looker", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
15
15
|
this.setupToolHandlers();
|
|
16
16
|
}
|
|
17
17
|
setupToolHandlers() {
|
|
@@ -96,7 +96,7 @@ class SEOSpecialistServer {
|
|
|
96
96
|
},
|
|
97
97
|
];
|
|
98
98
|
constructor() {
|
|
99
|
-
this.server = new Server({ name: "seo-consultant", version: "1.15.
|
|
99
|
+
this.server = new Server({ name: "seo-consultant", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
100
100
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
101
101
|
tools: this.tools,
|
|
102
102
|
}));
|
|
@@ -132,7 +132,7 @@ class SessionManagementServer {
|
|
|
132
132
|
},
|
|
133
133
|
];
|
|
134
134
|
constructor() {
|
|
135
|
-
this.server = new Server({ name: "session-management", version: "1.15.
|
|
135
|
+
this.server = new Server({ name: "session-management", version: "1.15.26" }, { capabilities: { tools: {} } });
|
|
136
136
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
137
137
|
tools: this.tools,
|
|
138
138
|
}));
|
|
@@ -14,7 +14,7 @@ class StrRayDocumentationGenerationServer {
|
|
|
14
14
|
server;
|
|
15
15
|
constructor() {
|
|
16
16
|
this.server = new Server({
|
|
17
|
-
name: "documentation-generation", version: "1.15.
|
|
17
|
+
name: "documentation-generation", version: "1.15.26",
|
|
18
18
|
}, {
|
|
19
19
|
capabilities: {
|
|
20
20
|
tools: {},
|
|
@@ -727,7 +727,7 @@ class StrRayDocumentationGenerationServer {
|
|
|
727
727
|
openapi: "3.0.0",
|
|
728
728
|
info: {
|
|
729
729
|
title: "API Documentation",
|
|
730
|
-
version: "1.15.
|
|
730
|
+
version: "1.15.26",
|
|
731
731
|
description: "Generated API documentation",
|
|
732
732
|
},
|
|
733
733
|
servers: [
|
package/dist/mcps/lint.server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strray-ai",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.26",
|
|
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": {
|
|
@@ -368,6 +368,12 @@ const strrayDest = path.join(targetDir, '.strray');
|
|
|
368
368
|
|
|
369
369
|
if (fs.existsSync(strraySource)) {
|
|
370
370
|
try {
|
|
371
|
+
// Skip if source === dest (e.g. running postinstall in the dev repo itself)
|
|
372
|
+
const resolvedSource = path.resolve(strraySource);
|
|
373
|
+
const resolvedDest = path.resolve(strrayDest);
|
|
374
|
+
if (resolvedSource === resolvedDest) {
|
|
375
|
+
console.log(`ℹ️ Skipping .strray symlink — source and destination are the same (${resolvedSource})`);
|
|
376
|
+
} else {
|
|
371
377
|
// Check if .strray already exists
|
|
372
378
|
if (fs.existsSync(strrayDest)) {
|
|
373
379
|
const stats = fs.lstatSync(strrayDest);
|
|
@@ -397,6 +403,7 @@ if (fs.existsSync(strraySource)) {
|
|
|
397
403
|
fs.symlinkSync(strraySource, strrayDest, 'dir');
|
|
398
404
|
console.log(`✅ .strray directory symlinked`);
|
|
399
405
|
}
|
|
406
|
+
}
|
|
400
407
|
} catch (error) {
|
|
401
408
|
console.error(`❌ Failed to symlink .strray:`, error.message);
|
|
402
409
|
// Fallback: copy the directory
|
|
@@ -78,8 +78,8 @@ const CALCULATED_COUNTS = calculateCounts();
|
|
|
78
78
|
const OFFICIAL_VERSIONS = {
|
|
79
79
|
// Framework version
|
|
80
80
|
framework: {
|
|
81
|
-
version: "1.15.
|
|
82
|
-
displayName: "StringRay AI v1.15.
|
|
81
|
+
version: "1.15.26",
|
|
82
|
+
displayName: "StringRay AI v1.15.26",
|
|
83
83
|
lastUpdated: "2026-03-30",
|
|
84
84
|
// Counts (auto-calculated, but can be overridden)
|
|
85
85
|
...CALCULATED_COUNTS,
|