@wundr.io/cli 1.0.12 → 1.0.13

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 (234) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai/ai-service.d.ts +152 -0
  3. package/dist/ai/ai-service.d.ts.map +1 -0
  4. package/dist/ai/ai-service.js +430 -0
  5. package/dist/ai/ai-service.js.map +1 -0
  6. package/dist/ai/claude-client.d.ts +130 -0
  7. package/dist/ai/claude-client.d.ts.map +1 -0
  8. package/dist/ai/claude-client.js +340 -0
  9. package/dist/ai/claude-client.js.map +1 -0
  10. package/dist/ai/conversation-manager.d.ts +164 -0
  11. package/dist/ai/conversation-manager.d.ts.map +1 -0
  12. package/dist/ai/conversation-manager.js +614 -0
  13. package/dist/ai/conversation-manager.js.map +1 -0
  14. package/dist/ai/index.d.ts +5 -0
  15. package/dist/ai/index.d.ts.map +1 -0
  16. package/dist/ai/index.js +8 -0
  17. package/dist/ai/index.js.map +1 -0
  18. package/dist/cli.d.ts +36 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +192 -0
  21. package/dist/cli.js.map +1 -0
  22. package/dist/commands/ai.d.ts +89 -0
  23. package/dist/commands/ai.d.ts.map +1 -0
  24. package/dist/commands/ai.js +954 -0
  25. package/dist/commands/ai.js.map +1 -0
  26. package/dist/commands/alignment.d.ts +78 -0
  27. package/dist/commands/alignment.d.ts.map +1 -0
  28. package/dist/commands/alignment.js +817 -0
  29. package/dist/commands/alignment.js.map +1 -0
  30. package/dist/commands/analyze-optimized.d.ts +14 -0
  31. package/dist/commands/analyze-optimized.d.ts.map +1 -0
  32. package/dist/commands/analyze-optimized.js +609 -0
  33. package/dist/commands/analyze-optimized.js.map +1 -0
  34. package/dist/commands/analyze.d.ts +65 -0
  35. package/dist/commands/analyze.d.ts.map +1 -0
  36. package/dist/commands/analyze.js +435 -0
  37. package/dist/commands/analyze.js.map +1 -0
  38. package/dist/commands/batch.d.ts +93 -0
  39. package/dist/commands/batch.d.ts.map +1 -0
  40. package/dist/commands/batch.js +854 -0
  41. package/dist/commands/batch.js.map +1 -0
  42. package/dist/commands/chat.d.ts +72 -0
  43. package/dist/commands/chat.d.ts.map +1 -0
  44. package/dist/commands/chat.js +678 -0
  45. package/dist/commands/chat.js.map +1 -0
  46. package/dist/commands/claude-init.d.ts +28 -0
  47. package/dist/commands/claude-init.d.ts.map +1 -0
  48. package/dist/commands/claude-init.js +591 -0
  49. package/dist/commands/claude-init.js.map +1 -0
  50. package/dist/commands/claude-setup.d.ts +119 -0
  51. package/dist/commands/claude-setup.d.ts.map +1 -0
  52. package/dist/commands/claude-setup.js +1079 -0
  53. package/dist/commands/claude-setup.js.map +1 -0
  54. package/dist/commands/computer-setup.d.ts +8 -0
  55. package/dist/commands/computer-setup.d.ts.map +1 -0
  56. package/dist/commands/computer-setup.js +877 -0
  57. package/dist/commands/computer-setup.js.map +1 -0
  58. package/dist/commands/create-command.d.ts +7 -0
  59. package/dist/commands/create-command.d.ts.map +1 -0
  60. package/dist/commands/create-command.js +158 -0
  61. package/dist/commands/create-command.js.map +1 -0
  62. package/dist/commands/create.d.ts +74 -0
  63. package/dist/commands/create.d.ts.map +1 -0
  64. package/dist/commands/create.js +556 -0
  65. package/dist/commands/create.js.map +1 -0
  66. package/dist/commands/dashboard.d.ts +91 -0
  67. package/dist/commands/dashboard.d.ts.map +1 -0
  68. package/dist/commands/dashboard.js +538 -0
  69. package/dist/commands/dashboard.js.map +1 -0
  70. package/dist/commands/govern.d.ts +70 -0
  71. package/dist/commands/govern.d.ts.map +1 -0
  72. package/dist/commands/govern.js +481 -0
  73. package/dist/commands/govern.js.map +1 -0
  74. package/dist/commands/governance.d.ts +17 -0
  75. package/dist/commands/governance.d.ts.map +1 -0
  76. package/dist/commands/governance.js +703 -0
  77. package/dist/commands/governance.js.map +1 -0
  78. package/dist/commands/guardian.d.ts +20 -0
  79. package/dist/commands/guardian.d.ts.map +1 -0
  80. package/dist/commands/guardian.js +597 -0
  81. package/dist/commands/guardian.js.map +1 -0
  82. package/dist/commands/init.d.ts +59 -0
  83. package/dist/commands/init.d.ts.map +1 -0
  84. package/dist/commands/init.js +650 -0
  85. package/dist/commands/init.js.map +1 -0
  86. package/dist/commands/orchestrator.d.ts +7 -0
  87. package/dist/commands/orchestrator.d.ts.map +1 -0
  88. package/dist/commands/orchestrator.js +578 -0
  89. package/dist/commands/orchestrator.js.map +1 -0
  90. package/dist/commands/performance-optimizer.d.ts +30 -0
  91. package/dist/commands/performance-optimizer.d.ts.map +1 -0
  92. package/dist/commands/performance-optimizer.js +650 -0
  93. package/dist/commands/performance-optimizer.js.map +1 -0
  94. package/dist/commands/plugins.d.ts +87 -0
  95. package/dist/commands/plugins.d.ts.map +1 -0
  96. package/dist/commands/plugins.js +685 -0
  97. package/dist/commands/plugins.js.map +1 -0
  98. package/dist/commands/rag.d.ts +7 -0
  99. package/dist/commands/rag.d.ts.map +1 -0
  100. package/dist/commands/rag.js +751 -0
  101. package/dist/commands/rag.js.map +1 -0
  102. package/dist/commands/session.d.ts +41 -0
  103. package/dist/commands/session.d.ts.map +1 -0
  104. package/dist/commands/session.js +441 -0
  105. package/dist/commands/session.js.map +1 -0
  106. package/dist/commands/setup.d.ts +24 -0
  107. package/dist/commands/setup.d.ts.map +1 -0
  108. package/dist/commands/setup.js +172 -0
  109. package/dist/commands/setup.js.map +1 -0
  110. package/dist/commands/test-init.d.ts +9 -0
  111. package/dist/commands/test-init.d.ts.map +1 -0
  112. package/dist/commands/test-init.js +222 -0
  113. package/dist/commands/test-init.js.map +1 -0
  114. package/dist/commands/test.d.ts +25 -0
  115. package/dist/commands/test.d.ts.map +1 -0
  116. package/dist/commands/test.js +217 -0
  117. package/dist/commands/test.js.map +1 -0
  118. package/dist/commands/watch.d.ts +76 -0
  119. package/dist/commands/watch.d.ts.map +1 -0
  120. package/dist/commands/watch.js +613 -0
  121. package/dist/commands/watch.js.map +1 -0
  122. package/dist/commands/worktree.d.ts +63 -0
  123. package/dist/commands/worktree.d.ts.map +1 -0
  124. package/dist/commands/worktree.js +774 -0
  125. package/dist/commands/worktree.js.map +1 -0
  126. package/dist/context/context-manager.d.ts +155 -0
  127. package/dist/context/context-manager.d.ts.map +1 -0
  128. package/dist/context/context-manager.js +383 -0
  129. package/dist/context/context-manager.js.map +1 -0
  130. package/dist/context/index.d.ts +3 -0
  131. package/dist/context/index.d.ts.map +1 -0
  132. package/dist/context/index.js +6 -0
  133. package/dist/context/index.js.map +1 -0
  134. package/dist/context/session-manager.d.ts +207 -0
  135. package/dist/context/session-manager.d.ts.map +1 -0
  136. package/dist/context/session-manager.js +686 -0
  137. package/dist/context/session-manager.js.map +1 -0
  138. package/dist/framework/command-interface.d.ts +349 -0
  139. package/dist/framework/command-interface.d.ts.map +1 -0
  140. package/dist/framework/command-interface.js +101 -0
  141. package/dist/framework/command-interface.js.map +1 -0
  142. package/dist/framework/command-registry.d.ts +173 -0
  143. package/dist/framework/command-registry.d.ts.map +1 -0
  144. package/dist/framework/command-registry.js +734 -0
  145. package/dist/framework/command-registry.js.map +1 -0
  146. package/dist/framework/completion-exporter.d.ts +79 -0
  147. package/dist/framework/completion-exporter.d.ts.map +1 -0
  148. package/dist/framework/completion-exporter.js +259 -0
  149. package/dist/framework/completion-exporter.js.map +1 -0
  150. package/dist/framework/debug-logger.d.ts +163 -0
  151. package/dist/framework/debug-logger.d.ts.map +1 -0
  152. package/dist/framework/debug-logger.js +373 -0
  153. package/dist/framework/debug-logger.js.map +1 -0
  154. package/dist/framework/error-handler.d.ts +196 -0
  155. package/dist/framework/error-handler.d.ts.map +1 -0
  156. package/dist/framework/error-handler.js +613 -0
  157. package/dist/framework/error-handler.js.map +1 -0
  158. package/dist/framework/help-generator.d.ts +78 -0
  159. package/dist/framework/help-generator.d.ts.map +1 -0
  160. package/dist/framework/help-generator.js +414 -0
  161. package/dist/framework/help-generator.js.map +1 -0
  162. package/dist/framework/index.d.ts +62 -0
  163. package/dist/framework/index.d.ts.map +1 -0
  164. package/dist/framework/index.js +95 -0
  165. package/dist/framework/index.js.map +1 -0
  166. package/dist/framework/interactive-repl.d.ts +138 -0
  167. package/dist/framework/interactive-repl.d.ts.map +1 -0
  168. package/dist/framework/interactive-repl.js +567 -0
  169. package/dist/framework/interactive-repl.js.map +1 -0
  170. package/dist/framework/output-formatter.d.ts +274 -0
  171. package/dist/framework/output-formatter.d.ts.map +1 -0
  172. package/dist/framework/output-formatter.js +545 -0
  173. package/dist/framework/output-formatter.js.map +1 -0
  174. package/dist/framework/progress-manager.d.ts +192 -0
  175. package/dist/framework/progress-manager.d.ts.map +1 -0
  176. package/dist/framework/progress-manager.js +408 -0
  177. package/dist/framework/progress-manager.js.map +1 -0
  178. package/dist/index.d.ts +8 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +51 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/interactive/interactive-mode.d.ts +76 -0
  183. package/dist/interactive/interactive-mode.d.ts.map +1 -0
  184. package/dist/interactive/interactive-mode.js +732 -0
  185. package/dist/interactive/interactive-mode.js.map +1 -0
  186. package/dist/nlp/command-mapper.d.ts +174 -0
  187. package/dist/nlp/command-mapper.d.ts.map +1 -0
  188. package/dist/nlp/command-mapper.js +624 -0
  189. package/dist/nlp/command-mapper.js.map +1 -0
  190. package/dist/nlp/command-parser.d.ts +106 -0
  191. package/dist/nlp/command-parser.d.ts.map +1 -0
  192. package/dist/nlp/command-parser.js +417 -0
  193. package/dist/nlp/command-parser.js.map +1 -0
  194. package/dist/nlp/index.d.ts +5 -0
  195. package/dist/nlp/index.d.ts.map +1 -0
  196. package/dist/nlp/index.js +8 -0
  197. package/dist/nlp/index.js.map +1 -0
  198. package/dist/nlp/intent-classifier.d.ts +59 -0
  199. package/dist/nlp/intent-classifier.d.ts.map +1 -0
  200. package/dist/nlp/intent-classifier.js +384 -0
  201. package/dist/nlp/intent-classifier.js.map +1 -0
  202. package/dist/nlp/intent-parser.d.ts +152 -0
  203. package/dist/nlp/intent-parser.d.ts.map +1 -0
  204. package/dist/nlp/intent-parser.js +746 -0
  205. package/dist/nlp/intent-parser.js.map +1 -0
  206. package/dist/plugins/plugin-manager.d.ts +121 -0
  207. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  208. package/dist/plugins/plugin-manager.js +606 -0
  209. package/dist/plugins/plugin-manager.js.map +1 -0
  210. package/dist/types/index.d.ts +224 -0
  211. package/dist/types/index.d.ts.map +1 -0
  212. package/dist/types/index.js +3 -0
  213. package/dist/types/index.js.map +1 -0
  214. package/dist/utils/backup-rollback-manager.d.ts +72 -0
  215. package/dist/utils/backup-rollback-manager.d.ts.map +1 -0
  216. package/dist/utils/backup-rollback-manager.js +288 -0
  217. package/dist/utils/backup-rollback-manager.js.map +1 -0
  218. package/dist/utils/claude-config-installer.d.ts +98 -0
  219. package/dist/utils/claude-config-installer.d.ts.map +1 -0
  220. package/dist/utils/claude-config-installer.js +678 -0
  221. package/dist/utils/claude-config-installer.js.map +1 -0
  222. package/dist/utils/config-manager.d.ts +73 -0
  223. package/dist/utils/config-manager.d.ts.map +1 -0
  224. package/dist/utils/config-manager.js +339 -0
  225. package/dist/utils/config-manager.js.map +1 -0
  226. package/dist/utils/error-handler.d.ts +46 -0
  227. package/dist/utils/error-handler.d.ts.map +1 -0
  228. package/dist/utils/error-handler.js +169 -0
  229. package/dist/utils/error-handler.js.map +1 -0
  230. package/dist/utils/logger.d.ts +25 -0
  231. package/dist/utils/logger.d.ts.map +1 -0
  232. package/dist/utils/logger.js +105 -0
  233. package/dist/utils/logger.js.map +1 -0
  234. package/package.json +23 -23
@@ -0,0 +1,578 @@
1
+ "use strict";
2
+ /**
3
+ * Orchestrator Daemon CLI Commands
4
+ * Manages the Orchestrator Daemon for agent orchestration
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createOrchestratorCommand = createOrchestratorCommand;
8
+ const tslib_1 = require("tslib");
9
+ const fs = tslib_1.__importStar(require("fs/promises"));
10
+ const fs_1 = require("fs");
11
+ const os = tslib_1.__importStar(require("os"));
12
+ const path = tslib_1.__importStar(require("path"));
13
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
14
+ const commander_1 = require("commander");
15
+ const ora_1 = tslib_1.__importDefault(require("ora"));
16
+ const yaml_1 = tslib_1.__importDefault(require("yaml"));
17
+ // Constants
18
+ const ORCHESTRATOR_CONFIG_DIR = path.join(os.homedir(), '.wundr', 'orchestrator-daemon');
19
+ const ORCHESTRATOR_CONFIG_FILE = path.join(ORCHESTRATOR_CONFIG_DIR, 'config.yaml');
20
+ const ORCHESTRATOR_PID_FILE = path.join(ORCHESTRATOR_CONFIG_DIR, 'daemon.pid');
21
+ const ORCHESTRATOR_LOG_FILE = path.join(ORCHESTRATOR_CONFIG_DIR, 'daemon.log');
22
+ // Utility functions
23
+ function getDefaultConfig() {
24
+ return {
25
+ daemon: {
26
+ port: 8787,
27
+ host: '127.0.0.1',
28
+ name: 'orchestrator-daemon',
29
+ maxSessions: 100,
30
+ heartbeatInterval: 30000,
31
+ shutdownTimeout: 10000,
32
+ },
33
+ identity: {
34
+ name: 'Orchestrator',
35
+ email: 'orchestrator@wundr.local',
36
+ slackHandle: '@orchestrator',
37
+ },
38
+ subsystems: {
39
+ triage: {
40
+ memoryBankPath: path.join(ORCHESTRATOR_CONFIG_DIR, 'memory-bank'),
41
+ enableRAG: false,
42
+ },
43
+ intervention: {
44
+ enabled: true,
45
+ autoRollbackOnCritical: false,
46
+ },
47
+ telemetry: {
48
+ enabled: true,
49
+ flushInterval: 10000,
50
+ },
51
+ },
52
+ safety: {
53
+ autoApprovePatterns: ['read|cat|ls|grep|find', 'npm test|yarn test|jest'],
54
+ alwaysRejectPatterns: ['rm\\s+-rf\\s+/', 'git\\s+push.*--force'],
55
+ escalationPatterns: ['deploy.*prod', 'password|secret|token|api.?key'],
56
+ },
57
+ budget: {
58
+ dailyLimit: 1000000,
59
+ monthlyLimit: 20000000,
60
+ warningThreshold: 0.8,
61
+ criticalThreshold: 0.95,
62
+ },
63
+ };
64
+ }
65
+ async function loadConfig() {
66
+ try {
67
+ if ((0, fs_1.existsSync)(ORCHESTRATOR_CONFIG_FILE)) {
68
+ const content = await fs.readFile(ORCHESTRATOR_CONFIG_FILE, 'utf-8');
69
+ const parsed = yaml_1.default.parse(content);
70
+ return { ...getDefaultConfig(), ...parsed };
71
+ }
72
+ }
73
+ catch (error) {
74
+ // Fall through to default
75
+ }
76
+ return getDefaultConfig();
77
+ }
78
+ async function saveConfig(config) {
79
+ await fs.mkdir(ORCHESTRATOR_CONFIG_DIR, { recursive: true });
80
+ await fs.writeFile(ORCHESTRATOR_CONFIG_FILE, yaml_1.default.stringify(config), 'utf-8');
81
+ }
82
+ async function ensureConfigDir() {
83
+ if (!(0, fs_1.existsSync)(ORCHESTRATOR_CONFIG_DIR)) {
84
+ await fs.mkdir(ORCHESTRATOR_CONFIG_DIR, { recursive: true });
85
+ }
86
+ }
87
+ async function getDaemonStatus() {
88
+ const status = { running: false };
89
+ try {
90
+ if ((0, fs_1.existsSync)(ORCHESTRATOR_PID_FILE)) {
91
+ const pidContent = await fs.readFile(ORCHESTRATOR_PID_FILE, 'utf-8');
92
+ const pid = parseInt(pidContent.trim(), 10);
93
+ // Check if process is running
94
+ try {
95
+ process.kill(pid, 0);
96
+ status.running = true;
97
+ status.pid = pid;
98
+ // Try to read status from socket or API
99
+ const config = await loadConfig();
100
+ status.port = config.daemon.port;
101
+ status.host = config.daemon.host;
102
+ // Read additional status info if available
103
+ const statusFile = path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json');
104
+ if ((0, fs_1.existsSync)(statusFile)) {
105
+ const statusContent = await fs.readFile(statusFile, 'utf-8');
106
+ const statusData = JSON.parse(statusContent);
107
+ status.uptime = formatUptime(statusData.uptime);
108
+ status.sessionCount = statusData.sessionCount ?? 0;
109
+ status.queueDepth = statusData.queueDepth ?? 0;
110
+ status.health = statusData.health ?? 'unknown';
111
+ status.subsystems = statusData.subsystems ?? {};
112
+ }
113
+ }
114
+ catch {
115
+ // Process not running, clean up stale PID file
116
+ await fs.unlink(ORCHESTRATOR_PID_FILE).catch(() => { });
117
+ }
118
+ }
119
+ }
120
+ catch (error) {
121
+ // Ignore errors
122
+ }
123
+ return status;
124
+ }
125
+ function formatUptime(ms) {
126
+ const seconds = Math.floor(ms / 1000);
127
+ const minutes = Math.floor(seconds / 60);
128
+ const hours = Math.floor(minutes / 60);
129
+ const days = Math.floor(hours / 24);
130
+ if (days > 0) {
131
+ return `${days}d ${hours % 24}h ${minutes % 60}m`;
132
+ }
133
+ if (hours > 0) {
134
+ return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
135
+ }
136
+ if (minutes > 0) {
137
+ return `${minutes}m ${seconds % 60}s`;
138
+ }
139
+ return `${seconds}s`;
140
+ }
141
+ // Create Orchestrator command
142
+ function createOrchestratorCommand() {
143
+ const command = new commander_1.Command('orchestrator')
144
+ .description('Manage the Orchestrator Daemon for agent orchestration')
145
+ .addHelpText('after', chalk_1.default.gray(`
146
+ Examples:
147
+ ${chalk_1.default.green('wundr orchestrator start')} Start the Orchestrator Daemon
148
+ ${chalk_1.default.green('wundr orchestrator start --port 9000')} Start on custom port
149
+ ${chalk_1.default.green('wundr orchestrator status')} Check daemon status
150
+ ${chalk_1.default.green('wundr orchestrator stop')} Stop the daemon gracefully
151
+ ${chalk_1.default.green('wundr orchestrator config show')} View current configuration
152
+ ${chalk_1.default.green('wundr orchestrator config set daemon.port=9000')} Update configuration
153
+ `));
154
+ // Start command
155
+ command
156
+ .command('start')
157
+ .description('Start the Orchestrator Daemon')
158
+ .option('-p, --port <number>', 'Port to listen on')
159
+ .option('-c, --config <path>', 'Path to configuration file')
160
+ .option('-v, --verbose', 'Enable verbose logging')
161
+ .option('--detach', 'Run daemon in background (detached mode)')
162
+ .action(async (options) => {
163
+ await startDaemon(options);
164
+ });
165
+ // Status command (default)
166
+ command
167
+ .command('status', { isDefault: true })
168
+ .description('Check Orchestrator Daemon status')
169
+ .option('--json', 'Output as JSON')
170
+ .action(async (options) => {
171
+ await showStatus(options);
172
+ });
173
+ // Stop command
174
+ command
175
+ .command('stop')
176
+ .description('Stop the Orchestrator Daemon gracefully')
177
+ .option('-f, --force', 'Force immediate termination')
178
+ .option('-t, --timeout <ms>', 'Shutdown timeout in milliseconds', '10000')
179
+ .action(async (options) => {
180
+ await stopDaemon(options);
181
+ });
182
+ // Config command group
183
+ const configCmd = command
184
+ .command('config')
185
+ .description('View or edit Orchestrator configuration');
186
+ configCmd
187
+ .command('show')
188
+ .description('Display current configuration')
189
+ .option('--json', 'Output as JSON instead of YAML')
190
+ .action(async (options) => {
191
+ await showConfig(options);
192
+ });
193
+ configCmd
194
+ .command('set <key=value>')
195
+ .description('Set a configuration value (e.g., daemon.port=9000)')
196
+ .action(async (keyValue) => {
197
+ await setConfig(keyValue);
198
+ });
199
+ configCmd
200
+ .command('reset')
201
+ .description('Reset configuration to defaults')
202
+ .option('--force', 'Skip confirmation')
203
+ .action(async (options) => {
204
+ await resetConfig(options);
205
+ });
206
+ // Logs command
207
+ command
208
+ .command('logs')
209
+ .description('View Orchestrator Daemon logs')
210
+ .option('-f, --follow', 'Follow log output')
211
+ .option('-n, --lines <number>', 'Number of lines to show', '50')
212
+ .action(async (options) => {
213
+ await viewLogs(options);
214
+ });
215
+ return command;
216
+ }
217
+ // Command implementations
218
+ async function startDaemon(options) {
219
+ const spinner = (0, ora_1.default)('Starting Orchestrator Daemon...').start();
220
+ try {
221
+ await ensureConfigDir();
222
+ // Check if already running
223
+ const currentStatus = await getDaemonStatus();
224
+ if (currentStatus.running) {
225
+ spinner.fail(`Orchestrator Daemon is already running (PID: ${currentStatus.pid}, port: ${currentStatus.port})`);
226
+ return;
227
+ }
228
+ // Load configuration
229
+ let config;
230
+ if (options.config && (0, fs_1.existsSync)(options.config)) {
231
+ const content = await fs.readFile(options.config, 'utf-8');
232
+ config = { ...getDefaultConfig(), ...yaml_1.default.parse(content) };
233
+ spinner.text = `Loading config from ${options.config}...`;
234
+ }
235
+ else {
236
+ config = await loadConfig();
237
+ }
238
+ // Apply CLI overrides
239
+ if (options.port) {
240
+ config.daemon.port = parseInt(options.port, 10);
241
+ }
242
+ // Save current config for daemon use
243
+ await saveConfig(config);
244
+ spinner.text = 'Initializing Orchestrator Daemon subsystems...';
245
+ // Dynamically import OrchestratorDaemon at runtime to avoid TypeScript rootDir issues
246
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
+ let daemon;
248
+ try {
249
+ // Use require for CommonJS compatibility or dynamic import for ESM
250
+ const daemonModulePath = require
251
+ .resolve('@wundr/orchestrator-daemon')
252
+ .replace(/\.js$/, '');
253
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
254
+ const daemonModule = require(daemonModulePath);
255
+ const OrchestratorDaemon = daemonModule.OrchestratorDaemon ||
256
+ daemonModule.default?.OrchestratorDaemon;
257
+ if (!OrchestratorDaemon) {
258
+ throw new Error('OrchestratorDaemon class not found in module');
259
+ }
260
+ daemon = new OrchestratorDaemon({
261
+ name: config.daemon.name,
262
+ port: config.daemon.port,
263
+ host: config.daemon.host,
264
+ maxSessions: config.daemon.maxSessions,
265
+ heartbeatInterval: config.daemon.heartbeatInterval,
266
+ shutdownTimeout: config.daemon.shutdownTimeout,
267
+ verbose: options.verbose ?? false,
268
+ });
269
+ }
270
+ catch (importError) {
271
+ // Fallback: try to spawn the daemon as a subprocess
272
+ spinner.fail('Failed to load Orchestrator Daemon module');
273
+ console.error(chalk_1.default.red('\nThe Orchestrator Daemon module could not be loaded.'));
274
+ console.error(chalk_1.default.gray('Options to resolve:'));
275
+ console.error(chalk_1.default.white(' 1. Install: npm install @wundr/orchestrator-daemon'));
276
+ console.error(chalk_1.default.white(' 2. Or build from source: cd scripts/orchestrator-daemon && npm run build'));
277
+ console.error(chalk_1.default.gray(`\nError: ${importError instanceof Error ? importError.message : String(importError)}`));
278
+ return;
279
+ }
280
+ // Write PID file
281
+ await fs.writeFile(ORCHESTRATOR_PID_FILE, String(process.pid));
282
+ // Set up status updates
283
+ const updateStatus = () => {
284
+ const status = daemon.getStatus();
285
+ const statusData = {
286
+ uptime: status.uptime,
287
+ sessionCount: status.metrics?.activeSessions ?? 0,
288
+ queueDepth: 0,
289
+ health: status.status,
290
+ subsystems: Object.fromEntries(Object.entries(status.subsystems ?? {}).map(([k, v]) => [
291
+ k,
292
+ v?.status ?? 'unknown',
293
+ ])),
294
+ };
295
+ fs.writeFile(path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json'), JSON.stringify(statusData, null, 2)).catch(() => { });
296
+ };
297
+ daemon.on('healthCheck', updateStatus);
298
+ // Set up cleanup handlers
299
+ const cleanup = async () => {
300
+ await fs.unlink(ORCHESTRATOR_PID_FILE).catch(() => { });
301
+ await fs
302
+ .unlink(path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json'))
303
+ .catch(() => { });
304
+ };
305
+ daemon.on('stopped', cleanup);
306
+ // Start daemon
307
+ await daemon.start();
308
+ spinner.succeed(`Orchestrator Daemon started successfully on ${config.daemon.host}:${config.daemon.port}`);
309
+ console.log(chalk_1.default.gray('\nDaemon Information:'));
310
+ console.log(chalk_1.default.white(` PID: ${process.pid}`));
311
+ console.log(chalk_1.default.white(` Port: ${config.daemon.port}`));
312
+ console.log(chalk_1.default.white(` Host: ${config.daemon.host}`));
313
+ console.log(chalk_1.default.white(` Config: ${ORCHESTRATOR_CONFIG_FILE}`));
314
+ console.log(chalk_1.default.white(` Logs: ${ORCHESTRATOR_LOG_FILE}`));
315
+ if (options.verbose) {
316
+ console.log(chalk_1.default.gray('\nVerbose mode enabled - showing detailed logs'));
317
+ }
318
+ console.log(chalk_1.default.green('\nPress Ctrl+C to stop the daemon.\n'));
319
+ // Keep process running
320
+ if (!options.detach) {
321
+ await new Promise(resolve => {
322
+ daemon.on('stopped', resolve);
323
+ });
324
+ }
325
+ }
326
+ catch (error) {
327
+ spinner.fail('Failed to start Orchestrator Daemon');
328
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
329
+ }
330
+ }
331
+ async function showStatus(options) {
332
+ const spinner = (0, ora_1.default)('Checking Orchestrator Daemon status...').start();
333
+ try {
334
+ const status = await getDaemonStatus();
335
+ const config = await loadConfig();
336
+ spinner.stop();
337
+ if (options.json) {
338
+ console.log(JSON.stringify({
339
+ ...status,
340
+ config: {
341
+ port: config.daemon.port,
342
+ host: config.daemon.host,
343
+ maxSessions: config.daemon.maxSessions,
344
+ },
345
+ }, null, 2));
346
+ return;
347
+ }
348
+ console.log(chalk_1.default.cyan('\nOrchestrator Daemon Status\n'));
349
+ console.log(chalk_1.default.gray('='.repeat(50)));
350
+ if (status.running) {
351
+ console.log(chalk_1.default.green('Status: RUNNING'));
352
+ console.log(chalk_1.default.white(`PID: ${status.pid}`));
353
+ console.log(chalk_1.default.white(`Host: ${status.host}:${status.port}`));
354
+ if (status.uptime) {
355
+ console.log(chalk_1.default.white(`Uptime: ${status.uptime}`));
356
+ }
357
+ if (status.sessionCount !== undefined) {
358
+ console.log(chalk_1.default.white(`Sessions: ${status.sessionCount}`));
359
+ }
360
+ if (status.queueDepth !== undefined) {
361
+ console.log(chalk_1.default.white(`Queue Depth: ${status.queueDepth}`));
362
+ }
363
+ if (status.health) {
364
+ const healthColor = status.health === 'healthy'
365
+ ? chalk_1.default.green
366
+ : status.health === 'degraded'
367
+ ? chalk_1.default.yellow
368
+ : chalk_1.default.red;
369
+ console.log(healthColor(`Health: ${status.health.toUpperCase()}`));
370
+ }
371
+ if (status.subsystems && Object.keys(status.subsystems).length > 0) {
372
+ console.log(chalk_1.default.gray('\nSubsystems:'));
373
+ for (const [name, state] of Object.entries(status.subsystems)) {
374
+ const stateColor = state === 'running'
375
+ ? chalk_1.default.green
376
+ : state === 'error'
377
+ ? chalk_1.default.red
378
+ : chalk_1.default.yellow;
379
+ console.log(` ${chalk_1.default.white(name.padEnd(15))} ${stateColor(state)}`);
380
+ }
381
+ }
382
+ }
383
+ else {
384
+ console.log(chalk_1.default.yellow('Status: STOPPED'));
385
+ console.log(chalk_1.default.gray('\nDaemon is not running.'));
386
+ console.log(chalk_1.default.gray('Start it with: wundr orchestrator start'));
387
+ }
388
+ console.log(chalk_1.default.gray('\n' + '='.repeat(50)));
389
+ console.log(chalk_1.default.gray(`Config: ${ORCHESTRATOR_CONFIG_FILE}`));
390
+ console.log('');
391
+ }
392
+ catch (error) {
393
+ spinner.fail('Failed to get daemon status');
394
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
395
+ }
396
+ }
397
+ async function stopDaemon(options) {
398
+ const spinner = (0, ora_1.default)('Stopping Orchestrator Daemon...').start();
399
+ try {
400
+ const status = await getDaemonStatus();
401
+ if (!status.running || !status.pid) {
402
+ spinner.info('Orchestrator Daemon is not running');
403
+ return;
404
+ }
405
+ const pid = status.pid;
406
+ const timeout = parseInt(options.timeout ?? '10000', 10);
407
+ if (options.force) {
408
+ spinner.text = 'Force stopping daemon...';
409
+ process.kill(pid, 'SIGKILL');
410
+ await fs.unlink(ORCHESTRATOR_PID_FILE).catch(() => { });
411
+ await fs
412
+ .unlink(path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json'))
413
+ .catch(() => { });
414
+ spinner.succeed('Orchestrator Daemon force stopped');
415
+ return;
416
+ }
417
+ // Send SIGTERM for graceful shutdown
418
+ spinner.text = `Sending shutdown signal (timeout: ${timeout}ms)...`;
419
+ process.kill(pid, 'SIGTERM');
420
+ // Wait for process to exit
421
+ const startTime = Date.now();
422
+ while (Date.now() - startTime < timeout) {
423
+ try {
424
+ process.kill(pid, 0);
425
+ await new Promise(resolve => setTimeout(resolve, 500));
426
+ }
427
+ catch {
428
+ // Process exited
429
+ await fs.unlink(ORCHESTRATOR_PID_FILE).catch(() => { });
430
+ await fs
431
+ .unlink(path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json'))
432
+ .catch(() => { });
433
+ spinner.succeed('Orchestrator Daemon stopped gracefully');
434
+ return;
435
+ }
436
+ }
437
+ // Timeout reached, force kill
438
+ spinner.text = 'Graceful shutdown timed out, forcing stop...';
439
+ process.kill(pid, 'SIGKILL');
440
+ await fs.unlink(ORCHESTRATOR_PID_FILE).catch(() => { });
441
+ await fs
442
+ .unlink(path.join(ORCHESTRATOR_CONFIG_DIR, 'status.json'))
443
+ .catch(() => { });
444
+ spinner.warn('Orchestrator Daemon stopped (forced after timeout)');
445
+ }
446
+ catch (error) {
447
+ spinner.fail('Failed to stop Orchestrator Daemon');
448
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
449
+ }
450
+ }
451
+ async function showConfig(options) {
452
+ try {
453
+ const config = await loadConfig();
454
+ console.log(chalk_1.default.cyan('\nOrchestrator Daemon Configuration\n'));
455
+ console.log(chalk_1.default.gray(`File: ${ORCHESTRATOR_CONFIG_FILE}`));
456
+ console.log(chalk_1.default.gray('='.repeat(50) + '\n'));
457
+ if (options.json) {
458
+ console.log(JSON.stringify(config, null, 2));
459
+ }
460
+ else {
461
+ console.log(yaml_1.default.stringify(config));
462
+ }
463
+ }
464
+ catch (error) {
465
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
466
+ }
467
+ }
468
+ async function setConfig(keyValue) {
469
+ try {
470
+ const [keyPath, ...valueParts] = keyValue.split('=');
471
+ const valueStr = valueParts.join('=');
472
+ if (!keyPath || valueStr === undefined) {
473
+ console.error(chalk_1.default.red('Invalid format. Use: wundr orchestrator config set <key>=<value>'));
474
+ console.error(chalk_1.default.gray('Example: wundr orchestrator config set daemon.port=9000'));
475
+ return;
476
+ }
477
+ const config = await loadConfig();
478
+ const keys = keyPath.split('.');
479
+ // Navigate to parent object
480
+ let obj = config;
481
+ for (let i = 0; i < keys.length - 1; i++) {
482
+ const key = keys[i];
483
+ if (key && typeof obj[key] === 'object' && obj[key] !== null) {
484
+ obj = obj[key];
485
+ }
486
+ else {
487
+ console.error(chalk_1.default.red(`Invalid key path: ${keyPath}`));
488
+ return;
489
+ }
490
+ }
491
+ const lastKey = keys[keys.length - 1];
492
+ if (!lastKey) {
493
+ console.error(chalk_1.default.red('Invalid key path'));
494
+ return;
495
+ }
496
+ // Parse and set value
497
+ let value;
498
+ try {
499
+ value = JSON.parse(valueStr);
500
+ }
501
+ catch {
502
+ value = valueStr;
503
+ }
504
+ const oldValue = obj[lastKey];
505
+ obj[lastKey] = value;
506
+ await saveConfig(config);
507
+ console.log(chalk_1.default.green('Configuration updated:'));
508
+ console.log(chalk_1.default.white(` ${keyPath}: ${JSON.stringify(oldValue)} -> ${JSON.stringify(value)}`));
509
+ console.log(chalk_1.default.gray('\nRestart the daemon for changes to take effect.'));
510
+ }
511
+ catch (error) {
512
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
513
+ }
514
+ }
515
+ async function resetConfig(options) {
516
+ try {
517
+ if (!options.force) {
518
+ // Dynamic import for inquirer
519
+ const inquirer = await Promise.resolve().then(() => tslib_1.__importStar(require('inquirer')));
520
+ const answers = await inquirer.default.prompt([
521
+ {
522
+ type: 'confirm',
523
+ name: 'confirm',
524
+ message: 'Reset Orchestrator Daemon configuration to defaults?',
525
+ default: false,
526
+ },
527
+ ]);
528
+ if (!answers.confirm) {
529
+ console.log(chalk_1.default.yellow('Cancelled.'));
530
+ return;
531
+ }
532
+ }
533
+ const config = getDefaultConfig();
534
+ await saveConfig(config);
535
+ console.log(chalk_1.default.green('Configuration reset to defaults.'));
536
+ console.log(chalk_1.default.gray(`Saved to: ${ORCHESTRATOR_CONFIG_FILE}`));
537
+ }
538
+ catch (error) {
539
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
540
+ }
541
+ }
542
+ async function viewLogs(options) {
543
+ const lines = parseInt(options.lines ?? '50', 10);
544
+ if (!(0, fs_1.existsSync)(ORCHESTRATOR_LOG_FILE)) {
545
+ console.log(chalk_1.default.yellow('No log file found.'));
546
+ console.log(chalk_1.default.gray(`Expected location: ${ORCHESTRATOR_LOG_FILE}`));
547
+ console.log(chalk_1.default.gray('Start the daemon with --verbose to enable logging.'));
548
+ return;
549
+ }
550
+ try {
551
+ if (options.follow) {
552
+ console.log(chalk_1.default.cyan(`Following logs from ${ORCHESTRATOR_LOG_FILE}...`));
553
+ console.log(chalk_1.default.gray('Press Ctrl+C to stop.\n'));
554
+ const { spawn } = await Promise.resolve().then(() => tslib_1.__importStar(require('child_process')));
555
+ const tail = spawn('tail', ['-f', '-n', String(lines), ORCHESTRATOR_LOG_FILE], {
556
+ stdio: 'inherit',
557
+ });
558
+ await new Promise(resolve => {
559
+ process.on('SIGINT', () => {
560
+ tail.kill();
561
+ resolve();
562
+ });
563
+ tail.on('close', () => resolve());
564
+ });
565
+ }
566
+ else {
567
+ const content = await fs.readFile(ORCHESTRATOR_LOG_FILE, 'utf-8');
568
+ const logLines = content.split('\n');
569
+ const lastLines = logLines.slice(-lines).join('\n');
570
+ console.log(chalk_1.default.cyan(`Last ${lines} lines from ${ORCHESTRATOR_LOG_FILE}:\n`));
571
+ console.log(lastLines);
572
+ }
573
+ }
574
+ catch (error) {
575
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
576
+ }
577
+ }
578
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/commands/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Performance Optimizer Command - Memory and Concurrency Optimization
3
+ * Implements intelligent optimization strategies for Wundr platform performance
4
+ */
5
+ import type { ConfigManager } from '../utils/config-manager';
6
+ import type { Command } from 'commander';
7
+ /**
8
+ * Main Performance Optimizer Commands
9
+ */
10
+ export declare class PerformanceOptimizerCommands {
11
+ private program;
12
+ private configManager;
13
+ private memoryOptimizer;
14
+ private concurrencyOptimizer;
15
+ private assetOptimizer;
16
+ constructor(program: Command, configManager: ConfigManager);
17
+ private registerCommands;
18
+ private optimizeMemory;
19
+ private optimizeConcurrency;
20
+ private optimizeBundle;
21
+ private optimizeAll;
22
+ private startMonitoring;
23
+ private runBenchmarks;
24
+ private benchmarkMemoryAllocation;
25
+ private benchmarkFileProcessing;
26
+ private benchmarkConcurrentTasks;
27
+ private benchmarkDataTransformation;
28
+ private generateOptimizationReport;
29
+ }
30
+ //# sourceMappingURL=performance-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-optimizer.d.ts","sourceRoot":"","sources":["../../src/commands/performance-optimizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6UzC;;GAEG;AACH,qBAAa,4BAA4B;IAMrC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,cAAc,CAAwB;gBAGpC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa;IAKtC,OAAO,CAAC,gBAAgB;YAuEV,cAAc;YAkDd,mBAAmB;YAiDnB,cAAc;YAsCd,WAAW;YA2FX,eAAe;YAqEf,aAAa;YAkEb,yBAAyB;YASzB,uBAAuB;YAQvB,wBAAwB;YASxB,2BAA2B;YAY3B,0BAA0B;CA+BzC"}