erosolar-cli 1.7.410 → 1.7.412

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 (202) hide show
  1. package/README.md +6 -6
  2. package/dist/StringUtils.d.ts +1 -4
  3. package/dist/StringUtils.d.ts.map +1 -1
  4. package/dist/StringUtils.js +2 -8
  5. package/dist/StringUtils.js.map +1 -1
  6. package/dist/browser/BrowserSessionManager.d.ts +1 -3
  7. package/dist/browser/BrowserSessionManager.d.ts.map +1 -1
  8. package/dist/browser/BrowserSessionManager.js +4 -24
  9. package/dist/browser/BrowserSessionManager.js.map +1 -1
  10. package/dist/capabilities/askUserCapability.d.ts.map +1 -1
  11. package/dist/capabilities/askUserCapability.js +64 -10
  12. package/dist/capabilities/askUserCapability.js.map +1 -1
  13. package/dist/capabilities/toolRegistry.d.ts +2 -0
  14. package/dist/capabilities/toolRegistry.d.ts.map +1 -1
  15. package/dist/capabilities/toolRegistry.js +40 -5
  16. package/dist/capabilities/toolRegistry.js.map +1 -1
  17. package/dist/contracts/agent-profiles.schema.json +5 -5
  18. package/dist/contracts/agent-schemas.json +6 -16
  19. package/dist/contracts/schemas/agent.schema.json +1 -5
  20. package/dist/contracts/schemas/tool-selection.schema.json +1 -7
  21. package/dist/contracts/tools.schema.json +80 -207
  22. package/dist/contracts/unified-schema.json +4 -5
  23. package/dist/contracts/v1/agent.d.ts +0 -3
  24. package/dist/contracts/v1/agent.d.ts.map +1 -1
  25. package/dist/contracts/v1/provider.d.ts +1 -2
  26. package/dist/contracts/v1/provider.d.ts.map +1 -1
  27. package/dist/contracts/v1/toolAccess.d.ts +1 -1
  28. package/dist/contracts/v1/toolAccess.d.ts.map +1 -1
  29. package/dist/core/agent.d.ts +1 -7
  30. package/dist/core/agent.d.ts.map +1 -1
  31. package/dist/core/agent.js +2 -131
  32. package/dist/core/agent.js.map +1 -1
  33. package/dist/core/alphaZeroEngine.d.ts +0 -8
  34. package/dist/core/alphaZeroEngine.d.ts.map +1 -1
  35. package/dist/core/alphaZeroEngine.js +35 -149
  36. package/dist/core/alphaZeroEngine.js.map +1 -1
  37. package/dist/core/alphaZeroOrchestrator.d.ts +0 -17
  38. package/dist/core/alphaZeroOrchestrator.d.ts.map +1 -1
  39. package/dist/core/alphaZeroOrchestrator.js +8 -95
  40. package/dist/core/alphaZeroOrchestrator.js.map +1 -1
  41. package/dist/core/claudeCodeFeatures.d.ts +2 -1
  42. package/dist/core/claudeCodeFeatures.d.ts.map +1 -1
  43. package/dist/core/claudeCodeFeatures.js +2 -1
  44. package/dist/core/claudeCodeFeatures.js.map +1 -1
  45. package/dist/core/cliTestHarness.d.ts +0 -5
  46. package/dist/core/cliTestHarness.d.ts.map +1 -1
  47. package/dist/core/cliTestHarness.js +3 -14
  48. package/dist/core/cliTestHarness.js.map +1 -1
  49. package/dist/core/contextManager.d.ts +0 -30
  50. package/dist/core/contextManager.d.ts.map +1 -1
  51. package/dist/core/contextManager.js +5 -87
  52. package/dist/core/contextManager.js.map +1 -1
  53. package/dist/core/contextWindow.d.ts +4 -4
  54. package/dist/core/contextWindow.js +9 -9
  55. package/dist/core/contextWindow.js.map +1 -1
  56. package/dist/core/modelDiscovery.js +3 -3
  57. package/dist/core/modelDiscovery.js.map +1 -1
  58. package/dist/core/preferences.d.ts +2 -3
  59. package/dist/core/preferences.d.ts.map +1 -1
  60. package/dist/core/preferences.js +11 -18
  61. package/dist/core/preferences.js.map +1 -1
  62. package/dist/core/secretStore.d.ts.map +1 -1
  63. package/dist/core/secretStore.js +31 -0
  64. package/dist/core/secretStore.js.map +1 -1
  65. package/dist/core/toolPreconditions.d.ts +1 -0
  66. package/dist/core/toolPreconditions.d.ts.map +1 -1
  67. package/dist/core/toolPreconditions.js +13 -64
  68. package/dist/core/toolPreconditions.js.map +1 -1
  69. package/dist/core/toolRuntime.d.ts.map +1 -1
  70. package/dist/core/toolRuntime.js +0 -17
  71. package/dist/core/toolRuntime.js.map +1 -1
  72. package/dist/core/types.d.ts +1 -1
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/headless/headlessApp.d.ts.map +1 -1
  75. package/dist/headless/headlessApp.js +6 -22
  76. package/dist/headless/headlessApp.js.map +1 -1
  77. package/dist/plugins/providers/google/index.js +3 -2
  78. package/dist/plugins/providers/google/index.js.map +1 -1
  79. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
  80. package/dist/providers/openaiChatCompletionsProvider.js +6 -60
  81. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
  82. package/dist/runtime/agentController.d.ts.map +1 -1
  83. package/dist/runtime/agentController.js +6 -27
  84. package/dist/runtime/agentController.js.map +1 -1
  85. package/dist/shell/interactiveShell.d.ts +32 -98
  86. package/dist/shell/interactiveShell.d.ts.map +1 -1
  87. package/dist/shell/interactiveShell.js +733 -1645
  88. package/dist/shell/interactiveShell.js.map +1 -1
  89. package/dist/shell/shellApp.d.ts.map +1 -1
  90. package/dist/shell/shellApp.js +41 -15
  91. package/dist/shell/shellApp.js.map +1 -1
  92. package/dist/shell/systemPrompt.d.ts.map +1 -1
  93. package/dist/shell/systemPrompt.js +0 -1
  94. package/dist/shell/systemPrompt.js.map +1 -1
  95. package/dist/shell/terminalInput.d.ts +21 -85
  96. package/dist/shell/terminalInput.d.ts.map +1 -1
  97. package/dist/shell/terminalInput.js +62 -519
  98. package/dist/shell/terminalInput.js.map +1 -1
  99. package/dist/shell/terminalInputAdapter.d.ts +16 -37
  100. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  101. package/dist/shell/terminalInputAdapter.js +22 -44
  102. package/dist/shell/terminalInputAdapter.js.map +1 -1
  103. package/dist/shell/updateManager.d.ts.map +1 -1
  104. package/dist/shell/updateManager.js +17 -1
  105. package/dist/shell/updateManager.js.map +1 -1
  106. package/dist/tools/buildTools.d.ts.map +1 -1
  107. package/dist/tools/buildTools.js +76 -19
  108. package/dist/tools/buildTools.js.map +1 -1
  109. package/dist/tools/editTools.js +1 -1
  110. package/dist/tools/editTools.js.map +1 -1
  111. package/dist/tools/enhancedCodeIntelligenceTools.js +2 -1
  112. package/dist/tools/enhancedCodeIntelligenceTools.js.map +1 -1
  113. package/dist/tools/fileTools.js +0 -3
  114. package/dist/tools/fileTools.js.map +1 -1
  115. package/dist/tools/frontendTestingTools.js +1 -1
  116. package/dist/tools/frontendTestingTools.js.map +1 -1
  117. package/dist/tools/interactionTools.d.ts.map +1 -1
  118. package/dist/tools/interactionTools.js +82 -15
  119. package/dist/tools/interactionTools.js.map +1 -1
  120. package/dist/tools/learnTools.d.ts +0 -2
  121. package/dist/tools/learnTools.d.ts.map +1 -1
  122. package/dist/tools/learnTools.js +81 -29
  123. package/dist/tools/learnTools.js.map +1 -1
  124. package/dist/tools/localExplore.d.ts.map +1 -1
  125. package/dist/tools/localExplore.js +1 -0
  126. package/dist/tools/localExplore.js.map +1 -1
  127. package/dist/tools/notebookEditTools.js.map +1 -1
  128. package/dist/tools/repoChecksTools.js +3 -4
  129. package/dist/tools/repoChecksTools.js.map +1 -1
  130. package/dist/tools/searchTools.js +0 -4
  131. package/dist/tools/searchTools.js.map +1 -1
  132. package/dist/tools/softwareEngineeringTools.d.ts.map +1 -1
  133. package/dist/tools/softwareEngineeringTools.js +0 -1
  134. package/dist/tools/softwareEngineeringTools.js.map +1 -1
  135. package/dist/tools/webTools.d.ts.map +1 -1
  136. package/dist/tools/webTools.js.map +1 -1
  137. package/dist/ui/ShellUIAdapter.d.ts +13 -52
  138. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  139. package/dist/ui/ShellUIAdapter.js +72 -373
  140. package/dist/ui/ShellUIAdapter.js.map +1 -1
  141. package/dist/ui/display.d.ts +38 -19
  142. package/dist/ui/display.d.ts.map +1 -1
  143. package/dist/ui/display.js +310 -96
  144. package/dist/ui/display.js.map +1 -1
  145. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
  146. package/dist/ui/orchestration/UIUpdateCoordinator.js +3 -5
  147. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
  148. package/dist/ui/shortcutsHelp.d.ts +1 -1
  149. package/dist/ui/shortcutsHelp.d.ts.map +1 -1
  150. package/dist/ui/shortcutsHelp.js +6 -11
  151. package/dist/ui/shortcutsHelp.js.map +1 -1
  152. package/dist/ui/streamingFormatter.d.ts +17 -0
  153. package/dist/ui/streamingFormatter.d.ts.map +1 -0
  154. package/dist/ui/streamingFormatter.js +71 -0
  155. package/dist/ui/streamingFormatter.js.map +1 -0
  156. package/dist/ui/theme.d.ts +100 -100
  157. package/dist/ui/theme.d.ts.map +1 -1
  158. package/dist/ui/theme.js.map +1 -1
  159. package/dist/ui/toolDisplay.d.ts.map +1 -1
  160. package/dist/ui/toolDisplay.js +1 -7
  161. package/dist/ui/toolDisplay.js.map +1 -1
  162. package/dist/ui/unified/index.d.ts +3 -2
  163. package/dist/ui/unified/index.d.ts.map +1 -1
  164. package/dist/ui/unified/index.js +1 -0
  165. package/dist/ui/unified/index.js.map +1 -1
  166. package/dist/ui/unified/layout.d.ts +0 -14
  167. package/dist/ui/unified/layout.d.ts.map +1 -1
  168. package/dist/ui/unified/layout.js +1 -67
  169. package/dist/ui/unified/layout.js.map +1 -1
  170. package/package.json +24 -37
  171. package/dist/core/alphaZeroConfig.d.ts +0 -11
  172. package/dist/core/alphaZeroConfig.d.ts.map +0 -1
  173. package/dist/core/alphaZeroConfig.js +0 -59
  174. package/dist/core/alphaZeroConfig.js.map +0 -1
  175. package/dist/core/alphaZeroEnhanced.d.ts +0 -125
  176. package/dist/core/alphaZeroEnhanced.d.ts.map +0 -1
  177. package/dist/core/alphaZeroEnhanced.js +0 -386
  178. package/dist/core/alphaZeroEnhanced.js.map +0 -1
  179. package/dist/core/autonomousVerification.d.ts +0 -103
  180. package/dist/core/autonomousVerification.d.ts.map +0 -1
  181. package/dist/core/autonomousVerification.js +0 -583
  182. package/dist/core/autonomousVerification.js.map +0 -1
  183. package/dist/core/offsecAlphaZeroEnhanced.d.ts +0 -98
  184. package/dist/core/offsecAlphaZeroEnhanced.d.ts.map +0 -1
  185. package/dist/core/offsecAlphaZeroEnhanced.js +0 -441
  186. package/dist/core/offsecAlphaZeroEnhanced.js.map +0 -1
  187. package/dist/core/parallelAgentOrchestrator.d.ts +0 -171
  188. package/dist/core/parallelAgentOrchestrator.d.ts.map +0 -1
  189. package/dist/core/parallelAgentOrchestrator.js +0 -459
  190. package/dist/core/parallelAgentOrchestrator.js.map +0 -1
  191. package/dist/index.d.ts +0 -5
  192. package/dist/index.d.ts.map +0 -1
  193. package/dist/index.js +0 -3
  194. package/dist/index.js.map +0 -1
  195. package/dist/tools/detectCommands.d.ts +0 -8
  196. package/dist/tools/detectCommands.d.ts.map +0 -1
  197. package/dist/tools/detectCommands.js +0 -183
  198. package/dist/tools/detectCommands.js.map +0 -1
  199. package/dist/ui/assistantBlockRenderer.d.ts +0 -30
  200. package/dist/ui/assistantBlockRenderer.d.ts.map +0 -1
  201. package/dist/ui/assistantBlockRenderer.js +0 -121
  202. package/dist/ui/assistantBlockRenderer.js.map +0 -1
@@ -1,583 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import * as fs from 'fs/promises';
3
- /**
4
- * Pre-defined verification strategies for common task types
5
- */
6
- const VERIFICATION_STRATEGIES = {
7
- 'offensive-security': {
8
- taskType: 'offensive-security',
9
- rules: [
10
- {
11
- method: 'output_parsing',
12
- weight: 0.3,
13
- required: true,
14
- config: {
15
- successPatterns: [
16
- /success|successful|completed|found|vulnerable|exploited/i,
17
- /\b(?:200|OK)\b/,
18
- /shell|access|privileges?|root|admin/i,
19
- ],
20
- failurePatterns: [
21
- /failed?|error|denied|blocked|timeout|unreachable/i,
22
- /\b(?:40[134]|403|50[0-3])\b/,
23
- ],
24
- },
25
- },
26
- {
27
- method: 'state_validation',
28
- weight: 0.25,
29
- required: true,
30
- config: {
31
- expectedStates: ['new_access', 'new_credentials', 'file_created', 'shell_obtained'],
32
- },
33
- },
34
- {
35
- method: 'response_validation',
36
- weight: 0.25,
37
- required: false,
38
- config: {
39
- validateStatusCodes: true,
40
- validateResponseBody: true,
41
- },
42
- },
43
- {
44
- method: 'behavioral_check',
45
- weight: 0.2,
46
- required: false,
47
- config: {
48
- checkNetworkConnectivity: true,
49
- checkFileModifications: true,
50
- },
51
- },
52
- ],
53
- minConfidence: 0.75,
54
- timeoutMs: 30000,
55
- },
56
- 'code-modification': {
57
- taskType: 'code-modification',
58
- rules: [
59
- {
60
- method: 'diff_analysis',
61
- weight: 0.3,
62
- required: true,
63
- config: {
64
- maxLinesChanged: 1000,
65
- requiresSyntaxCheck: true,
66
- },
67
- },
68
- {
69
- method: 'test_execution',
70
- weight: 0.35,
71
- required: true,
72
- config: {
73
- runTests: true,
74
- requireAllPass: false,
75
- allowedFailureRate: 0.05, // 5% failure tolerance
76
- },
77
- },
78
- {
79
- method: 'security_scan',
80
- weight: 0.2,
81
- required: false,
82
- config: {
83
- scanForVulnerabilities: true,
84
- checkDependencies: true,
85
- },
86
- },
87
- {
88
- method: 'artifact_verification',
89
- weight: 0.15,
90
- required: false,
91
- config: {
92
- verifyBuildArtifacts: true,
93
- },
94
- },
95
- ],
96
- minConfidence: 0.80,
97
- timeoutMs: 60000,
98
- },
99
- 'deployment': {
100
- taskType: 'deployment',
101
- rules: [
102
- {
103
- method: 'response_validation',
104
- weight: 0.4,
105
- required: true,
106
- config: {
107
- validateEndpoints: true,
108
- healthCheck: true,
109
- },
110
- },
111
- {
112
- method: 'behavioral_check',
113
- weight: 0.3,
114
- required: true,
115
- config: {
116
- checkServiceStatus: true,
117
- validateMetrics: true,
118
- },
119
- },
120
- {
121
- method: 'test_execution',
122
- weight: 0.3,
123
- required: false,
124
- config: {
125
- runSmokeTests: true,
126
- },
127
- },
128
- ],
129
- minConfidence: 0.85,
130
- timeoutMs: 120000,
131
- },
132
- 'default': {
133
- taskType: 'default',
134
- rules: [
135
- {
136
- method: 'output_parsing',
137
- weight: 0.5,
138
- required: true,
139
- config: {
140
- successPatterns: [/success|successful|completed|done|ok/i],
141
- failurePatterns: [/failed?|error|exception|crash/i],
142
- },
143
- },
144
- {
145
- method: 'artifact_verification',
146
- weight: 0.5,
147
- required: false,
148
- config: {},
149
- },
150
- ],
151
- minConfidence: 0.70,
152
- timeoutMs: 30000,
153
- },
154
- };
155
- export class AutonomousVerificationEngine {
156
- strategies = new Map();
157
- constructor() {
158
- // Load default strategies
159
- for (const [key, strategy] of Object.entries(VERIFICATION_STRATEGIES)) {
160
- this.strategies.set(key, strategy);
161
- }
162
- }
163
- /**
164
- * Register a custom verification strategy
165
- */
166
- registerStrategy(strategy) {
167
- this.strategies.set(strategy.taskType, strategy);
168
- }
169
- /**
170
- * Verify an action and determine if it can be auto-approved
171
- */
172
- async verify(taskType, action, output, context) {
173
- const strategy = this.strategies.get(taskType) || this.strategies.get('default');
174
- const results = [];
175
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Verification timeout')), strategy.timeoutMs));
176
- try {
177
- // Run all verification methods in parallel
178
- const verificationPromises = strategy.rules.map((rule) => this.runVerificationMethod(rule, action, output, context));
179
- const methodResults = await Promise.race([
180
- Promise.all(verificationPromises),
181
- timeoutPromise,
182
- ]);
183
- results.push(...methodResults);
184
- // Check required rules
185
- const requiredRules = strategy.rules.filter((r) => r.required);
186
- const requiredResults = results.filter((r) => requiredRules.some((rule) => rule.method === r.method));
187
- const allRequiredPassed = requiredResults.every((r) => r.passed);
188
- if (!allRequiredPassed) {
189
- return {
190
- approved: false,
191
- confidence: 0,
192
- results,
193
- reason: 'Required verification checks failed',
194
- requiresManualReview: true,
195
- };
196
- }
197
- // Calculate weighted confidence
198
- const totalWeight = strategy.rules.reduce((sum, rule) => sum + rule.weight, 0);
199
- const weightedConfidence = results.reduce((sum, result) => {
200
- const rule = strategy.rules.find((r) => r.method === result.method);
201
- if (!rule)
202
- return sum;
203
- return sum + (result.confidence * rule.weight);
204
- }, 0) / totalWeight;
205
- const approved = weightedConfidence >= strategy.minConfidence;
206
- return {
207
- approved,
208
- confidence: weightedConfidence,
209
- results,
210
- reason: approved
211
- ? `Auto-approved with ${(weightedConfidence * 100).toFixed(1)}% confidence`
212
- : `Confidence ${(weightedConfidence * 100).toFixed(1)}% below threshold ${(strategy.minConfidence * 100).toFixed(1)}%`,
213
- requiresManualReview: !approved,
214
- };
215
- }
216
- catch (error) {
217
- return {
218
- approved: false,
219
- confidence: 0,
220
- results,
221
- reason: `Verification error: ${error instanceof Error ? error.message : String(error)}`,
222
- requiresManualReview: true,
223
- };
224
- }
225
- }
226
- /**
227
- * Run a specific verification method
228
- */
229
- async runVerificationMethod(rule, action, output, context) {
230
- switch (rule.method) {
231
- case 'output_parsing':
232
- return this.verifyOutputParsing(rule.config, output);
233
- case 'state_validation':
234
- return this.verifyStateValidation(rule.config, context);
235
- case 'test_execution':
236
- return this.verifyTestExecution(rule.config, context);
237
- case 'behavioral_check':
238
- return this.verifyBehavioralCheck(rule.config, action, context);
239
- case 'diff_analysis':
240
- return this.verifyDiffAnalysis(rule.config, context);
241
- case 'security_scan':
242
- return this.verifySecurityScan(rule.config, context);
243
- case 'response_validation':
244
- return this.verifyResponseValidation(rule.config, output, context);
245
- case 'artifact_verification':
246
- return this.verifyArtifacts(rule.config, context);
247
- default:
248
- return {
249
- method: rule.method,
250
- passed: false,
251
- confidence: 0,
252
- evidence: 'Unknown verification method',
253
- };
254
- }
255
- }
256
- /**
257
- * Verify by parsing output for success/failure indicators
258
- */
259
- async verifyOutputParsing(config, output) {
260
- const { successPatterns = [], failurePatterns = [] } = config;
261
- const successMatches = successPatterns.filter((pattern) => pattern.test(output));
262
- const failureMatches = failurePatterns.filter((pattern) => pattern.test(output));
263
- const hasSuccess = successMatches.length > 0;
264
- const hasFailure = failureMatches.length > 0;
265
- let confidence = 0;
266
- let passed = false;
267
- let evidence = '';
268
- if (hasSuccess && !hasFailure) {
269
- confidence = 0.9;
270
- passed = true;
271
- evidence = `Found ${successMatches.length} success indicators, no failure patterns`;
272
- }
273
- else if (hasSuccess && hasFailure) {
274
- confidence = 0.5;
275
- passed = false;
276
- evidence = `Mixed signals: ${successMatches.length} success, ${failureMatches.length} failure indicators`;
277
- }
278
- else if (!hasSuccess && hasFailure) {
279
- confidence = 0.1;
280
- passed = false;
281
- evidence = `Found ${failureMatches.length} failure indicators, no success patterns`;
282
- }
283
- else {
284
- confidence = 0.3;
285
- passed = false;
286
- evidence = 'No clear success or failure indicators in output';
287
- }
288
- return {
289
- method: 'output_parsing',
290
- passed,
291
- confidence,
292
- evidence,
293
- details: { successMatches: successMatches.length, failureMatches: failureMatches.length },
294
- };
295
- }
296
- /**
297
- * Verify by checking expected state changes
298
- */
299
- async verifyStateValidation(config, context) {
300
- const expectedStates = config.expectedStates || [];
301
- const actualStates = context?.states || [];
302
- const matchedStates = expectedStates.filter((state) => actualStates.includes(state));
303
- const confidence = expectedStates.length > 0
304
- ? matchedStates.length / expectedStates.length
305
- : 0.5;
306
- return {
307
- method: 'state_validation',
308
- passed: confidence >= 0.5,
309
- confidence,
310
- evidence: `${matchedStates.length}/${expectedStates.length} expected states confirmed`,
311
- details: { expectedStates, actualStates, matchedStates },
312
- };
313
- }
314
- /**
315
- * Verify by running tests
316
- */
317
- async verifyTestExecution(config, context) {
318
- const runTests = config.runTests ?? false;
319
- if (!runTests) {
320
- return {
321
- method: 'test_execution',
322
- passed: true,
323
- confidence: 0.5,
324
- evidence: 'Test execution skipped',
325
- };
326
- }
327
- try {
328
- // Run tests (implementation depends on project type)
329
- const testCommand = context?.testCommand || 'npm test';
330
- const testResult = await this.runCommand(testCommand, { timeout: 60000 });
331
- const passed = testResult.exitCode === 0;
332
- const confidence = passed ? 0.95 : 0.1;
333
- return {
334
- method: 'test_execution',
335
- passed,
336
- confidence,
337
- evidence: passed ? 'All tests passed' : `Tests failed with code ${testResult.exitCode}`,
338
- details: { exitCode: testResult.exitCode, output: testResult.output },
339
- };
340
- }
341
- catch (error) {
342
- return {
343
- method: 'test_execution',
344
- passed: false,
345
- confidence: 0,
346
- evidence: `Test execution error: ${error instanceof Error ? error.message : String(error)}`,
347
- };
348
- }
349
- }
350
- /**
351
- * Verify by checking behavioral outcomes
352
- */
353
- async verifyBehavioralCheck(config, action, context) {
354
- const checks = [];
355
- let confidence = 0;
356
- const options = config;
357
- const ctx = context;
358
- if (options.checkNetworkConnectivity && ctx?.endpoint) {
359
- const reachable = await this.checkNetworkReachability(ctx.endpoint);
360
- if (reachable) {
361
- checks.push('Network connectivity confirmed');
362
- confidence += 0.5;
363
- }
364
- }
365
- if (options.checkFileModifications && ctx?.filePath) {
366
- const modified = await this.checkFileModified(ctx.filePath);
367
- if (modified) {
368
- checks.push('File modifications confirmed');
369
- confidence += 0.5;
370
- }
371
- }
372
- if (options.checkServiceStatus && ctx?.serviceName) {
373
- const running = await this.checkServiceRunning(ctx.serviceName);
374
- if (running) {
375
- checks.push('Service running');
376
- confidence += 0.5;
377
- }
378
- }
379
- const totalChecks = Object.keys(config).filter((k) => k.startsWith('check')).length;
380
- confidence = totalChecks > 0 ? confidence / totalChecks : 0.5;
381
- return {
382
- method: 'behavioral_check',
383
- passed: confidence >= 0.5,
384
- confidence,
385
- evidence: checks.length > 0 ? checks.join(', ') : 'No behavioral checks performed',
386
- details: { checks },
387
- };
388
- }
389
- /**
390
- * Verify by analyzing code diffs
391
- */
392
- async verifyDiffAnalysis(config, context) {
393
- const diff = context?.diff || '';
394
- const lines = diff.split('\n');
395
- const changedLines = lines.filter((line) => line.startsWith('+') || line.startsWith('-')).length;
396
- const maxLines = config.maxLinesChanged || 1000;
397
- const passed = changedLines <= maxLines;
398
- const confidence = passed ? 0.8 : 0.3;
399
- let evidence = `${changedLines} lines changed`;
400
- const requiresSyntaxCheck = config.requiresSyntaxCheck;
401
- if (requiresSyntaxCheck) {
402
- // Basic syntax check (can be enhanced)
403
- const hasSyntaxError = diff.includes('SyntaxError');
404
- if (hasSyntaxError) {
405
- return {
406
- method: 'diff_analysis',
407
- passed: false,
408
- confidence: 0.1,
409
- evidence: 'Syntax errors detected in diff',
410
- };
411
- }
412
- evidence += ', no syntax errors';
413
- }
414
- return {
415
- method: 'diff_analysis',
416
- passed,
417
- confidence,
418
- evidence,
419
- details: { changedLines, maxLines },
420
- };
421
- }
422
- /**
423
- * Verify by running security scans
424
- */
425
- async verifySecurityScan(config, context) {
426
- // Placeholder for security scanning
427
- // In production, integrate with tools like npm audit, Snyk, etc.
428
- return {
429
- method: 'security_scan',
430
- passed: true,
431
- confidence: 0.7,
432
- evidence: 'Security scan passed (placeholder)',
433
- details: { scanType: 'basic' },
434
- };
435
- }
436
- /**
437
- * Verify API/network responses
438
- */
439
- async verifyResponseValidation(config, output, context) {
440
- const ctx = context;
441
- const statusCode = ctx?.statusCode;
442
- const responseBody = ctx?.responseBody || output;
443
- let confidence = 0.5;
444
- let passed = false;
445
- const checks = [];
446
- const validateStatusCodes = config.validateStatusCodes ?? false;
447
- if (validateStatusCodes && statusCode) {
448
- const isSuccess = statusCode >= 200 && statusCode < 300;
449
- if (isSuccess) {
450
- confidence += 0.4;
451
- checks.push(`Status ${statusCode} OK`);
452
- passed = true;
453
- }
454
- else {
455
- checks.push(`Status ${statusCode} failed`);
456
- }
457
- }
458
- const validateResponseBody = config.validateResponseBody ?? false;
459
- if (validateResponseBody && responseBody) {
460
- const hasContent = responseBody.length > 0;
461
- if (hasContent) {
462
- confidence += 0.1;
463
- checks.push('Response body present');
464
- }
465
- }
466
- return {
467
- method: 'response_validation',
468
- passed,
469
- confidence,
470
- evidence: checks.join(', ') || 'No response validation performed',
471
- details: { statusCode, bodyLength: responseBody?.length },
472
- };
473
- }
474
- /**
475
- * Verify created artifacts
476
- */
477
- async verifyArtifacts(config, context) {
478
- const artifacts = context?.artifacts || [];
479
- const verified = [];
480
- for (const artifact of artifacts) {
481
- try {
482
- await fs.access(artifact);
483
- verified.push(artifact);
484
- }
485
- catch {
486
- // Artifact doesn't exist
487
- }
488
- }
489
- const confidence = artifacts.length > 0 ? verified.length / artifacts.length : 0.5;
490
- return {
491
- method: 'artifact_verification',
492
- passed: confidence >= 0.5,
493
- confidence,
494
- evidence: `${verified.length}/${artifacts.length} artifacts verified`,
495
- details: { artifacts, verified },
496
- };
497
- }
498
- /**
499
- * Helper: Run shell command
500
- */
501
- async runCommand(command, options = {}) {
502
- return new Promise((resolve, reject) => {
503
- const child = spawn(command, { shell: true });
504
- let output = '';
505
- child.stdout?.on('data', (data) => {
506
- output += data.toString();
507
- });
508
- child.stderr?.on('data', (data) => {
509
- output += data.toString();
510
- });
511
- child.on('close', (code) => {
512
- resolve({ exitCode: code || 0, output });
513
- });
514
- child.on('error', reject);
515
- if (options.timeout) {
516
- setTimeout(() => {
517
- child.kill();
518
- reject(new Error('Command timeout'));
519
- }, options.timeout);
520
- }
521
- });
522
- }
523
- /**
524
- * Helper: Check network reachability
525
- */
526
- async checkNetworkReachability(endpoint) {
527
- try {
528
- const url = new URL(endpoint);
529
- const result = await this.runCommand(`curl -s -o /dev/null -w "%{http_code}" ${url.href}`, {
530
- timeout: 5000,
531
- });
532
- const statusCode = parseInt(result.output.trim(), 10);
533
- return statusCode >= 200 && statusCode < 500;
534
- }
535
- catch {
536
- return false;
537
- }
538
- }
539
- /**
540
- * Helper: Check if file was modified
541
- */
542
- async checkFileModified(filePath) {
543
- try {
544
- const stats = await fs.stat(filePath);
545
- const now = Date.now();
546
- const modifiedTime = stats.mtimeMs;
547
- // Consider modified if changed in last 60 seconds
548
- return (now - modifiedTime) < 60000;
549
- }
550
- catch {
551
- return false;
552
- }
553
- }
554
- /**
555
- * Helper: Check if service is running
556
- */
557
- async checkServiceRunning(serviceName) {
558
- try {
559
- // Platform-specific service check
560
- if (process.platform === 'darwin') {
561
- const result = await this.runCommand(`launchctl list | grep ${serviceName}`, {
562
- timeout: 3000,
563
- });
564
- return result.exitCode === 0;
565
- }
566
- else if (process.platform === 'linux') {
567
- const result = await this.runCommand(`systemctl is-active ${serviceName}`, {
568
- timeout: 3000,
569
- });
570
- return result.output.trim() === 'active';
571
- }
572
- return false;
573
- }
574
- catch {
575
- return false;
576
- }
577
- }
578
- }
579
- /**
580
- * Singleton instance
581
- */
582
- export const autonomousVerification = new AutonomousVerificationEngine();
583
- //# sourceMappingURL=autonomousVerification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autonomousVerification.js","sourceRoot":"","sources":["../../src/core/autonomousVerification.ts"],"names":[],"mappings":"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"}