@winmatrix/daemon 1.0.3 → 1.0.4

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 (57) hide show
  1. package/package.json +3 -3
  2. package/dist/core/AgentProcessManager.d.ts +0 -92
  3. package/dist/core/AgentProcessManager.d.ts.map +0 -1
  4. package/dist/core/AgentProcessManager.js +0 -358
  5. package/dist/core/AgentProcessManager.js.map +0 -1
  6. package/dist/core/ConfigLoader.d.ts +0 -110
  7. package/dist/core/ConfigLoader.d.ts.map +0 -1
  8. package/dist/core/ConfigLoader.js +0 -296
  9. package/dist/core/ConfigLoader.js.map +0 -1
  10. package/dist/core/DaemonFileLogger.d.ts +0 -34
  11. package/dist/core/DaemonFileLogger.d.ts.map +0 -1
  12. package/dist/core/DaemonFileLogger.js +0 -192
  13. package/dist/core/DaemonFileLogger.js.map +0 -1
  14. package/dist/core/DaemonLifecycle.d.ts +0 -22
  15. package/dist/core/DaemonLifecycle.d.ts.map +0 -1
  16. package/dist/core/DaemonLifecycle.js +0 -157
  17. package/dist/core/DaemonLifecycle.js.map +0 -1
  18. package/dist/core/DiagnosticsServer.d.ts +0 -28
  19. package/dist/core/DiagnosticsServer.d.ts.map +0 -1
  20. package/dist/core/DiagnosticsServer.js +0 -155
  21. package/dist/core/DiagnosticsServer.js.map +0 -1
  22. package/dist/core/InstallationId.d.ts +0 -14
  23. package/dist/core/InstallationId.d.ts.map +0 -1
  24. package/dist/core/InstallationId.js +0 -50
  25. package/dist/core/InstallationId.js.map +0 -1
  26. package/dist/core/RuntimeAvailabilityReporter.d.ts +0 -27
  27. package/dist/core/RuntimeAvailabilityReporter.d.ts.map +0 -1
  28. package/dist/core/RuntimeAvailabilityReporter.js +0 -79
  29. package/dist/core/RuntimeAvailabilityReporter.js.map +0 -1
  30. package/dist/core/RuntimeDoctor.d.ts +0 -13
  31. package/dist/core/RuntimeDoctor.d.ts.map +0 -1
  32. package/dist/core/RuntimeDoctor.js +0 -61
  33. package/dist/core/RuntimeDoctor.js.map +0 -1
  34. package/dist/core/WorkspaceScanner.d.ts +0 -45
  35. package/dist/core/WorkspaceScanner.d.ts.map +0 -1
  36. package/dist/core/WorkspaceScanner.js +0 -166
  37. package/dist/core/WorkspaceScanner.js.map +0 -1
  38. package/dist/index.d.ts +0 -16
  39. package/dist/index.d.ts.map +0 -1
  40. package/dist/index.js +0 -254
  41. package/dist/index.js.map +0 -1
  42. package/dist/wrapper/AgentProcessManager.d.ts +0 -80
  43. package/dist/wrapper/AgentProcessManager.d.ts.map +0 -1
  44. package/dist/wrapper/AgentProcessManager.js +0 -474
  45. package/dist/wrapper/AgentProcessManager.js.map +0 -1
  46. package/dist/wrapper/AgentWrapper.d.ts +0 -7
  47. package/dist/wrapper/AgentWrapper.d.ts.map +0 -1
  48. package/dist/wrapper/AgentWrapper.js +0 -229
  49. package/dist/wrapper/AgentWrapper.js.map +0 -1
  50. package/dist/wrapper/claudeCommand.d.ts +0 -2
  51. package/dist/wrapper/claudeCommand.d.ts.map +0 -1
  52. package/dist/wrapper/claudeCommand.js +0 -2
  53. package/dist/wrapper/claudeCommand.js.map +0 -1
  54. package/dist/wrapper/supportedAgentTypes.d.ts +0 -7
  55. package/dist/wrapper/supportedAgentTypes.d.ts.map +0 -1
  56. package/dist/wrapper/supportedAgentTypes.js +0 -6
  57. package/dist/wrapper/supportedAgentTypes.js.map +0 -1
@@ -1,474 +0,0 @@
1
- /**
2
- * @deprecated Multiprocess wrapper path — process spawn/kill lifecycle for AgentWrapper.
3
- * Scheme B (in-process adapters) uses core/AgentProcessManager instead.
4
- */
5
- import { spawn } from 'node:child_process';
6
- import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
7
- import { join } from 'node:path';
8
- import { homedir } from 'node:os';
9
- import { randomUUID } from 'node:crypto';
10
- import { unwrapOpenClawPayloads } from '@winmatrix/agent-sdk';
11
- import { parseClaudeLine, splitLines } from '@winmatrix/agent-sdk/adapters/claude/parser';
12
- import { resolveClaudeRuntimeCommand } from './claudeCommand.js';
13
- const DEFAULT_HTTP_TIMEOUT_MS = 180000;
14
- const CLAUDE_BASE_ARGS = [
15
- '--print',
16
- '--verbose',
17
- '--input-format', 'stream-json',
18
- '--output-format', 'stream-json',
19
- '--include-partial-messages',
20
- ];
21
- function generateClaudeMcpConfig(mcpBridgeUrl, mcpApiKey, workDir) {
22
- const mcpConfig = {
23
- mcpServers: {
24
- winmatrix: {
25
- type: 'http',
26
- url: mcpBridgeUrl,
27
- ...(mcpApiKey ? { headers: { Authorization: `Bearer ${mcpApiKey}` } } : {}),
28
- },
29
- },
30
- };
31
- const configDir = workDir ? join(workDir, '.claude') : join(homedir(), '.claude');
32
- const primaryPath = join(configDir, 'mcp.json');
33
- const fallbackPath = join(configDir, 'mcp.winmatrix.json');
34
- try {
35
- if (!existsSync(configDir)) {
36
- mkdirSync(configDir, { recursive: true });
37
- }
38
- if (existsSync(primaryPath)) {
39
- writeFileSync(fallbackPath, JSON.stringify(mcpConfig, null, 2), 'utf-8');
40
- return ['--mcp-config', fallbackPath];
41
- }
42
- writeFileSync(primaryPath, JSON.stringify(mcpConfig, null, 2), 'utf-8');
43
- return null;
44
- }
45
- catch {
46
- return null;
47
- }
48
- }
49
- export class WrapperProcessManager {
50
- config;
51
- callbacks;
52
- runningTasks = new Map();
53
- constructor(config, callbacks) {
54
- this.config = config;
55
- this.callbacks = callbacks;
56
- }
57
- getRunningTaskCount() {
58
- return this.runningTasks.size;
59
- }
60
- routeTask(task) {
61
- const taskId = task.taskId;
62
- if (this.runningTasks.has(taskId)) {
63
- this.callbacks.onError(taskId, 'Task already running');
64
- return;
65
- }
66
- switch (this.config.agentType) {
67
- case 'claude-code':
68
- this.spawnClaudeCodeTask(task);
69
- break;
70
- case 'hermes':
71
- this.spawnHttpTask(task, {});
72
- break;
73
- case 'openclaw':
74
- this.spawnHttpTask(task, { unwrap: unwrapOpenClawPayloads });
75
- break;
76
- default:
77
- this.spawnGenericTask(task);
78
- break;
79
- }
80
- }
81
- cancelTask(taskId) {
82
- const entry = this.runningTasks.get(taskId);
83
- if (!entry)
84
- return;
85
- entry.abortController?.abort();
86
- if (entry.process) {
87
- try {
88
- entry.process.kill('SIGTERM');
89
- setTimeout(() => {
90
- try {
91
- entry.process?.kill('SIGKILL');
92
- }
93
- catch {
94
- /* already dead */
95
- }
96
- }, 10000);
97
- }
98
- catch {
99
- /* process already exited */
100
- }
101
- }
102
- this.runningTasks.delete(taskId);
103
- }
104
- shutdown() {
105
- for (const [, entry] of this.runningTasks) {
106
- entry.abortController?.abort();
107
- if (entry.process) {
108
- try {
109
- entry.process.kill('SIGTERM');
110
- }
111
- catch {
112
- /* already dead */
113
- }
114
- }
115
- }
116
- const fetchPromises = [...this.runningTasks.values()]
117
- .filter((entry) => entry.completionPromise)
118
- .map((entry) => entry.completionPromise);
119
- return new Promise((resolve) => {
120
- const finalize = () => {
121
- for (const [, entry] of this.runningTasks) {
122
- if (entry.process) {
123
- try {
124
- entry.process.kill('SIGKILL');
125
- }
126
- catch {
127
- /* already dead */
128
- }
129
- }
130
- }
131
- this.runningTasks.clear();
132
- resolve();
133
- };
134
- if (fetchPromises.length > 0) {
135
- Promise.race([
136
- Promise.allSettled(fetchPromises),
137
- new Promise((r) => setTimeout(r, 5000)),
138
- ]).finally(finalize);
139
- }
140
- else {
141
- setTimeout(finalize, 10000);
142
- }
143
- });
144
- }
145
- cleanupTask(taskId) {
146
- this.runningTasks.delete(taskId);
147
- }
148
- spawnClaudeCodeTask(task) {
149
- const taskId = task.taskId;
150
- const workDir = task.workDir ?? this.config.workDir;
151
- const claude = task.claude ?? {};
152
- if (workDir && !existsSync(workDir)) {
153
- this.callbacks.onError(taskId, `Work directory does not exist: ${workDir}`);
154
- return;
155
- }
156
- const args = [...CLAUDE_BASE_ARGS];
157
- const permissionMode = claude.permissionMode ?? 'bypassPermissions';
158
- args.push('--permission-mode', permissionMode);
159
- if (workDir) {
160
- args.push('--add-dir', workDir);
161
- }
162
- const isOneshot = task.mode === 'oneshot';
163
- let sessionId;
164
- if (!isOneshot) {
165
- if (claude.forkSession) {
166
- sessionId = randomUUID();
167
- args.push('--session-id', sessionId);
168
- }
169
- else if (claude.resumeSession && claude.sessionId) {
170
- sessionId = claude.sessionId;
171
- args.push('--resume', sessionId);
172
- }
173
- else if (claude.sessionId) {
174
- sessionId = claude.sessionId;
175
- args.push('--session-id', sessionId);
176
- }
177
- else {
178
- sessionId = randomUUID();
179
- args.push('--session-id', sessionId);
180
- }
181
- }
182
- if (claude.tools && claude.tools.length > 0) {
183
- args.push('--allowedTools', claude.tools.join(','));
184
- }
185
- if (claude.disallowedTools && claude.disallowedTools.length > 0) {
186
- args.push('--disallowedTools', claude.disallowedTools.join(','));
187
- }
188
- if (claude.maxBudgetUsd !== undefined) {
189
- args.push('--max-budget-usd', String(claude.maxBudgetUsd));
190
- }
191
- const effectiveSystemPrompt = task.systemPrompt ?? claude.systemPrompt;
192
- if (effectiveSystemPrompt) {
193
- args.push('--append-system-prompt', effectiveSystemPrompt);
194
- }
195
- if (this.config.mcpBridgeUrl) {
196
- const effectiveMcpKey = task.mcpToken ?? this.config.mcpApiKey;
197
- const mcpArgs = generateClaudeMcpConfig(this.config.mcpBridgeUrl, effectiveMcpKey, workDir);
198
- if (mcpArgs) {
199
- args.push(...mcpArgs);
200
- }
201
- }
202
- const env = {
203
- ...process.env,
204
- WINMATRIX_AGENT_ID: this.config.agentId,
205
- WINMATRIX_API_KEY: this.config.apiKey,
206
- WINMATRIX_AGENT_NAME: this.config.name,
207
- WINMATRIX_AGENT_TYPE: this.config.agentType,
208
- WINMATRIX_TASK_ID: taskId,
209
- ...task.env,
210
- };
211
- let proc;
212
- try {
213
- const spawnSpec = resolveClaudeRuntimeCommand(this.config.runtime);
214
- proc = spawn(spawnSpec.command, [...(spawnSpec.args ?? []), ...args], {
215
- stdio: ['pipe', 'pipe', 'pipe'],
216
- env,
217
- cwd: workDir ?? process.cwd(),
218
- shell: spawnSpec.shell,
219
- });
220
- }
221
- catch (err) {
222
- const message = err instanceof Error ? err.message : String(err);
223
- this.callbacks.onError(taskId, `Failed to spawn Claude Code: ${message}`);
224
- return;
225
- }
226
- const entry = {
227
- taskId,
228
- process: proc,
229
- abortController: null,
230
- startedAt: Date.now(),
231
- stdoutChunks: [],
232
- completed: false,
233
- };
234
- this.runningTasks.set(taskId, entry);
235
- proc.on('error', (err) => {
236
- if (entry.completed)
237
- return;
238
- entry.completed = true;
239
- this.callbacks.onError(taskId, err.message);
240
- this.cleanupTask(taskId);
241
- });
242
- const userMessage = JSON.stringify({
243
- type: 'user',
244
- message: { role: 'user', content: task.input },
245
- }) + '\n';
246
- proc.stdin?.write(userMessage);
247
- proc.stdin?.end();
248
- let extractedSessionId;
249
- let extractedResultText;
250
- let extractedUsage;
251
- let stdoutBuffer = '';
252
- proc.stdout?.on('data', (data) => {
253
- const chunk = data.toString('utf-8');
254
- const { lines, remainder } = splitLines(stdoutBuffer, chunk);
255
- stdoutBuffer = remainder;
256
- for (const line of lines) {
257
- entry.stdoutChunks.push(line + '\n');
258
- const action = parseClaudeLine(line);
259
- switch (action.type) {
260
- case 'delta':
261
- this.callbacks.onDelta(taskId, action.text);
262
- break;
263
- case 'thinking':
264
- this.callbacks.onDelta(taskId, action.text, { stream: 'thinking' });
265
- break;
266
- case 'tool_use':
267
- this.callbacks.onDelta(taskId, `[调用工具: ${action.toolName}]`, {
268
- toolUse: { name: action.toolName, input: action.toolInput },
269
- });
270
- break;
271
- case 'result':
272
- if (action.sessionId)
273
- extractedSessionId = action.sessionId;
274
- if (action.result)
275
- extractedResultText = action.result;
276
- if (action.usage)
277
- extractedUsage = action.usage;
278
- break;
279
- case 'error':
280
- entry.completed = true;
281
- this.callbacks.onError(taskId, action.message);
282
- return;
283
- case 'skip':
284
- break;
285
- }
286
- }
287
- });
288
- proc.stderr?.on('data', (data) => {
289
- const text = data.toString('utf-8').trimEnd();
290
- if (!text)
291
- return;
292
- this.callbacks.onDelta(taskId, text, { source: 'stderr' });
293
- });
294
- proc.on('exit', (code, signal) => {
295
- if (entry.completed)
296
- return;
297
- entry.completed = true;
298
- if (extractedSessionId || code === 0) {
299
- this.callbacks.onComplete(taskId, { result: extractedResultText ?? null, exitCode: code ?? 0 }, isOneshot ? undefined : extractedSessionId, extractedUsage);
300
- }
301
- else {
302
- this.callbacks.onError(taskId, signal
303
- ? `Claude Code killed by signal ${signal}`
304
- : `Claude Code exited with code ${code ?? 'null'}`);
305
- }
306
- this.cleanupTask(taskId);
307
- });
308
- }
309
- spawnHttpTask(task, options) {
310
- const taskId = task.taskId;
311
- const endpoint = task.endpoint ?? this.config.endpoint ?? this.config.hermesEndpoint;
312
- if (!endpoint) {
313
- this.callbacks.onError(taskId, 'HTTP endpoint not configured');
314
- return;
315
- }
316
- const timeoutMs = task.hermes?.timeoutMs ?? DEFAULT_HTTP_TIMEOUT_MS;
317
- const abortController = new AbortController();
318
- const timeoutId = setTimeout(() => abortController.abort(), timeoutMs);
319
- const entry = {
320
- taskId,
321
- process: null,
322
- abortController,
323
- startedAt: Date.now(),
324
- stdoutChunks: [],
325
- completed: false,
326
- };
327
- this.runningTasks.set(taskId, entry);
328
- const headers = { 'Content-Type': 'application/json' };
329
- const token = task.endpointToken ?? this.config.endpointToken;
330
- if (token) {
331
- headers.Authorization = `Bearer ${token}`;
332
- }
333
- const effectiveInput = task.systemPrompt
334
- ? `${task.systemPrompt}\n\n---\n\n${task.input}`
335
- : task.input;
336
- entry.completionPromise = fetch(endpoint, {
337
- method: 'POST',
338
- headers,
339
- body: JSON.stringify({
340
- taskId: task.taskId,
341
- input: effectiveInput,
342
- context: task.context,
343
- ...(task.systemPrompt ? { systemPrompt: task.systemPrompt } : {}),
344
- ...(this.config.mcpBridgeUrl ? { mcpBridgeUrl: this.config.mcpBridgeUrl } : {}),
345
- ...((task.mcpToken ?? this.config.mcpApiKey)
346
- ? { mcpToken: task.mcpToken ?? this.config.mcpApiKey }
347
- : {}),
348
- }),
349
- signal: abortController.signal,
350
- })
351
- .then(async (res) => {
352
- clearTimeout(timeoutId);
353
- if (entry.completed)
354
- return;
355
- entry.completed = true;
356
- if (!res.ok) {
357
- this.callbacks.onError(taskId, `HTTP ${res.status}: ${res.statusText}`);
358
- this.cleanupTask(taskId);
359
- return;
360
- }
361
- const bodyText = await res.text();
362
- let parsed = bodyText;
363
- try {
364
- parsed = JSON.parse(bodyText);
365
- }
366
- catch {
367
- /* keep raw text */
368
- }
369
- if (options.unwrap && typeof parsed === 'object' && parsed !== null) {
370
- try {
371
- parsed = options.unwrap(bodyText);
372
- }
373
- catch {
374
- /* keep original */
375
- }
376
- }
377
- this.callbacks.onComplete(taskId, parsed);
378
- this.cleanupTask(taskId);
379
- })
380
- .catch((err) => {
381
- clearTimeout(timeoutId);
382
- if (entry.completed)
383
- return;
384
- entry.completed = true;
385
- const message = err instanceof Error ? err.message : String(err);
386
- if (err.name === 'AbortError') {
387
- this.callbacks.onError(taskId, `HTTP request timed out after ${timeoutMs}ms`);
388
- }
389
- else {
390
- this.callbacks.onError(taskId, `HTTP request failed: ${message}`);
391
- }
392
- this.cleanupTask(taskId);
393
- });
394
- }
395
- spawnGenericTask(task) {
396
- const taskId = task.taskId;
397
- const workDir = task.workDir ?? this.config.workDir;
398
- const args = ['--print', '--output-format', 'json', task.input];
399
- let proc;
400
- try {
401
- proc = spawn(this.config.runtime, args, {
402
- stdio: ['pipe', 'pipe', 'pipe'],
403
- env: {
404
- ...process.env,
405
- WINMATRIX_AGENT_ID: this.config.agentId,
406
- WINMATRIX_API_KEY: this.config.apiKey,
407
- WINMATRIX_AGENT_NAME: this.config.name,
408
- WINMATRIX_AGENT_TYPE: this.config.agentType,
409
- WINMATRIX_TASK_ID: taskId,
410
- ...task.env,
411
- },
412
- cwd: workDir ?? process.cwd(),
413
- });
414
- }
415
- catch (err) {
416
- const message = err instanceof Error ? err.message : String(err);
417
- this.callbacks.onError(taskId, `Failed to spawn runtime: ${message}`);
418
- return;
419
- }
420
- const entry = {
421
- taskId,
422
- process: proc,
423
- abortController: null,
424
- startedAt: Date.now(),
425
- stdoutChunks: [],
426
- completed: false,
427
- };
428
- this.runningTasks.set(taskId, entry);
429
- proc.stdout?.on('data', (data) => {
430
- const text = data.toString('utf-8');
431
- entry.stdoutChunks.push(text);
432
- const trimmed = text.trimEnd();
433
- if (!trimmed)
434
- return;
435
- this.callbacks.onDelta(taskId, trimmed);
436
- });
437
- proc.stderr?.on('data', (data) => {
438
- const text = data.toString('utf-8').trimEnd();
439
- if (!text)
440
- return;
441
- this.callbacks.onDelta(taskId, text, { source: 'stderr' });
442
- });
443
- proc.on('exit', (code, signal) => {
444
- if (entry.completed)
445
- return;
446
- entry.completed = true;
447
- if (code === 0) {
448
- const rawOutput = entry.stdoutChunks.join('');
449
- let parsedResult = rawOutput;
450
- try {
451
- parsedResult = JSON.parse(rawOutput);
452
- }
453
- catch {
454
- /* keep raw */
455
- }
456
- this.callbacks.onComplete(taskId, parsedResult);
457
- }
458
- else {
459
- this.callbacks.onError(taskId, signal
460
- ? `Process killed by signal ${signal}`
461
- : `Process exited with code ${code ?? 'null'}`);
462
- }
463
- this.cleanupTask(taskId);
464
- });
465
- proc.on('error', (err) => {
466
- if (entry.completed)
467
- return;
468
- entry.completed = true;
469
- this.callbacks.onError(taskId, err.message);
470
- this.cleanupTask(taskId);
471
- });
472
- }
473
- }
474
- //# sourceMappingURL=AgentProcessManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentProcessManager.js","sourceRoot":"","sources":["../../src/wrapper/AgentProcessManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @deprecated Scheme B runs adapters in-process; this multiprocess wrapper remains for reference.
3
- *
4
- * Agent Wrapper — stdin/stdout JSON Lines IPC with Daemon; task execution delegated to WrapperProcessManager.
5
- */
6
- export {};
7
- //# sourceMappingURL=AgentWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentWrapper.d.ts","sourceRoot":"","sources":["../../src/wrapper/AgentWrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}