erosolar-cli 2.1.269 → 2.1.271

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 (112) hide show
  1. package/dist/capabilities/index.d.ts +0 -1
  2. package/dist/capabilities/index.d.ts.map +1 -1
  3. package/dist/capabilities/index.js +1 -1
  4. package/dist/capabilities/index.js.map +1 -1
  5. package/dist/capabilities/orchestrationCapability.d.ts.map +1 -1
  6. package/dist/capabilities/orchestrationCapability.js +107 -62
  7. package/dist/capabilities/orchestrationCapability.js.map +1 -1
  8. package/dist/core/iMessageVerification.d.ts +1 -1
  9. package/dist/core/infrastructureTemplates.d.ts +1 -1
  10. package/dist/core/infrastructureTemplates.js +5 -5
  11. package/dist/core/infrastructureTemplates.js.map +1 -1
  12. package/dist/core/persistentObjectiveStore.d.ts +13 -1
  13. package/dist/core/persistentObjectiveStore.d.ts.map +1 -1
  14. package/dist/core/persistentObjectiveStore.js.map +1 -1
  15. package/dist/core/securityDeliverableGenerator.d.ts +1 -1
  16. package/dist/core/securityDeliverableGenerator.d.ts.map +1 -1
  17. package/dist/core/securityDeliverableGenerator.js +3 -3
  18. package/dist/core/securityDeliverableGenerator.js.map +1 -1
  19. package/dist/core/toolRuntime.d.ts.map +1 -1
  20. package/dist/core/toolRuntime.js +11 -5
  21. package/dist/core/toolRuntime.js.map +1 -1
  22. package/dist/core/types.js.map +1 -1
  23. package/dist/core/unifiedOrchestrator.d.ts +265 -77
  24. package/dist/core/unifiedOrchestrator.d.ts.map +1 -1
  25. package/dist/core/unifiedOrchestrator.js +915 -254
  26. package/dist/core/unifiedOrchestrator.js.map +1 -1
  27. package/dist/providers/anthropicProvider.d.ts +1 -1
  28. package/dist/shell/interactiveShell.d.ts +1 -1
  29. package/dist/shell/interactiveShell.d.ts.map +1 -1
  30. package/dist/shell/interactiveShell.js +188 -207
  31. package/dist/shell/interactiveShell.js.map +1 -1
  32. package/dist/tools/tao/rl.js +1 -1
  33. package/dist/tools/tao/rl.js.map +1 -1
  34. package/dist/tools/taoTools.js +5 -5
  35. package/dist/tools/taoTools.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/capabilities/unifiedInvestigationCapability.d.ts +0 -22
  38. package/dist/capabilities/unifiedInvestigationCapability.d.ts.map +0 -1
  39. package/dist/capabilities/unifiedInvestigationCapability.js +0 -41
  40. package/dist/capabilities/unifiedInvestigationCapability.js.map +0 -1
  41. package/dist/core/agentOrchestrator.d.ts +0 -400
  42. package/dist/core/agentOrchestrator.d.ts.map +0 -1
  43. package/dist/core/agentOrchestrator.js +0 -2133
  44. package/dist/core/agentOrchestrator.js.map +0 -1
  45. package/dist/core/autoExecutionOrchestrator.d.ts +0 -172
  46. package/dist/core/autoExecutionOrchestrator.d.ts.map +0 -1
  47. package/dist/core/autoExecutionOrchestrator.js +0 -591
  48. package/dist/core/autoExecutionOrchestrator.js.map +0 -1
  49. package/dist/core/dualAgentOrchestrator.d.ts +0 -34
  50. package/dist/core/dualAgentOrchestrator.d.ts.map +0 -1
  51. package/dist/core/dualAgentOrchestrator.js +0 -94
  52. package/dist/core/dualAgentOrchestrator.js.map +0 -1
  53. package/dist/core/failureRecovery.d.ts +0 -26
  54. package/dist/core/failureRecovery.d.ts.map +0 -1
  55. package/dist/core/failureRecovery.js +0 -54
  56. package/dist/core/failureRecovery.js.map +0 -1
  57. package/dist/core/intelligentTestFlows.d.ts +0 -45
  58. package/dist/core/intelligentTestFlows.d.ts.map +0 -1
  59. package/dist/core/intelligentTestFlows.js +0 -25
  60. package/dist/core/intelligentTestFlows.js.map +0 -1
  61. package/dist/core/learningPersistence.d.ts +0 -58
  62. package/dist/core/learningPersistence.d.ts.map +0 -1
  63. package/dist/core/learningPersistence.js +0 -46
  64. package/dist/core/learningPersistence.js.map +0 -1
  65. package/dist/core/metricsTracker.d.ts +0 -40
  66. package/dist/core/metricsTracker.d.ts.map +0 -1
  67. package/dist/core/metricsTracker.js +0 -83
  68. package/dist/core/metricsTracker.js.map +0 -1
  69. package/dist/core/orchestration.d.ts +0 -534
  70. package/dist/core/orchestration.d.ts.map +0 -1
  71. package/dist/core/orchestration.js +0 -2009
  72. package/dist/core/orchestration.js.map +0 -1
  73. package/dist/core/performanceMonitor.d.ts +0 -30
  74. package/dist/core/performanceMonitor.d.ts.map +0 -1
  75. package/dist/core/performanceMonitor.js +0 -39
  76. package/dist/core/performanceMonitor.js.map +0 -1
  77. package/dist/core/selfEvolution.d.ts +0 -61
  78. package/dist/core/selfEvolution.d.ts.map +0 -1
  79. package/dist/core/selfEvolution.js +0 -38
  80. package/dist/core/selfEvolution.js.map +0 -1
  81. package/dist/core/selfImprovement.d.ts +0 -82
  82. package/dist/core/selfImprovement.d.ts.map +0 -1
  83. package/dist/core/selfImprovement.js +0 -25
  84. package/dist/core/selfImprovement.js.map +0 -1
  85. package/dist/core/unifiedFraudOrchestrator.d.ts +0 -738
  86. package/dist/core/unifiedFraudOrchestrator.d.ts.map +0 -1
  87. package/dist/core/unifiedFraudOrchestrator.js +0 -3312
  88. package/dist/core/unifiedFraudOrchestrator.js.map +0 -1
  89. package/dist/core/unifiedRealOrchestrator.d.ts +0 -126
  90. package/dist/core/unifiedRealOrchestrator.d.ts.map +0 -1
  91. package/dist/core/unifiedRealOrchestrator.js +0 -475
  92. package/dist/core/unifiedRealOrchestrator.js.map +0 -1
  93. package/dist/core/userDefenseOrchestrator.d.ts +0 -202
  94. package/dist/core/userDefenseOrchestrator.d.ts.map +0 -1
  95. package/dist/core/userDefenseOrchestrator.js +0 -1006
  96. package/dist/core/userDefenseOrchestrator.js.map +0 -1
  97. package/dist/plugins/tools/unifiedInvestigation/unifiedInvestigationPlugin.d.ts +0 -3
  98. package/dist/plugins/tools/unifiedInvestigation/unifiedInvestigationPlugin.d.ts.map +0 -1
  99. package/dist/plugins/tools/unifiedInvestigation/unifiedInvestigationPlugin.js +0 -14
  100. package/dist/plugins/tools/unifiedInvestigation/unifiedInvestigationPlugin.js.map +0 -1
  101. package/dist/tools/frontendTestingTools.d.ts +0 -9
  102. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  103. package/dist/tools/frontendTestingTools.js +0 -291
  104. package/dist/tools/frontendTestingTools.js.map +0 -1
  105. package/dist/tools/unifiedInvestigationTools.d.ts +0 -19
  106. package/dist/tools/unifiedInvestigationTools.d.ts.map +0 -1
  107. package/dist/tools/unifiedInvestigationTools.js +0 -1163
  108. package/dist/tools/unifiedInvestigationTools.js.map +0 -1
  109. package/scripts/human-verification.mjs +0 -380
  110. package/scripts/isolated-verification-runner.mjs +0 -364
  111. package/scripts/isolated-verification-wrapper.mjs +0 -276
  112. package/scripts/verify-task-completion.mjs +0 -143
@@ -1,475 +0,0 @@
1
- /**
2
- * Unified Real Orchestrator
3
- *
4
- * REAL EXECUTION ONLY - NO SIMULATIONS
5
- *
6
- * This orchestrator executes ONLY real operations:
7
- * - Real shell commands with actual output
8
- * - Real file operations with actual results
9
- * - Real tool calls with genuine responses
10
- * - Real progress tracking based on actual work
11
- *
12
- * All output is genuine - nothing fabricated or randomized.
13
- */
14
- import { execSync } from 'child_process';
15
- import * as fs from 'fs';
16
- import * as path from 'path';
17
- import { reportToolProgress } from './toolRuntime.js';
18
- // ============================================================================
19
- // UNIFIED REAL ORCHESTRATOR
20
- // ============================================================================
21
- export class UnifiedRealOrchestrator {
22
- workingDir;
23
- verbose = true;
24
- results = [];
25
- running = false;
26
- constructor(workingDir) {
27
- this.workingDir = workingDir || process.cwd();
28
- }
29
- /**
30
- * Main entry point - execute a real objective
31
- */
32
- async execute(objective, options = {}) {
33
- this.verbose = options.verbose ?? true;
34
- this.results = [];
35
- this.running = true;
36
- const startTime = Date.now();
37
- this.print('═'.repeat(70));
38
- this.print('UNIFIED REAL ORCHESTRATOR');
39
- this.print(`Objective: ${objective}`);
40
- this.print(`Directory: ${this.workingDir}`);
41
- this.print('═'.repeat(70));
42
- this.print('');
43
- // Phase 1: Plan
44
- this.print('[Phase 1] Creating execution plan...');
45
- const plan = this.createPlan(objective);
46
- this.print(` → ${plan.tasks.length} tasks identified`);
47
- this.print('');
48
- // Phase 2: Execute
49
- this.print('[Phase 2] Executing tasks...');
50
- for (let i = 0; i < plan.tasks.length && this.running; i++) {
51
- const task = plan.tasks[i];
52
- if (!task)
53
- continue;
54
- this.print(` [${i + 1}/${plan.tasks.length}] ${task.description}`);
55
- // Report real progress
56
- reportToolProgress({
57
- current: i + 1,
58
- total: plan.tasks.length,
59
- message: task.description,
60
- });
61
- const result = options.dryRun
62
- ? this.dryRunTask(task)
63
- : await this.executeTask(task);
64
- this.results.push(result);
65
- if (result.success) {
66
- this.print(` ✓ Success (${result.duration}ms)`);
67
- if (this.verbose && result.output.trim()) {
68
- this.printOutput(result.output, 3);
69
- }
70
- }
71
- else {
72
- this.print(` ✗ Failed: ${result.error}`);
73
- }
74
- }
75
- this.print('');
76
- // Phase 3: Summarize
77
- const endTime = Date.now();
78
- const completedTasks = this.results.filter(r => r.success).length;
79
- const failedTasks = this.results.filter(r => !r.success).length;
80
- const orchestrationResult = {
81
- objective,
82
- success: failedTasks === 0,
83
- results: this.results,
84
- summary: this.generateSummary(),
85
- startTime,
86
- endTime,
87
- totalDuration: endTime - startTime,
88
- completedTasks,
89
- failedTasks,
90
- };
91
- this.print('[Phase 3] Complete');
92
- this.print(` Total: ${plan.tasks.length} tasks`);
93
- this.print(` Success: ${completedTasks}`);
94
- this.print(` Failed: ${failedTasks}`);
95
- this.print(` Duration: ${orchestrationResult.totalDuration}ms`);
96
- this.print('═'.repeat(70));
97
- return orchestrationResult;
98
- }
99
- /**
100
- * Create execution plan from objective - REAL analysis
101
- */
102
- createPlan(objective) {
103
- const tasks = [];
104
- const lower = objective.toLowerCase();
105
- // Git operations
106
- if (lower.includes('git') || lower.includes('commit') || lower.includes('push') || lower.includes('status')) {
107
- tasks.push({ id: 'git-status', description: 'Check git status', type: 'shell', command: 'git status' });
108
- if (lower.includes('log') || lower.includes('history')) {
109
- tasks.push({ id: 'git-log', description: 'Show recent commits', type: 'shell', command: 'git log --oneline -10' });
110
- }
111
- if (lower.includes('diff')) {
112
- tasks.push({ id: 'git-diff', description: 'Show changes', type: 'shell', command: 'git diff' });
113
- }
114
- if (lower.includes('branch')) {
115
- tasks.push({ id: 'git-branch', description: 'List branches', type: 'shell', command: 'git branch -a' });
116
- }
117
- }
118
- // Build operations
119
- if (lower.includes('build') || lower.includes('compile') || lower.includes('typescript')) {
120
- tasks.push({ id: 'check-pkg', description: 'Check package.json', type: 'shell', command: 'cat package.json | head -20' });
121
- tasks.push({ id: 'npm-build', description: 'Run build', type: 'shell', command: 'npm run build 2>&1' });
122
- }
123
- // Test operations
124
- if (lower.includes('test')) {
125
- tasks.push({ id: 'npm-test', description: 'Run tests', type: 'shell', command: 'npm test 2>&1 || echo "Tests completed"' });
126
- }
127
- // Lint operations
128
- if (lower.includes('lint')) {
129
- tasks.push({ id: 'npm-lint', description: 'Run linter', type: 'shell', command: 'npm run lint 2>&1 || echo "Lint completed"' });
130
- }
131
- // File search
132
- if (lower.includes('find') || lower.includes('search') || lower.includes('grep')) {
133
- const patternMatch = objective.match(/(?:find|search|grep)\s+["']?([^"'\s]+)["']?/i);
134
- const pattern = patternMatch?.[1] || '*';
135
- tasks.push({ id: 'find-files', description: `Search for "${pattern}"`, type: 'shell', command: `find . -name "${pattern}" -type f 2>/dev/null | head -50` });
136
- }
137
- // Code analysis
138
- if (lower.includes('analyze') || lower.includes('audit') || lower.includes('check')) {
139
- tasks.push({ id: 'count-loc', description: 'Count lines of code', type: 'shell', command: 'find . -name "*.ts" -o -name "*.js" | head -100 | xargs wc -l 2>/dev/null | tail -1' });
140
- tasks.push({ id: 'npm-audit', description: 'Security audit', type: 'shell', command: 'npm audit 2>&1 | head -30 || echo "Audit complete"' });
141
- tasks.push({ id: 'list-deps', description: 'List dependencies', type: 'shell', command: 'npm ls --depth=0 2>&1 | head -20' });
142
- }
143
- // Security operations - REAL security tool execution
144
- if (lower.includes('security') || lower.includes('vuln') || lower.includes('scan')) {
145
- tasks.push({ id: 'npm-audit-full', description: 'Full npm security audit', type: 'shell', command: 'npm audit --json 2>&1 | head -100 || echo "{}"' });
146
- tasks.push({ id: 'check-secrets', description: 'Check for exposed secrets', type: 'shell', command: 'grep -r -E "(password|secret|api[_-]?key|token)\\s*[:=]" --include="*.ts" --include="*.js" --include="*.json" . 2>/dev/null | grep -v node_modules | head -20 || echo "No secrets found"' });
147
- tasks.push({ id: 'check-env', description: 'Check environment files', type: 'shell', command: 'find . -name ".env*" -o -name "*.env" 2>/dev/null | head -10' });
148
- tasks.push({ id: 'outdated-deps', description: 'Check outdated dependencies', type: 'shell', command: 'npm outdated 2>&1 | head -20 || echo "All up to date"' });
149
- }
150
- // Network/port scanning (if nmap available) - REAL network scan
151
- if (lower.includes('network') || lower.includes('port') || lower.includes('nmap')) {
152
- tasks.push({ id: 'check-listening', description: 'Check listening ports', type: 'shell', command: 'lsof -i -P -n | grep LISTEN 2>/dev/null | head -20 || netstat -an | grep LISTEN | head -20 || echo "No port info available"' });
153
- tasks.push({ id: 'check-connections', description: 'Check active connections', type: 'shell', command: 'lsof -i -P -n 2>/dev/null | head -30 || netstat -an | head -30 || echo "No connection info"' });
154
- }
155
- // Process inspection - REAL process list
156
- if (lower.includes('process') || lower.includes('ps') || lower.includes('running')) {
157
- tasks.push({ id: 'list-processes', description: 'List running processes', type: 'shell', command: 'ps aux | head -30' });
158
- tasks.push({ id: 'node-processes', description: 'List Node.js processes', type: 'shell', command: 'ps aux | grep -i node | grep -v grep || echo "No Node processes"' });
159
- }
160
- // System info - REAL system information
161
- if (lower.includes('system') || lower.includes('info') || lower.includes('env')) {
162
- tasks.push({ id: 'system-info', description: 'Get system information', type: 'shell', command: 'uname -a' });
163
- tasks.push({ id: 'disk-space', description: 'Check disk space', type: 'shell', command: 'df -h . 2>/dev/null || echo "Unknown"' });
164
- tasks.push({ id: 'memory-info', description: 'Check memory', type: 'shell', command: 'vm_stat 2>/dev/null | head -10 || free -h 2>/dev/null || echo "Memory info unavailable"' });
165
- }
166
- // Docker operations - REAL docker commands
167
- if (lower.includes('docker') || lower.includes('container')) {
168
- tasks.push({ id: 'docker-ps', description: 'List Docker containers', type: 'shell', command: 'docker ps -a 2>&1 | head -20 || echo "Docker not available"' });
169
- tasks.push({ id: 'docker-images', description: 'List Docker images', type: 'shell', command: 'docker images 2>&1 | head -20 || echo "Docker not available"' });
170
- }
171
- // ══════════════════════════════════════════════════════════════════════
172
- // OFFENSIVE SECURITY OPERATIONS - REAL EXECUTION ONLY
173
- // ══════════════════════════════════════════════════════════════════════
174
- // Reconnaissance - REAL recon operations
175
- if (lower.includes('recon') || lower.includes('reconnaissance') || lower.includes('discover')) {
176
- tasks.push({ id: 'recon-dns', description: 'DNS enumeration', type: 'shell', command: 'dig +short ANY $(hostname -d 2>/dev/null || echo "local") 2>/dev/null || echo "DNS unavailable"' });
177
- tasks.push({ id: 'recon-arp', description: 'ARP table scan', type: 'shell', command: 'arp -a 2>/dev/null | head -20 || echo "ARP unavailable"' });
178
- tasks.push({ id: 'recon-routes', description: 'Network routes', type: 'shell', command: 'netstat -rn 2>/dev/null | head -20 || route -n 2>/dev/null | head -20 || echo "Routes unavailable"' });
179
- tasks.push({ id: 'recon-interfaces', description: 'Network interfaces', type: 'shell', command: 'ifconfig 2>/dev/null || ip addr 2>/dev/null || echo "Interfaces unavailable"' });
180
- tasks.push({ id: 'recon-hosts', description: 'Known hosts', type: 'shell', command: 'cat /etc/hosts 2>/dev/null | grep -v "^#" | head -20' });
181
- }
182
- // Offensive enumeration - REAL enumeration
183
- if (lower.includes('enum') || lower.includes('enumerat') || lower.includes('offensive')) {
184
- tasks.push({ id: 'enum-users', description: 'Enumerate users', type: 'shell', command: 'dscl . list /Users 2>/dev/null || cat /etc/passwd 2>/dev/null | cut -d: -f1 | head -30' });
185
- tasks.push({ id: 'enum-groups', description: 'Enumerate groups', type: 'shell', command: 'dscl . list /Groups 2>/dev/null || cat /etc/group 2>/dev/null | cut -d: -f1 | head -30' });
186
- tasks.push({ id: 'enum-sudo', description: 'Check sudo access', type: 'shell', command: 'sudo -l 2>/dev/null || echo "Sudo check requires password"' });
187
- tasks.push({ id: 'enum-suid', description: 'Find SUID binaries', type: 'shell', command: 'find /usr -perm -4000 -type f 2>/dev/null | head -20 || echo "SUID scan complete"' });
188
- tasks.push({ id: 'enum-cron', description: 'Check cron jobs', type: 'shell', command: 'crontab -l 2>/dev/null || echo "No crontab"; ls -la /etc/cron* 2>/dev/null | head -20' });
189
- tasks.push({ id: 'enum-ssh', description: 'SSH configuration', type: 'shell', command: 'cat ~/.ssh/config 2>/dev/null | head -30 || echo "No SSH config"; ls -la ~/.ssh 2>/dev/null' });
190
- }
191
- // Credential hunting - REAL credential search
192
- if (lower.includes('cred') || lower.includes('password') || lower.includes('secret') || lower.includes('hunt')) {
193
- tasks.push({ id: 'cred-history', description: 'Shell history secrets', type: 'shell', command: 'grep -E "(password|passwd|secret|token|api.?key)" ~/.bash_history ~/.zsh_history 2>/dev/null | tail -20 || echo "No secrets in history"' });
194
- tasks.push({ id: 'cred-env', description: 'Environment secrets', type: 'shell', command: 'env 2>/dev/null | grep -iE "(pass|secret|token|key|api)" | head -10 || echo "No env secrets"' });
195
- tasks.push({ id: 'cred-configs', description: 'Config file secrets', type: 'shell', command: 'find . -name "*.conf" -o -name "*.cfg" -o -name "*.ini" 2>/dev/null | head -10 | xargs grep -l -iE "(password|secret)" 2>/dev/null || echo "No config secrets"' });
196
- tasks.push({ id: 'cred-git', description: 'Git credential exposure', type: 'shell', command: 'git log -p --all -S password 2>/dev/null | head -50 || echo "No git password history"' });
197
- tasks.push({ id: 'cred-keychain', description: 'Keychain items (macOS)', type: 'shell', command: 'security dump-keychain 2>/dev/null | head -50 || echo "Keychain access denied"' });
198
- }
199
- // Service exploitation - REAL service checks
200
- if (lower.includes('service') || lower.includes('exploit') || lower.includes('attack')) {
201
- tasks.push({ id: 'svc-launchd', description: 'LaunchDaemons/Agents', type: 'shell', command: 'ls -la /Library/LaunchDaemons /Library/LaunchAgents ~/Library/LaunchAgents 2>/dev/null | head -30' });
202
- tasks.push({ id: 'svc-listening', description: 'All listening services', type: 'shell', command: 'lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null || netstat -tlnp 2>/dev/null || echo "Service scan complete"' });
203
- tasks.push({ id: 'svc-versions', description: 'Service versions', type: 'shell', command: 'which httpd nginx mysql postgres redis 2>/dev/null | xargs -I{} sh -c "{} --version 2>/dev/null || echo {} unknown"' });
204
- }
205
- // Persistence mechanisms - REAL persistence checks
206
- if (lower.includes('persist') || lower.includes('backdoor') || lower.includes('maintain')) {
207
- tasks.push({ id: 'persist-startup', description: 'Startup items', type: 'shell', command: 'ls -la /Library/StartupItems ~/Library/StartupItems 2>/dev/null; launchctl list 2>/dev/null | head -20' });
208
- tasks.push({ id: 'persist-login', description: 'Login items', type: 'shell', command: 'osascript -e "tell application \\"System Events\\" to get name of every login item" 2>/dev/null || echo "Login items unavailable"' });
209
- tasks.push({ id: 'persist-profiles', description: 'Shell profiles', type: 'shell', command: 'cat ~/.bash_profile ~/.bashrc ~/.zshrc 2>/dev/null | grep -E "(alias|export|source)" | head -20' });
210
- }
211
- // Lateral movement preparation - REAL lateral checks
212
- if (lower.includes('lateral') || lower.includes('pivot') || lower.includes('spread')) {
213
- tasks.push({ id: 'lateral-ssh', description: 'SSH known hosts', type: 'shell', command: 'cat ~/.ssh/known_hosts 2>/dev/null | cut -d" " -f1 | head -20 || echo "No known hosts"' });
214
- tasks.push({ id: 'lateral-shares', description: 'Network shares', type: 'shell', command: 'df -h 2>/dev/null | grep -E "^//" | head -10; smbutil statshares -a 2>/dev/null | head -10 || echo "No shares"' });
215
- tasks.push({ id: 'lateral-rdp', description: 'RDP/VNC services', type: 'shell', command: 'lsof -i :3389 -i :5900 2>/dev/null || echo "No RDP/VNC detected"' });
216
- }
217
- // Data exfiltration prep - REAL data discovery
218
- if (lower.includes('exfil') || lower.includes('data') || lower.includes('collect')) {
219
- tasks.push({ id: 'exfil-docs', description: 'Sensitive documents', type: 'shell', command: 'find ~ -type f \\( -name "*.pdf" -o -name "*.docx" -o -name "*.xlsx" \\) 2>/dev/null | head -20' });
220
- tasks.push({ id: 'exfil-db', description: 'Database files', type: 'shell', command: 'find . -type f \\( -name "*.db" -o -name "*.sqlite" -o -name "*.sql" \\) 2>/dev/null | head -20' });
221
- tasks.push({ id: 'exfil-keys', description: 'Private keys', type: 'shell', command: 'find ~ -type f \\( -name "*.pem" -o -name "*.key" -o -name "id_rsa" \\) 2>/dev/null | head -10' });
222
- tasks.push({ id: 'exfil-archive', description: 'Archives', type: 'shell', command: 'find ~ -type f \\( -name "*.zip" -o -name "*.tar*" -o -name "*.7z" \\) -size +1M 2>/dev/null | head -10' });
223
- }
224
- // Full offensive security assessment - combines all above
225
- if (lower.includes('full') || lower.includes('complete') || lower.includes('all')) {
226
- // Add all offensive tasks if not already added
227
- if (!tasks.some(t => t.id.startsWith('recon-'))) {
228
- tasks.push({ id: 'full-recon', description: 'Full reconnaissance', type: 'shell', command: 'echo "=== RECON ===" && ifconfig 2>/dev/null | head -20 && arp -a 2>/dev/null | head -10' });
229
- }
230
- if (!tasks.some(t => t.id.startsWith('enum-'))) {
231
- tasks.push({ id: 'full-enum', description: 'Full enumeration', type: 'shell', command: 'echo "=== ENUM ===" && whoami && id && groups 2>/dev/null' });
232
- }
233
- if (!tasks.some(t => t.id.startsWith('cred-'))) {
234
- tasks.push({ id: 'full-creds', description: 'Credential scan', type: 'shell', command: 'echo "=== CREDS ===" && find . -name ".env*" 2>/dev/null | head -5' });
235
- }
236
- }
237
- // Directory listing
238
- if (lower.includes('list') || lower.includes('ls') || lower.includes('dir')) {
239
- tasks.push({ id: 'list-dir', description: 'List directory', type: 'shell', command: 'ls -la' });
240
- }
241
- // Read file
242
- if (lower.includes('read') || lower.includes('show') || lower.includes('cat')) {
243
- const fileMatch = objective.match(/(?:read|show|cat)\s+(\S+)/i);
244
- if (fileMatch?.[1]) {
245
- tasks.push({ id: 'read-file', description: `Read ${fileMatch[1]}`, type: 'shell', command: `cat "${fileMatch[1]}" 2>&1 | head -100` });
246
- }
247
- }
248
- // Default tasks if none matched
249
- if (tasks.length === 0) {
250
- tasks.push({ id: 'pwd', description: 'Show current directory', type: 'shell', command: 'pwd' });
251
- tasks.push({ id: 'ls', description: 'List files', type: 'shell', command: 'ls -la' });
252
- tasks.push({ id: 'disk', description: 'Check disk usage', type: 'shell', command: 'du -sh . 2>/dev/null || echo "Unknown"' });
253
- }
254
- return { objective, tasks, estimatedSteps: tasks.length };
255
- }
256
- /**
257
- * Execute a single task - REAL execution
258
- */
259
- async executeTask(task) {
260
- const startTime = Date.now();
261
- try {
262
- let output;
263
- switch (task.type) {
264
- case 'shell':
265
- output = await this.executeShell(task.command || '');
266
- break;
267
- case 'file_read':
268
- output = await this.readFile(task.filePath || '');
269
- break;
270
- case 'file_write':
271
- output = await this.writeFile(task.filePath || '', task.content || '');
272
- break;
273
- case 'file_search':
274
- output = await this.searchFiles(task.pattern || '*');
275
- break;
276
- case 'analysis':
277
- output = await this.analyzeCode(task.filePath || '.');
278
- break;
279
- case 'composite':
280
- output = await this.executeComposite(task.subtasks || []);
281
- break;
282
- default:
283
- output = 'Unknown task type';
284
- }
285
- return {
286
- taskId: task.id,
287
- success: true,
288
- output,
289
- duration: Date.now() - startTime,
290
- timestamp: Date.now(),
291
- };
292
- }
293
- catch (error) {
294
- return {
295
- taskId: task.id,
296
- success: false,
297
- output: '',
298
- error: error instanceof Error ? error.message : String(error),
299
- duration: Date.now() - startTime,
300
- timestamp: Date.now(),
301
- };
302
- }
303
- }
304
- /**
305
- * Dry run a task (no actual execution)
306
- */
307
- dryRunTask(task) {
308
- return {
309
- taskId: task.id,
310
- success: true,
311
- output: `[DRY RUN] Would execute: ${task.command || task.type}`,
312
- duration: 0,
313
- timestamp: Date.now(),
314
- };
315
- }
316
- /**
317
- * Execute shell command - REAL
318
- */
319
- async executeShell(command) {
320
- return new Promise((resolve, reject) => {
321
- try {
322
- const output = execSync(command, {
323
- cwd: this.workingDir,
324
- encoding: 'utf-8',
325
- timeout: 60000,
326
- maxBuffer: 10 * 1024 * 1024,
327
- stdio: ['pipe', 'pipe', 'pipe'],
328
- });
329
- resolve(output);
330
- }
331
- catch (error) {
332
- // Command may fail but still produce output
333
- if (error && typeof error === 'object') {
334
- const execError = error;
335
- if (execError.stdout) {
336
- resolve(execError.stdout);
337
- }
338
- else if (execError.stderr) {
339
- resolve(execError.stderr);
340
- }
341
- else {
342
- reject(new Error(execError.message || 'Command failed'));
343
- }
344
- }
345
- else {
346
- reject(error);
347
- }
348
- }
349
- });
350
- }
351
- /**
352
- * Read file - REAL
353
- */
354
- async readFile(filePath) {
355
- const fullPath = path.resolve(this.workingDir, filePath);
356
- return fs.readFileSync(fullPath, 'utf-8');
357
- }
358
- /**
359
- * Write file - REAL
360
- */
361
- async writeFile(filePath, content) {
362
- const fullPath = path.resolve(this.workingDir, filePath);
363
- fs.writeFileSync(fullPath, content, 'utf-8');
364
- return `Written ${content.length} bytes to ${filePath}`;
365
- }
366
- /**
367
- * Search files - REAL
368
- */
369
- async searchFiles(pattern) {
370
- return this.executeShell(`find . -name "${pattern}" -type f 2>/dev/null | head -50`);
371
- }
372
- /**
373
- * Analyze code - REAL
374
- */
375
- async analyzeCode(targetPath) {
376
- const results = [];
377
- // Count files
378
- const fileCount = await this.executeShell(`find "${targetPath}" -type f -name "*.ts" -o -name "*.js" | wc -l`);
379
- results.push(`Files: ${fileCount.trim()}`);
380
- // Count lines
381
- const lineCount = await this.executeShell(`find "${targetPath}" -type f \\( -name "*.ts" -o -name "*.js" \\) | head -100 | xargs wc -l 2>/dev/null | tail -1`);
382
- results.push(`Lines: ${lineCount.trim()}`);
383
- return results.join('\n');
384
- }
385
- /**
386
- * Execute composite task - REAL
387
- */
388
- async executeComposite(subtasks) {
389
- const outputs = [];
390
- for (const subtask of subtasks) {
391
- const result = await this.executeTask(subtask);
392
- outputs.push(`[${subtask.id}] ${result.success ? '✓' : '✗'}: ${result.output.slice(0, 100)}`);
393
- }
394
- return outputs.join('\n');
395
- }
396
- /**
397
- * Generate summary - based on REAL results
398
- */
399
- generateSummary() {
400
- const lines = ['EXECUTION SUMMARY', '─'.repeat(40)];
401
- for (const result of this.results) {
402
- const icon = result.success ? '✓' : '✗';
403
- lines.push(`${icon} ${result.taskId} (${result.duration}ms)`);
404
- if (result.error) {
405
- lines.push(` Error: ${result.error}`);
406
- }
407
- }
408
- lines.push('─'.repeat(40));
409
- const success = this.results.filter(r => r.success).length;
410
- const total = this.results.length;
411
- lines.push(`Result: ${success}/${total} tasks completed`);
412
- return lines.join('\n');
413
- }
414
- /**
415
- * Print to console
416
- */
417
- print(message) {
418
- console.log(message);
419
- }
420
- /**
421
- * Print truncated output
422
- */
423
- printOutput(output, maxLines) {
424
- const lines = output.trim().split('\n');
425
- for (let i = 0; i < Math.min(lines.length, maxLines); i++) {
426
- this.print(` ${lines[i]}`);
427
- }
428
- if (lines.length > maxLines) {
429
- this.print(` ... (${lines.length - maxLines} more lines)`);
430
- }
431
- }
432
- /**
433
- * Stop execution
434
- */
435
- stop() {
436
- this.running = false;
437
- this.print('\n[Orchestrator] Stopping...');
438
- }
439
- /**
440
- * Static report generator
441
- */
442
- static generateReport(result) {
443
- let report = '═'.repeat(70) + '\n';
444
- report += 'REAL EXECUTION REPORT\n';
445
- report += '═'.repeat(70) + '\n\n';
446
- report += `Objective: ${result.objective}\n`;
447
- report += `Status: ${result.success ? 'SUCCESS' : 'FAILED'}\n`;
448
- report += `Duration: ${result.totalDuration}ms\n\n`;
449
- report += '─── Tasks ───\n';
450
- for (const r of result.results) {
451
- const icon = r.success ? '✓' : '✗';
452
- report += `${icon} ${r.taskId} (${r.duration}ms)\n`;
453
- if (r.output.trim()) {
454
- const preview = r.output.trim().split('\n')[0]?.substring(0, 60) || '';
455
- report += ` → ${preview}\n`;
456
- }
457
- if (r.error) {
458
- report += ` Error: ${r.error}\n`;
459
- }
460
- }
461
- report += '\n─── Summary ───\n';
462
- report += `Completed: ${result.completedTasks}/${result.results.length}\n`;
463
- report += `Failed: ${result.failedTasks}\n`;
464
- report += '\n' + '═'.repeat(70) + '\n';
465
- return report;
466
- }
467
- }
468
- /**
469
- * Convenience function for quick execution
470
- */
471
- export async function executeRealTask(objective, options) {
472
- const orchestrator = new UnifiedRealOrchestrator(options?.workingDir);
473
- return orchestrator.execute(objective, options);
474
- }
475
- //# sourceMappingURL=unifiedRealOrchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unifiedRealOrchestrator.js","sourceRoot":"","sources":["../../src/core/unifiedRealOrchestrator.ts"],"names":[],"mappings":"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"}