stringray-ai 1.0.15 → 1.0.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stringray-ai",
3
- "version": "1.0.15",
3
+ "version": "1.0.16",
4
4
  "description": "⚡ StringRay ⚡: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code — every time.",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin/index.js",
@@ -78,4 +78,100 @@ console.log('=====================================\n');
78
78
  console.error('❌ Plugin loading failed:', error);
79
79
  process.exit(1);
80
80
  }
81
- })();
81
+ })();
82
+
83
+ // Comprehensive deployment validation function
84
+ async function runComprehensiveTests() {
85
+ console.log('\n🔬 Running comprehensive deployment validation...\n');
86
+
87
+ const tests = [
88
+ {
89
+ name: 'Core functionality test',
90
+ command: 'npm run test:architect --prefix ..',
91
+ description: 'Tests core StringRay functionality'
92
+ },
93
+ {
94
+ name: 'MCP server connectivity test',
95
+ command: 'npm run test:mcp-connectivity --prefix ..',
96
+ description: 'Tests MCP server connections'
97
+ },
98
+ {
99
+ name: 'oh-my-opencode integration test',
100
+ command: 'npm run test:oh-my-opencode-integration --prefix ..',
101
+ description: 'Tests oh-my-opencode integration'
102
+ },
103
+ {
104
+ name: 'External process communication test',
105
+ command: 'npm run test:external-processes --prefix ..',
106
+ description: 'Tests external process communication'
107
+ }
108
+ ];
109
+
110
+ let passed = 0;
111
+ let failed = 0;
112
+
113
+ for (const test of tests) {
114
+ console.log(`🧪 Running ${test.name}...`);
115
+ console.log(` ${test.description}`);
116
+
117
+ try {
118
+ const { spawn } = await import('child_process');
119
+ const [cmd, ...args] = test.command.split(' ');
120
+
121
+ await new Promise((resolve, reject) => {
122
+ const child = spawn(cmd, args, {
123
+ stdio: ['pipe', 'pipe', 'pipe'],
124
+ cwd: process.cwd()
125
+ });
126
+
127
+ let stdout = '';
128
+ let stderr = '';
129
+
130
+ child.stdout.on('data', (data) => {
131
+ stdout += data.toString();
132
+ });
133
+
134
+ child.stderr.on('data', (data) => {
135
+ stderr += data.toString();
136
+ });
137
+
138
+ child.on('close', (code) => {
139
+ if (code === 0) {
140
+ console.log(` ✅ PASSED\n`);
141
+ passed++;
142
+ resolve();
143
+ } else {
144
+ console.log(` ❌ FAILED (exit code: ${code})`);
145
+ if (stderr) console.log(` Error: ${stderr.slice(0, 200)}...`);
146
+ console.log('');
147
+ failed++;
148
+ resolve(); // Continue with other tests
149
+ }
150
+ });
151
+
152
+ child.on('error', (error) => {
153
+ console.log(` ❌ FAILED (spawn error: ${error.message})`);
154
+ console.log('');
155
+ failed++;
156
+ resolve();
157
+ });
158
+ });
159
+ } catch (error) {
160
+ console.log(` ❌ FAILED (exception: ${error.message})`);
161
+ console.log('');
162
+ failed++;
163
+ }
164
+ }
165
+
166
+ console.log('📊 Comprehensive Test Results:');
167
+ console.log(` ✅ Passed: ${passed}`);
168
+ console.log(` ❌ Failed: ${failed}`);
169
+ console.log(` 📈 Success Rate: ${Math.round((passed / (passed + failed)) * 100)}%`);
170
+
171
+ if (failed === 0) {
172
+ console.log('\n🎉 ALL COMPREHENSIVE TESTS PASSED!');
173
+ console.log('✨ StringRay Framework is fully operational and ready for production use.');
174
+ } else {
175
+ console.log(`\n⚠️ ${failed} test(s) failed. Please check the framework configuration.`);
176
+ }
177
+ }