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.
Files changed (56) hide show
  1. package/.opencode/codex.codex +1 -1
  2. package/.opencode/enforcer-config.json +2 -2
  3. package/.opencode/strray/codex.json +1 -1
  4. package/.opencode/strray/config.json +1 -1
  5. package/.opencode/strray/features.json +1 -1
  6. package/.opencode/strray/integrations.json +3 -3
  7. package/.strray/codex.json +1 -1
  8. package/.strray/config.json +1 -1
  9. package/.strray/features.json +1 -1
  10. package/.strray/integrations.json +3 -3
  11. package/dist/analytics/routing-refiner.js +1 -1
  12. package/dist/core/boot-orchestrator.js +1 -1
  13. package/dist/core/features-config.js +1 -1
  14. package/dist/mcps/architect-tools.server.js +1 -1
  15. package/dist/mcps/auto-format.server.js +1 -1
  16. package/dist/mcps/boot-orchestrator.server.js +1 -1
  17. package/dist/mcps/enforcer-tools.server.js +1 -1
  18. package/dist/mcps/estimation.server.js +1 -1
  19. package/dist/mcps/framework-compliance-audit.server.js +1 -1
  20. package/dist/mcps/framework-help.server.js +1 -1
  21. package/dist/mcps/knowledge-skills/api-design.server.js +1 -1
  22. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +1 -1
  23. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
  24. package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
  25. package/dist/mcps/knowledge-skills/code-review.server.js +1 -1
  26. package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
  27. package/dist/mcps/knowledge-skills/database-design.server.js +1 -1
  28. package/dist/mcps/knowledge-skills/devops-deployment.server.js +1 -1
  29. package/dist/mcps/knowledge-skills/git-workflow.server.js +1 -1
  30. package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
  31. package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
  32. package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
  33. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
  34. package/dist/mcps/knowledge-skills/performance-optimization.server.js +1 -1
  35. package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
  36. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +1 -1
  37. package/dist/mcps/knowledge-skills/security-audit.server.js +1 -1
  38. package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
  39. package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
  40. package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
  41. package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
  42. package/dist/mcps/knowledge-skills/tech-writer.server.js +2 -2
  43. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +1 -1
  44. package/dist/mcps/knowledge-skills/testing-strategy.server.js +1 -1
  45. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1 -1
  46. package/dist/mcps/lint.server.js +1 -1
  47. package/dist/mcps/model-health-check.server.js +1 -1
  48. package/dist/mcps/performance-analysis.server.js +1 -1
  49. package/dist/mcps/processor-pipeline.server.js +1 -1
  50. package/dist/mcps/researcher.server.js +1 -1
  51. package/dist/mcps/security-scan.server.js +1 -1
  52. package/dist/mcps/state-manager.server.js +1 -1
  53. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  54. package/package.json +1 -1
  55. package/scripts/node/postinstall.cjs +7 -0
  56. package/scripts/node/universal-version-manager.js +2 -2
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.15.24",
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.24",
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.24",
223
+ "version": "1.15.26",
224
224
  "terms": [
225
225
  1,
226
226
  2,
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.15.24",
2
+ "version": "1.15.26",
3
3
  "lastUpdated": "2026-03-09",
4
4
  "errorPreventionTarget": 0.996,
5
5
  "terms": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./config.schema.json",
3
- "version": "1.15.24",
3
+ "version": "1.15.26",
4
4
  "description": "StringRay Framework - Token Management & Performance Configuration",
5
5
 
6
6
  "token_management": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./features.schema.json",
3
- "version": "1.15.24",
3
+ "version": "1.15.26",
4
4
  "description": "StringRay Framework - Unified Feature Configuration",
5
5
  "token_optimization": {
6
6
  "enabled": true,
@@ -4,19 +4,19 @@
4
4
  "openclaw": {
5
5
  "enabled": false,
6
6
  "type": "external-service",
7
- "version": "1.15.24",
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.24",
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.24",
19
+ "version": "1.15.26",
20
20
  "config": {}
21
21
  }
22
22
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.15.24",
2
+ "version": "1.15.26",
3
3
  "lastUpdated": "2026-03-09",
4
4
  "errorPreventionTarget": 0.996,
5
5
  "terms": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./config.schema.json",
3
- "version": "1.15.24",
3
+ "version": "1.15.26",
4
4
  "description": "StringRay Framework - Token Management & Performance Configuration",
5
5
 
6
6
  "token_management": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./features.schema.json",
3
- "version": "1.15.24",
3
+ "version": "1.15.26",
4
4
  "description": "StringRay Framework - Unified Feature Configuration",
5
5
  "token_optimization": {
6
6
  "enabled": true,
@@ -4,19 +4,19 @@
4
4
  "openclaw": {
5
5
  "enabled": false,
6
6
  "type": "external-service",
7
- "version": "1.15.24",
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.24",
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.24",
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.24",
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.24",
627
+ version: "1.15.26",
628
628
  codex_enabled: true,
629
629
  codex_version: "v1.7.5",
630
630
  codex_terms: [
@@ -257,7 +257,7 @@ export class FeaturesConfigLoader {
257
257
  */
258
258
  getDefaultConfig() {
259
259
  return {
260
- version: "1.15.24",
260
+ version: "1.15.26",
261
261
  description: "StringRay Framework - Unified Feature Configuration",
262
262
  token_optimization: {
263
263
  enabled: true,
@@ -14,7 +14,7 @@ class StrRayArchitectToolsServer {
14
14
  server;
15
15
  constructor() {
16
16
  this.server = new Server({
17
- name: "architect-tools", version: "1.15.24",
17
+ name: "architect-tools", version: "1.15.26",
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
@@ -13,7 +13,7 @@ class StrRayAutoFormatServer {
13
13
  server;
14
14
  constructor() {
15
15
  this.server = new Server({
16
- name: "auto-format", version: "1.15.24",
16
+ name: "auto-format", version: "1.15.26",
17
17
  }, {
18
18
  capabilities: {
19
19
  tools: {},
@@ -30,7 +30,7 @@ class StrRayBootOrchestratorServer {
30
30
  ];
31
31
  constructor() {
32
32
  this.server = new Server({
33
- name: "boot-orchestrator", version: "1.15.24",
33
+ name: "boot-orchestrator", version: "1.15.26",
34
34
  }, {
35
35
  capabilities: {
36
36
  tools: {},
@@ -16,7 +16,7 @@ class StrRayEnforcerToolsServer {
16
16
  server;
17
17
  constructor() {
18
18
  this.server = new Server({
19
- name: "enforcer", version: "1.15.24",
19
+ name: "enforcer", version: "1.15.26",
20
20
  }, {
21
21
  capabilities: {
22
22
  tools: {},
@@ -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.24",
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.24",
15
+ name: "framework-compliance-audit", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -6,7 +6,7 @@ class FrameworkHelpServer {
6
6
  server;
7
7
  constructor() {
8
8
  this.server = new Server({
9
- name: "strray/framework-help", version: "1.15.24",
9
+ name: "strray/framework-help", version: "1.15.26",
10
10
  }, {
11
11
  capabilities: {
12
12
  tools: {},
@@ -12,7 +12,7 @@ class StrRayApiDesignServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "api-design", version: "1.15.24",
15
+ name: "api-design", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -12,7 +12,7 @@ class StrRayArchitecturePatternsServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "architecture-patterns", version: "1.15.24",
15
+ name: "architecture-patterns", 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.24" }, { capabilities: { tools: {} } });
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.24" }, { capabilities: { tools: {} } });
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
  }));
@@ -14,7 +14,7 @@ class StrRayCodeReviewServer {
14
14
  server;
15
15
  constructor() {
16
16
  this.server = new Server({
17
- name: "code-review", version: "1.15.24",
17
+ name: "code-review", version: "1.15.26",
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
@@ -84,7 +84,7 @@ class SEOCopywriterServer {
84
84
  },
85
85
  ];
86
86
  constructor() {
87
- this.server = new Server({ name: "content-creator", version: "1.15.24" }, { capabilities: { tools: {} } });
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
  }));
@@ -14,7 +14,7 @@ class StrRayDatabaseDesignServer {
14
14
  server;
15
15
  constructor() {
16
16
  this.server = new Server({
17
- name: "database-design", version: "1.15.24",
17
+ name: "database-design", version: "1.15.26",
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
@@ -12,7 +12,7 @@ class StrRayDevOpsDeploymentServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "devops-deployment", version: "1.15.24",
15
+ name: "devops-deployment", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -12,7 +12,7 @@ class StrRayGitWorkflowServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "git-workflow", version: "1.15.24",
15
+ name: "git-workflow", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -91,7 +91,7 @@ class MarketingExpertServer {
91
91
  },
92
92
  ];
93
93
  constructor() {
94
- this.server = new Server({ name: "growth-strategist", version: "1.15.24" }, { capabilities: { tools: {} } });
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.24" }, { capabilities: { tools: {} } });
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 @@ class StrRayMobileDevelopmentServer {
11
11
  server;
12
12
  constructor() {
13
13
  this.server = new Server({
14
- name: "mobile-development", version: "1.15.24",
14
+ name: "mobile-development", version: "1.15.26",
15
15
  }, {
16
16
  capabilities: {
17
17
  tools: {},
@@ -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.24" }, { capabilities: { tools: {} } });
14
+ this.server = new Server({ name: "multimodal-looker", version: "1.15.26" }, { capabilities: { tools: {} } });
15
15
  this.setupToolHandlers();
16
16
  }
17
17
  setupToolHandlers() {
@@ -12,7 +12,7 @@ class StrRayPerformanceOptimizationServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "performance-optimization", version: "1.15.24",
15
+ name: "performance-optimization", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -14,7 +14,7 @@ class StrRayProjectAnalysisServer {
14
14
  server;
15
15
  constructor() {
16
16
  this.server = new Server({
17
- name: "project-analysis", version: "1.15.24",
17
+ name: "project-analysis", version: "1.15.26",
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
@@ -12,7 +12,7 @@ class StrRayRefactoringStrategiesServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "refactoring-strategies", version: "1.15.24",
15
+ name: "refactoring-strategies", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -14,7 +14,7 @@ class StrRaySecurityAuditServer {
14
14
  server;
15
15
  constructor() {
16
16
  this.server = new Server({
17
- name: "security-audit", version: "1.15.24",
17
+ name: "security-audit", version: "1.15.26",
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
@@ -96,7 +96,7 @@ class SEOSpecialistServer {
96
96
  },
97
97
  ];
98
98
  constructor() {
99
- this.server = new Server({ name: "seo-consultant", version: "1.15.24" }, { capabilities: { tools: {} } });
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.24" }, { capabilities: { tools: {} } });
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
  }));
@@ -6,7 +6,7 @@ class SkillInvocationServer {
6
6
  server;
7
7
  constructor() {
8
8
  this.server = new Server({
9
- name: "strray/skill-invocation", version: "1.15.24",
9
+ name: "strray/skill-invocation", version: "1.15.26",
10
10
  }, {
11
11
  capabilities: {
12
12
  tools: {},
@@ -76,7 +76,7 @@ class StrategistServer {
76
76
  ];
77
77
  constructor() {
78
78
  this.server = new Server({
79
- name: "strray/strategist", version: "1.15.24",
79
+ name: "strray/strategist", version: "1.15.26",
80
80
  }, {
81
81
  capabilities: {
82
82
  tools: {},
@@ -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.24",
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.24",
730
+ version: "1.15.26",
731
731
  description: "Generated API documentation",
732
732
  },
733
733
  servers: [
@@ -12,7 +12,7 @@ class StrRayTestingBestPracticesServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "testing-best-practices", version: "1.15.24",
15
+ name: "testing-best-practices", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -16,7 +16,7 @@ class StrRayTestingStrategyServer {
16
16
  server;
17
17
  constructor() {
18
18
  this.server = new Server({
19
- name: "testing-strategy", version: "1.15.24",
19
+ name: "testing-strategy", version: "1.15.26",
20
20
  }, {
21
21
  capabilities: {
22
22
  tools: {},
@@ -12,7 +12,7 @@ class StrRayUIUXDesignServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "ui-ux-design", version: "1.15.24",
15
+ name: "ui-ux-design", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -13,7 +13,7 @@ class StrRayLintServer {
13
13
  server;
14
14
  constructor() {
15
15
  this.server = new Server({
16
- name: "lint", version: "1.15.24",
16
+ name: "lint", version: "1.15.26",
17
17
  }, {
18
18
  capabilities: {
19
19
  tools: {},
@@ -12,7 +12,7 @@ class StrRayModelHealthCheckServer {
12
12
  server;
13
13
  constructor() {
14
14
  this.server = new Server({
15
- name: "model-health-check", version: "1.15.24",
15
+ name: "model-health-check", version: "1.15.26",
16
16
  }, {
17
17
  capabilities: {
18
18
  tools: {},
@@ -15,7 +15,7 @@ class StrRayPerformanceAnalysisServer {
15
15
  startTime;
16
16
  constructor() {
17
17
  this.server = new Server({
18
- name: "performance-analysis", version: "1.15.24",
18
+ name: "performance-analysis", version: "1.15.26",
19
19
  }, {
20
20
  capabilities: {
21
21
  tools: {},
@@ -22,7 +22,7 @@ class StrRayProcessorPipelineServer {
22
22
  ];
23
23
  constructor() {
24
24
  this.server = new Server({
25
- name: "processor-pipeline", version: "1.15.24",
25
+ name: "processor-pipeline", version: "1.15.26",
26
26
  }, {
27
27
  capabilities: {
28
28
  tools: {},
@@ -17,7 +17,7 @@ class StrRayLibrarianServer {
17
17
  server;
18
18
  constructor() {
19
19
  this.server = new Server({
20
- name: "researcher", version: "1.15.24",
20
+ name: "researcher", version: "1.15.26",
21
21
  }, {
22
22
  capabilities: {
23
23
  tools: {},
@@ -15,7 +15,7 @@ class StrRaySecurityScanServer {
15
15
  server;
16
16
  constructor() {
17
17
  this.server = new Server({
18
- name: "security-scan", version: "1.15.24",
18
+ name: "security-scan", version: "1.15.26",
19
19
  }, {
20
20
  capabilities: {
21
21
  tools: {},
@@ -16,7 +16,7 @@ class StrRayStateManagerServer {
16
16
  backups = new Map();
17
17
  constructor() {
18
18
  this.server = new Server({
19
- name: "state-manager", version: "1.15.24",
19
+ name: "state-manager", version: "1.15.26",
20
20
  }, {
21
21
  capabilities: {
22
22
  tools: {},
@@ -113,7 +113,7 @@ export class UniversalRegistryBridge {
113
113
  currentAgent = {
114
114
  name: nameMatch[1].trim(),
115
115
  description: "",
116
- version: "1.15.24",
116
+ version: "1.15.26",
117
117
  };
118
118
  inAgent = true;
119
119
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strray-ai",
3
- "version": "1.15.25",
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.24",
82
- displayName: "StringRay AI v1.15.23",
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,