@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.
- package/package.json +3 -3
- package/dist/core/AgentProcessManager.d.ts +0 -92
- package/dist/core/AgentProcessManager.d.ts.map +0 -1
- package/dist/core/AgentProcessManager.js +0 -358
- package/dist/core/AgentProcessManager.js.map +0 -1
- package/dist/core/ConfigLoader.d.ts +0 -110
- package/dist/core/ConfigLoader.d.ts.map +0 -1
- package/dist/core/ConfigLoader.js +0 -296
- package/dist/core/ConfigLoader.js.map +0 -1
- package/dist/core/DaemonFileLogger.d.ts +0 -34
- package/dist/core/DaemonFileLogger.d.ts.map +0 -1
- package/dist/core/DaemonFileLogger.js +0 -192
- package/dist/core/DaemonFileLogger.js.map +0 -1
- package/dist/core/DaemonLifecycle.d.ts +0 -22
- package/dist/core/DaemonLifecycle.d.ts.map +0 -1
- package/dist/core/DaemonLifecycle.js +0 -157
- package/dist/core/DaemonLifecycle.js.map +0 -1
- package/dist/core/DiagnosticsServer.d.ts +0 -28
- package/dist/core/DiagnosticsServer.d.ts.map +0 -1
- package/dist/core/DiagnosticsServer.js +0 -155
- package/dist/core/DiagnosticsServer.js.map +0 -1
- package/dist/core/InstallationId.d.ts +0 -14
- package/dist/core/InstallationId.d.ts.map +0 -1
- package/dist/core/InstallationId.js +0 -50
- package/dist/core/InstallationId.js.map +0 -1
- package/dist/core/RuntimeAvailabilityReporter.d.ts +0 -27
- package/dist/core/RuntimeAvailabilityReporter.d.ts.map +0 -1
- package/dist/core/RuntimeAvailabilityReporter.js +0 -79
- package/dist/core/RuntimeAvailabilityReporter.js.map +0 -1
- package/dist/core/RuntimeDoctor.d.ts +0 -13
- package/dist/core/RuntimeDoctor.d.ts.map +0 -1
- package/dist/core/RuntimeDoctor.js +0 -61
- package/dist/core/RuntimeDoctor.js.map +0 -1
- package/dist/core/WorkspaceScanner.d.ts +0 -45
- package/dist/core/WorkspaceScanner.d.ts.map +0 -1
- package/dist/core/WorkspaceScanner.js +0 -166
- package/dist/core/WorkspaceScanner.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -254
- package/dist/index.js.map +0 -1
- package/dist/wrapper/AgentProcessManager.d.ts +0 -80
- package/dist/wrapper/AgentProcessManager.d.ts.map +0 -1
- package/dist/wrapper/AgentProcessManager.js +0 -474
- package/dist/wrapper/AgentProcessManager.js.map +0 -1
- package/dist/wrapper/AgentWrapper.d.ts +0 -7
- package/dist/wrapper/AgentWrapper.d.ts.map +0 -1
- package/dist/wrapper/AgentWrapper.js +0 -229
- package/dist/wrapper/AgentWrapper.js.map +0 -1
- package/dist/wrapper/claudeCommand.d.ts +0 -2
- package/dist/wrapper/claudeCommand.d.ts.map +0 -1
- package/dist/wrapper/claudeCommand.js +0 -2
- package/dist/wrapper/claudeCommand.js.map +0 -1
- package/dist/wrapper/supportedAgentTypes.d.ts +0 -7
- package/dist/wrapper/supportedAgentTypes.d.ts.map +0 -1
- package/dist/wrapper/supportedAgentTypes.js +0 -6
- package/dist/wrapper/supportedAgentTypes.js.map +0 -1
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WorkspaceScanner - 扫描 workDir 获取项目元数据
|
|
3
|
-
*
|
|
4
|
-
* 在 Agent 注册成功后调用,将扫描结果通过 Daemon WS 上报至 Server。
|
|
5
|
-
* 安全约束:不上报绝对路径、文件内容、环境变量、含凭据的 Git remote。
|
|
6
|
-
*/
|
|
7
|
-
interface TechStack {
|
|
8
|
-
[key: string]: string;
|
|
9
|
-
}
|
|
10
|
-
interface WorkspaceInfo {
|
|
11
|
-
pathSummary: string;
|
|
12
|
-
gitRemote?: string;
|
|
13
|
-
gitBranch?: string;
|
|
14
|
-
techStack?: TechStack;
|
|
15
|
-
scripts?: Record<string, string>;
|
|
16
|
-
installedCli?: string[];
|
|
17
|
-
}
|
|
18
|
-
interface RuntimeInfo {
|
|
19
|
-
version?: string;
|
|
20
|
-
available: boolean;
|
|
21
|
-
}
|
|
22
|
-
export interface WorkspaceReportPayload {
|
|
23
|
-
agentId: string;
|
|
24
|
-
workdir?: WorkspaceInfo;
|
|
25
|
-
runtimes?: Record<string, RuntimeInfo>;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* 扫描指定工作目录,提取项目元数据。
|
|
29
|
-
* 所有 git/which 调用均带 5s 超时,失败不影响整体结果。
|
|
30
|
-
*/
|
|
31
|
-
export declare function scanWorkDir(workDir: string): Promise<WorkspaceInfo>;
|
|
32
|
-
/**
|
|
33
|
-
* 脱敏 Git remote URL:
|
|
34
|
-
* - HTTPS: 移除 userinfo(用户名:密码@)
|
|
35
|
-
* - SSH: 保持原样(git@host:org/repo)
|
|
36
|
-
* - 仅保留 host/org/repo
|
|
37
|
-
*/
|
|
38
|
-
export declare function sanitizeGitRemote(remote: string): string;
|
|
39
|
-
/**
|
|
40
|
-
* 检测运行时可用的运行时版本信息。
|
|
41
|
-
* 基于 agentType 选择性检测,避免不必要的磁盘扫描。
|
|
42
|
-
*/
|
|
43
|
-
export declare function detectRuntimeInfo(runtimeBinary: string): Promise<RuntimeInfo>;
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=WorkspaceScanner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceScanner.d.ts","sourceRoot":"","sources":["../../src/core/WorkspaceScanner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACxC;AAQD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2HzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAQnF"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WorkspaceScanner - 扫描 workDir 获取项目元数据
|
|
3
|
-
*
|
|
4
|
-
* 在 Agent 注册成功后调用,将扫描结果通过 Daemon WS 上报至 Server。
|
|
5
|
-
* 安全约束:不上报绝对路径、文件内容、环境变量、含凭据的 Git remote。
|
|
6
|
-
*/
|
|
7
|
-
import { readdir, readFile } from 'node:fs/promises';
|
|
8
|
-
import { basename } from 'node:path';
|
|
9
|
-
import { execFile } from 'node:child_process';
|
|
10
|
-
import { promisify } from 'node:util';
|
|
11
|
-
const execFileAsync = promisify(execFile);
|
|
12
|
-
/** 常用 CLI 工具列表 */
|
|
13
|
-
const COMMON_CLI_TOOLS = ['git', 'docker', 'pnpm', 'yarn', 'npm', 'python', 'go', 'cargo', 'node'];
|
|
14
|
-
/** 对 execFile 调用的超时(毫秒) */
|
|
15
|
-
const EXEC_TIMEOUT_MS = 5000;
|
|
16
|
-
/**
|
|
17
|
-
* 扫描指定工作目录,提取项目元数据。
|
|
18
|
-
* 所有 git/which 调用均带 5s 超时,失败不影响整体结果。
|
|
19
|
-
*/
|
|
20
|
-
export async function scanWorkDir(workDir) {
|
|
21
|
-
const result = {
|
|
22
|
-
pathSummary: basename(workDir),
|
|
23
|
-
};
|
|
24
|
-
try {
|
|
25
|
-
const files = await readdir(workDir);
|
|
26
|
-
// 仅判断是否存在 package.json,不读取内容(后续统一读取)
|
|
27
|
-
const hasPackageJson = files.includes('package.json');
|
|
28
|
-
// 读取 package.json 提取关键字段
|
|
29
|
-
if (hasPackageJson) {
|
|
30
|
-
try {
|
|
31
|
-
const pkgRaw = await readFile(`${workDir}/package.json`, 'utf-8');
|
|
32
|
-
const pkg = JSON.parse(pkgRaw);
|
|
33
|
-
const techStack = {};
|
|
34
|
-
if (pkg.name) {
|
|
35
|
-
// name 仅用于内部识别
|
|
36
|
-
}
|
|
37
|
-
// 提取 scripts(最多 20 个 key,防止 package.json 异常膨胀)
|
|
38
|
-
const scriptKeys = Object.keys(pkg.scripts ?? {}).slice(0, 20);
|
|
39
|
-
if (scriptKeys.length > 0) {
|
|
40
|
-
result.scripts = {};
|
|
41
|
-
for (const key of scriptKeys) {
|
|
42
|
-
result.scripts[key] = String(pkg.scripts[key]);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// 提取技术栈信息(从 dependencies/devDependencies 推断)
|
|
46
|
-
const allDeps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
|
|
47
|
-
const depNames = Object.keys(allDeps);
|
|
48
|
-
if (depNames.includes('vue')) {
|
|
49
|
-
techStack.framework = 'vue';
|
|
50
|
-
techStack.frameworkVersion = allDeps.vue;
|
|
51
|
-
}
|
|
52
|
-
else if (depNames.includes('react')) {
|
|
53
|
-
techStack.framework = 'react';
|
|
54
|
-
techStack.frameworkVersion = allDeps.react;
|
|
55
|
-
}
|
|
56
|
-
if (depNames.includes('vite')) {
|
|
57
|
-
techStack.bundler = 'vite';
|
|
58
|
-
techStack.bundlerVersion = allDeps.vite;
|
|
59
|
-
}
|
|
60
|
-
else if (depNames.includes('webpack')) {
|
|
61
|
-
techStack.bundler = 'webpack';
|
|
62
|
-
techStack.bundlerVersion = allDeps.webpack;
|
|
63
|
-
}
|
|
64
|
-
if (depNames.includes('typescript')) {
|
|
65
|
-
techStack.language = 'typescript';
|
|
66
|
-
techStack.languageVersion = allDeps.typescript;
|
|
67
|
-
}
|
|
68
|
-
else if (allDeps['@types/node'] || depNames.some((d) => d.startsWith('@types/'))) {
|
|
69
|
-
techStack.language = 'typescript';
|
|
70
|
-
}
|
|
71
|
-
const runtimeEntry = depNames.find((d) => d === 'next' || d === 'nuxt' || d === 'express' || d === 'fastify');
|
|
72
|
-
if (runtimeEntry) {
|
|
73
|
-
techStack.runtime = runtimeEntry;
|
|
74
|
-
techStack.runtimeVersion = allDeps[runtimeEntry];
|
|
75
|
-
}
|
|
76
|
-
else if (depNames.includes('node')) {
|
|
77
|
-
techStack.runtime = 'node';
|
|
78
|
-
}
|
|
79
|
-
// 包管理器检测
|
|
80
|
-
const lockFiles = files.filter((f) => ['pnpm-lock.yaml', 'yarn.lock', 'package-lock.json', 'bun.lockb'].includes(f));
|
|
81
|
-
if (lockFiles.includes('pnpm-lock.yaml'))
|
|
82
|
-
techStack.packageManager = 'pnpm';
|
|
83
|
-
else if (lockFiles.includes('yarn.lock'))
|
|
84
|
-
techStack.packageManager = 'yarn';
|
|
85
|
-
else if (lockFiles.includes('package-lock.json'))
|
|
86
|
-
techStack.packageManager = 'npm';
|
|
87
|
-
else if (lockFiles.includes('bun.lockb'))
|
|
88
|
-
techStack.packageManager = 'bun';
|
|
89
|
-
if (Object.keys(techStack).length > 0) {
|
|
90
|
-
result.techStack = techStack;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
// package.json 读取或解析失败,静默跳过
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Git 信息
|
|
98
|
-
try {
|
|
99
|
-
const { stdout: remoteOut } = await execFileAsync('git', ['-C', workDir, 'remote', 'get-url', 'origin'], { timeout: EXEC_TIMEOUT_MS });
|
|
100
|
-
result.gitRemote = sanitizeGitRemote(remoteOut.trim());
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
// git remote 获取失败
|
|
104
|
-
}
|
|
105
|
-
try {
|
|
106
|
-
const { stdout: branchOut } = await execFileAsync('git', ['-C', workDir, 'rev-parse', '--abbrev-ref', 'HEAD'], { timeout: EXEC_TIMEOUT_MS });
|
|
107
|
-
result.gitBranch = branchOut.trim();
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
// git branch 获取失败
|
|
111
|
-
}
|
|
112
|
-
// 扫描已安装 CLI 工具
|
|
113
|
-
const installedCli = [];
|
|
114
|
-
for (const cli of COMMON_CLI_TOOLS) {
|
|
115
|
-
try {
|
|
116
|
-
await execFileAsync('which', [cli], { timeout: EXEC_TIMEOUT_MS });
|
|
117
|
-
installedCli.push(cli);
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
// CLI 未安装
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (installedCli.length > 0) {
|
|
124
|
-
result.installedCli = installedCli;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
// readdir 失败(权限不足或路径不存在),返回基本信息
|
|
129
|
-
}
|
|
130
|
-
return result;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* 脱敏 Git remote URL:
|
|
134
|
-
* - HTTPS: 移除 userinfo(用户名:密码@)
|
|
135
|
-
* - SSH: 保持原样(git@host:org/repo)
|
|
136
|
-
* - 仅保留 host/org/repo
|
|
137
|
-
*/
|
|
138
|
-
export function sanitizeGitRemote(remote) {
|
|
139
|
-
// HTTPS with credentials: https://user:token@github.com/org/repo.git
|
|
140
|
-
const httpsMatch = remote.match(/^https?:\/\/(?:[^@]+@)?(.+)$/i);
|
|
141
|
-
if (httpsMatch) {
|
|
142
|
-
return httpsMatch[1].replace(/\.git$/, '');
|
|
143
|
-
}
|
|
144
|
-
// SSH: git@github.com:org/repo.git - already safe
|
|
145
|
-
const sshMatch = remote.match(/^git@(.+)$/);
|
|
146
|
-
if (sshMatch) {
|
|
147
|
-
return sshMatch[0].replace(/\.git$/, '');
|
|
148
|
-
}
|
|
149
|
-
// Unknown format: return as-is but strip potential userinfo
|
|
150
|
-
return remote.replace(/\/\/[^@]+@/, '//').replace(/\.git$/, '');
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* 检测运行时可用的运行时版本信息。
|
|
154
|
-
* 基于 agentType 选择性检测,避免不必要的磁盘扫描。
|
|
155
|
-
*/
|
|
156
|
-
export async function detectRuntimeInfo(runtimeBinary) {
|
|
157
|
-
try {
|
|
158
|
-
const { stdout } = await execFileAsync(runtimeBinary, ['--version'], { timeout: EXEC_TIMEOUT_MS });
|
|
159
|
-
const version = stdout.trim().split('\n')[0]; // 取第一行
|
|
160
|
-
return { version, available: true };
|
|
161
|
-
}
|
|
162
|
-
catch {
|
|
163
|
-
return { available: false };
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=WorkspaceScanner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceScanner.js","sourceRoot":"","sources":["../../src/core/WorkspaceScanner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* WinMatrix Daemon v2 — CLI Entry Point
|
|
4
|
-
*
|
|
5
|
-
* 使用 @winmatrix/agent-sdk 的 DaemonClient + AgentAdapter 架构。
|
|
6
|
-
* 方案 B:adapter 在 daemon 进程内直接运行,不再 spawn 子进程。
|
|
7
|
-
*
|
|
8
|
-
* 1. 解析 CLI 参数
|
|
9
|
-
* 2. 加载或生成持久化 installation UUID
|
|
10
|
-
* 3. 检测本地 AI runtimes
|
|
11
|
-
* 4. 注册 adapters 到全局 registry
|
|
12
|
-
* 5. 连接 WinMatrix Server (DaemonClient)
|
|
13
|
-
* 6. 监听 agent.create / agent.stop 信令
|
|
14
|
-
*/
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
|
package/dist/index.js
DELETED
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* WinMatrix Daemon v2 — CLI Entry Point
|
|
4
|
-
*
|
|
5
|
-
* 使用 @winmatrix/agent-sdk 的 DaemonClient + AgentAdapter 架构。
|
|
6
|
-
* 方案 B:adapter 在 daemon 进程内直接运行,不再 spawn 子进程。
|
|
7
|
-
*
|
|
8
|
-
* 1. 解析 CLI 参数
|
|
9
|
-
* 2. 加载或生成持久化 installation UUID
|
|
10
|
-
* 3. 检测本地 AI runtimes
|
|
11
|
-
* 4. 注册 adapters 到全局 registry
|
|
12
|
-
* 5. 连接 WinMatrix Server (DaemonClient)
|
|
13
|
-
* 6. 监听 agent.create / agent.stop 信令
|
|
14
|
-
*/
|
|
15
|
-
import { loadDaemonStartupOptions, persistDaemonCredentialsToDisk, sanitizeConfig, describeDaemonCredentialFile, } from './core/ConfigLoader.js';
|
|
16
|
-
import { getOrCreateInstallationId } from './core/InstallationId.js';
|
|
17
|
-
import { AgentProcessManager, } from './core/AgentProcessManager.js';
|
|
18
|
-
import { DaemonFileLogger, mirrorConsoleToFile } from './core/DaemonFileLogger.js';
|
|
19
|
-
import { startDiagnosticsServer } from './core/DiagnosticsServer.js';
|
|
20
|
-
import { writeDaemonPidFile, clearDaemonPidFile, runSetup, runRestart, printCliHelp, } from './core/DaemonLifecycle.js';
|
|
21
|
-
import { DaemonClient, getGlobalRegistry, ClaudeAdapter, HermesAdapter, OpenClawAdapter, } from '@winmatrix/agent-sdk';
|
|
22
|
-
import { adapterClaudePathFromRuntimeEntry, formatClaudeDoctorLines, runDaemonRuntimeDoctor, } from './core/RuntimeDoctor.js';
|
|
23
|
-
/* ── Constants ── */
|
|
24
|
-
const DAEMON_VERSION = '0.2.0';
|
|
25
|
-
/* ── Helpers ── */
|
|
26
|
-
function logConfig(config) {
|
|
27
|
-
const safe = sanitizeConfig(config);
|
|
28
|
-
const src = config.tokenSource ? ` (${config.tokenSource})` : '';
|
|
29
|
-
console.log(`[daemon] Server URL: ${safe.serverUrl}`);
|
|
30
|
-
console.log(`[daemon] Computer token: ${safe.token}${src}`);
|
|
31
|
-
}
|
|
32
|
-
function logRuntimes(runtimes) {
|
|
33
|
-
const available = runtimes.filter((r) => r.available);
|
|
34
|
-
const unavailable = runtimes.filter((r) => !r.available);
|
|
35
|
-
console.log(`[daemon] Detected ${available.length} available runtime(s):`);
|
|
36
|
-
for (const r of available) {
|
|
37
|
-
console.log(`[daemon] - ${r.name}${r.version ? ` (${r.version})` : ''}`);
|
|
38
|
-
}
|
|
39
|
-
if (unavailable.length > 0) {
|
|
40
|
-
console.log(`[daemon] ${unavailable.length} runtime(s) not found: ${unavailable.map((r) => r.name).join(', ')}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function registerAdapters() {
|
|
44
|
-
const registry = getGlobalRegistry();
|
|
45
|
-
registry.register('claude-code', ClaudeAdapter);
|
|
46
|
-
registry.register('hermes', HermesAdapter);
|
|
47
|
-
registry.register('openclaw', OpenClawAdapter);
|
|
48
|
-
console.log(`[daemon] Registered ${registry.listTypes().length} adapter(s): ${registry.listTypes().join(', ')}`);
|
|
49
|
-
}
|
|
50
|
-
/* ── Main ── */
|
|
51
|
-
function runDaemon(configArgv) {
|
|
52
|
-
console.log(`[daemon] WinMatrix Daemon v${DAEMON_VERSION} starting...`);
|
|
53
|
-
// Step 1: Load configuration
|
|
54
|
-
const { config, persistCredentials } = loadDaemonStartupOptions(configArgv);
|
|
55
|
-
const fileLogger = new DaemonFileLogger();
|
|
56
|
-
mirrorConsoleToFile(fileLogger);
|
|
57
|
-
const retentionTimer = fileLogger.startRetentionTimer();
|
|
58
|
-
if (persistCredentials && config.token.length > 0) {
|
|
59
|
-
persistDaemonCredentialsToDisk(config);
|
|
60
|
-
console.log('[daemon] Saved server URL and computerToken to ~/.winmatrix/daemon.json');
|
|
61
|
-
}
|
|
62
|
-
logConfig(config);
|
|
63
|
-
writeDaemonPidFile();
|
|
64
|
-
if (config.token.length === 0) {
|
|
65
|
-
const st = describeDaemonCredentialFile();
|
|
66
|
-
const detail = !st.fileExists
|
|
67
|
-
? `未找到配置文件 ${st.pathLabel}。请执行一次:winmatrix-daemon setup --token wmc_...(可选 --server ws://.../connect)。`
|
|
68
|
-
: `${st.pathLabel} 中未配置有效的 computerToken,或 JSON 无法解析。可编辑该文件添加 "computerToken",或:winmatrix-daemon setup --token wmc_...;也可在本终端 export WINMATRIX_TOKEN 后再执行 winmatrix-daemon restart。`;
|
|
69
|
-
console.warn(`[daemon] WARNING: No computer token. ${detail}`);
|
|
70
|
-
}
|
|
71
|
-
// Step 2: Get or create installation ID
|
|
72
|
-
const installationId = getOrCreateInstallationId();
|
|
73
|
-
console.log(`[daemon] Installation ID: ${installationId}`);
|
|
74
|
-
// Step 3: Detect runtimes
|
|
75
|
-
const runtimeDoctor = runDaemonRuntimeDoctor();
|
|
76
|
-
const runtimes = runtimeDoctor.runtimes;
|
|
77
|
-
logRuntimes(runtimes);
|
|
78
|
-
// Step 4: Register adapters
|
|
79
|
-
registerAdapters();
|
|
80
|
-
// Step 5: Create Agent Manager
|
|
81
|
-
const agentManager = new AgentProcessManager();
|
|
82
|
-
// Step 6: Connect to server as Computer
|
|
83
|
-
let daemonClient = null;
|
|
84
|
-
let isShuttingDown = false;
|
|
85
|
-
const diagDisabled = process.env.WINMATRIX_DAEMON_DIAG_DISABLE === '1' ||
|
|
86
|
-
process.env.WINMATRIX_DAEMON_DIAG_DISABLE === 'true';
|
|
87
|
-
const diagnosticsServer = !diagDisabled
|
|
88
|
-
? startDiagnosticsServer({
|
|
89
|
-
fileLogger,
|
|
90
|
-
agentManager,
|
|
91
|
-
getContext: () => ({
|
|
92
|
-
version: DAEMON_VERSION,
|
|
93
|
-
installationId,
|
|
94
|
-
serverUrl: config.serverUrl,
|
|
95
|
-
computerState: daemonClient?.getState() ?? null,
|
|
96
|
-
computerId: daemonClient?.getComputerId() ?? null,
|
|
97
|
-
uptimeSec: Math.floor(process.uptime()),
|
|
98
|
-
}),
|
|
99
|
-
onRescanProfiles: async () => {
|
|
100
|
-
try {
|
|
101
|
-
await agentManager.rescanAndReportProfiles();
|
|
102
|
-
await daemonClient?.sendHeartbeatNow();
|
|
103
|
-
return { ok: true };
|
|
104
|
-
}
|
|
105
|
-
catch (err) {
|
|
106
|
-
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
})
|
|
110
|
-
: null;
|
|
111
|
-
function connectDaemon() {
|
|
112
|
-
if (isShuttingDown)
|
|
113
|
-
return;
|
|
114
|
-
console.log(`[daemon] Connecting to ${config.serverUrl}...`);
|
|
115
|
-
daemonClient = new DaemonClient({
|
|
116
|
-
url: config.serverUrl,
|
|
117
|
-
token: config.token,
|
|
118
|
-
installationId,
|
|
119
|
-
hostOs: `${process.platform} ${process.version}`,
|
|
120
|
-
hostArch: process.arch,
|
|
121
|
-
hostname: process.env.HOSTNAME ?? process.env.HOST ?? process.env.COMPUTERNAME ?? 'unknown',
|
|
122
|
-
daemonVersion: DAEMON_VERSION,
|
|
123
|
-
autoReconnect: true,
|
|
124
|
-
runtimes: runtimes.map((r) => ({
|
|
125
|
-
name: r.name,
|
|
126
|
-
version: r.version,
|
|
127
|
-
available: r.available,
|
|
128
|
-
})),
|
|
129
|
-
});
|
|
130
|
-
// Wire profile collection: DaemonClient reads from AgentProcessManager
|
|
131
|
-
daemonClient.setProfileCollector(() => agentManager.collectAgentProfiles());
|
|
132
|
-
agentManager.setOnProfilesChanged(() => {
|
|
133
|
-
void daemonClient?.sendHeartbeatNow();
|
|
134
|
-
});
|
|
135
|
-
// Handle agent.create
|
|
136
|
-
daemonClient.onDaemonEvent('agent.create', async (payload) => {
|
|
137
|
-
const raw = payload;
|
|
138
|
-
const agentId = typeof raw.agentId === 'string' ? raw.agentId : '';
|
|
139
|
-
const agentType = typeof raw.agentType === 'string' ? raw.agentType : '';
|
|
140
|
-
if (!agentId || !agentType) {
|
|
141
|
-
console.error('[daemon] Invalid agent.create payload');
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
const agentApiKey = (typeof raw.apiKey === 'string' ? raw.apiKey : '').trim();
|
|
145
|
-
if (!agentApiKey) {
|
|
146
|
-
console.error('[daemon] Invalid agent.create: missing apiKey for agent');
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
const agentPayload = {
|
|
150
|
-
agentId,
|
|
151
|
-
agentType,
|
|
152
|
-
name: typeof raw.name === 'string' ? raw.name : undefined,
|
|
153
|
-
serverUrl: config.serverUrl,
|
|
154
|
-
apiKey: agentApiKey,
|
|
155
|
-
workDir: typeof raw.workDir === 'string' ? raw.workDir : undefined,
|
|
156
|
-
adapterConfig: {
|
|
157
|
-
claudePath: adapterClaudePathFromRuntimeEntry(runtimeDoctor.claude)
|
|
158
|
-
?? adapterClaudePathFromRuntimeEntry(config.runtimes?.claude),
|
|
159
|
-
mcpBridgeUrl: typeof raw.mcpBridgeUrl === 'string' ? raw.mcpBridgeUrl : undefined,
|
|
160
|
-
mcpApiKey: typeof raw.mcpApiKey === 'string' ? raw.mcpApiKey : undefined,
|
|
161
|
-
token: typeof raw.endpointToken === 'string' ? raw.endpointToken : undefined,
|
|
162
|
-
agentId: agentId,
|
|
163
|
-
hermesPath: typeof raw.hermesEndpoint === 'string' ? raw.hermesEndpoint : undefined,
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
const result = await agentManager.createAgent(agentPayload);
|
|
167
|
-
if (!result.ok) {
|
|
168
|
-
console.error(`[daemon] Failed to create agent: ${result.error}`);
|
|
169
|
-
// Notify server of failure via the daemon connection
|
|
170
|
-
daemonClient?.sendAgentError(agentId, result.error);
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
// Handle agent.stop
|
|
174
|
-
daemonClient.onDaemonEvent('agent.stop', async (payload) => {
|
|
175
|
-
const raw = payload;
|
|
176
|
-
const stopAgentId = typeof raw.agentId === 'string' ? raw.agentId : '';
|
|
177
|
-
if (!stopAgentId) {
|
|
178
|
-
console.error('[daemon] Invalid agent.stop payload');
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
const result = await agentManager.stopAgent({ agentId: stopAgentId });
|
|
182
|
-
if (!result.ok) {
|
|
183
|
-
console.error(`[daemon] Failed to stop agent: ${result.error}`);
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
// Connect
|
|
187
|
-
daemonClient.connect().catch((err) => {
|
|
188
|
-
console.error(`[daemon] Connection failed: ${err.message}`);
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
async function shutdown() {
|
|
192
|
-
if (isShuttingDown)
|
|
193
|
-
return;
|
|
194
|
-
isShuttingDown = true;
|
|
195
|
-
console.log('[daemon] Shutting down...');
|
|
196
|
-
clearInterval(retentionTimer);
|
|
197
|
-
diagnosticsServer?.close();
|
|
198
|
-
clearDaemonPidFile();
|
|
199
|
-
// Await agent shutdown with timeout
|
|
200
|
-
try {
|
|
201
|
-
await Promise.race([
|
|
202
|
-
agentManager.stopAllAgents(),
|
|
203
|
-
new Promise((r) => setTimeout(r, 5_000)),
|
|
204
|
-
]);
|
|
205
|
-
}
|
|
206
|
-
catch (err) {
|
|
207
|
-
console.error(`[daemon] Error stopping agents: ${err instanceof Error ? err.message : String(err)}`);
|
|
208
|
-
}
|
|
209
|
-
if (daemonClient) {
|
|
210
|
-
daemonClient.disconnect();
|
|
211
|
-
}
|
|
212
|
-
console.log('[daemon] Goodbye.');
|
|
213
|
-
process.exit(0);
|
|
214
|
-
}
|
|
215
|
-
// Register signal handlers
|
|
216
|
-
process.on('SIGINT', shutdown);
|
|
217
|
-
process.on('SIGTERM', shutdown);
|
|
218
|
-
// Start connection
|
|
219
|
-
connectDaemon();
|
|
220
|
-
}
|
|
221
|
-
async function mainEntry() {
|
|
222
|
-
const argv = process.argv.slice(2);
|
|
223
|
-
const cmd = argv[0];
|
|
224
|
-
if (cmd === 'setup') {
|
|
225
|
-
runSetup(argv.slice(1));
|
|
226
|
-
process.exit(0);
|
|
227
|
-
}
|
|
228
|
-
if (cmd === 'restart') {
|
|
229
|
-
await runRestart(argv.slice(1));
|
|
230
|
-
process.exit(process.exitCode ?? 0);
|
|
231
|
-
}
|
|
232
|
-
if (cmd === 'doctor') {
|
|
233
|
-
const target = argv[1] ?? 'claude';
|
|
234
|
-
if (target !== 'claude') {
|
|
235
|
-
console.error(`[daemon] doctor: unsupported runtime '${target}'`);
|
|
236
|
-
process.exit(1);
|
|
237
|
-
}
|
|
238
|
-
const summary = runDaemonRuntimeDoctor();
|
|
239
|
-
for (const line of formatClaudeDoctorLines(summary.claude)) {
|
|
240
|
-
console.log(line);
|
|
241
|
-
}
|
|
242
|
-
process.exit(summary.claude.available ? 0 : 1);
|
|
243
|
-
}
|
|
244
|
-
if (cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
245
|
-
printCliHelp(DAEMON_VERSION);
|
|
246
|
-
process.exit(0);
|
|
247
|
-
}
|
|
248
|
-
runDaemon(argv);
|
|
249
|
-
}
|
|
250
|
-
mainEntry().catch((err) => {
|
|
251
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
252
|
-
process.exit(1);
|
|
253
|
-
});
|
|
254
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,cAAc,EACd,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,mBAAmB,GAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,GAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,qBAAqB;AAErB,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,mBAAmB;AAEnB,SAAS,SAAS,CAAC,MAAoB;IACrC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,QAAmB;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,CAAC,MAAM,0BAA0B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAmC,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAmC,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAqC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,gBAAgB,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,gBAAgB;AAEhB,SAAS,SAAS,CAAC,UAAoB;IACrC,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,cAAc,CAAC,CAAC;IAExE,6BAA6B;IAC7B,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC1C,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAExD,IAAI,kBAAkB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,8BAA8B,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,kBAAkB,EAAE,CAAC;IAErB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,4BAA4B,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU;YAC3B,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,8EAA8E;YACvG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,mKAAmK,CAAC;QACvL,OAAO,CAAC,IAAI,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEtB,4BAA4B;IAC5B,gBAAgB,EAAE,CAAC;IAEnB,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE/C,wCAAwC;IACxC,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG;QACjD,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,MAAM,CAAC;IAEvD,MAAM,iBAAiB,GAAG,CAAC,YAAY;QACrC,CAAC,CAAC,sBAAsB,CAAC;YACrB,UAAU;YACV,YAAY;YACZ,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,cAAc;gBACd,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,IAAI;gBAC/C,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,IAAI;gBACjD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACxC,CAAC;YACF,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC3B,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,uBAAuB,EAAE,CAAC;oBAC7C,MAAM,YAAY,EAAE,gBAAgB,EAAE,CAAC;oBACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChF,CAAC;YACH,CAAC;SACF,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,SAAS,aAAa;QACpB,IAAI,cAAc;YAAE,OAAO;QAE3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;QAE7D,YAAY,GAAG,IAAI,YAAY,CAAC;YAC9B,GAAG,EAAE,MAAM,CAAC,SAAS;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc;YACd,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;YAChD,QAAQ,EAAE,OAAO,CAAC,IAAI;YACtB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS;YAC3F,aAAa,EAAE,cAAc;YAC7B,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,uEAAuE;QACvE,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC5E,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACrC,KAAK,YAAY,EAAE,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,YAAY,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3D,MAAM,GAAG,GAAG,OAAkC,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAuB;gBACvC,OAAO;gBACP,SAAS;gBACT,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACzD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAClE,aAAa,EAAE;oBACb,UAAU,EAAE,iCAAiC,CAAC,aAAa,CAAC,MAAM,CAAC;2BAC9D,iCAAiC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAC/D,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBACjF,SAAS,EAAE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACxE,KAAK,EAAE,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;oBAC5E,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;iBACpF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,qDAAqD;gBACrD,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,GAAG,GAAG,OAAkC,CAAC;YAC/C,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU;QACV,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,QAAQ;QACrB,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAEzC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,iBAAiB,EAAE,KAAK,EAAE,CAAC;QAC3B,kBAAkB,EAAE,CAAC;QAErB,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,YAAY,CAAC,aAAa,EAAE;gBAC5B,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,mBAAmB;IACnB,aAAa,EAAE,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QACnC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,yCAAyC,MAAM,GAAG,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACvD,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1,80 +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 { type ChildProcess } from 'node:child_process';
|
|
6
|
-
export interface WrapperConfig {
|
|
7
|
-
agentId: string;
|
|
8
|
-
apiKey: string;
|
|
9
|
-
name: string;
|
|
10
|
-
agentType: string;
|
|
11
|
-
runtime: string;
|
|
12
|
-
workDir?: string;
|
|
13
|
-
hermesEndpoint?: string;
|
|
14
|
-
endpoint?: string;
|
|
15
|
-
endpointToken?: string;
|
|
16
|
-
mcpBridgeUrl?: string;
|
|
17
|
-
mcpApiKey?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface TaskAssignPayload {
|
|
20
|
-
taskId: string;
|
|
21
|
-
input: string;
|
|
22
|
-
mode?: 'oneshot' | 'session';
|
|
23
|
-
workDir?: string;
|
|
24
|
-
env?: Record<string, string>;
|
|
25
|
-
claude?: ClaudeTaskConfig;
|
|
26
|
-
hermes?: HermesTaskConfig;
|
|
27
|
-
endpoint?: string;
|
|
28
|
-
endpointToken?: string;
|
|
29
|
-
context?: unknown;
|
|
30
|
-
streaming?: boolean;
|
|
31
|
-
systemPrompt?: string;
|
|
32
|
-
mcpToken?: string;
|
|
33
|
-
}
|
|
34
|
-
interface ClaudeTaskConfig {
|
|
35
|
-
sessionId?: string;
|
|
36
|
-
resumeSession?: boolean;
|
|
37
|
-
forkSession?: boolean;
|
|
38
|
-
tools?: string[];
|
|
39
|
-
disallowedTools?: string[];
|
|
40
|
-
permissionMode?: 'auto' | 'acceptEdits' | 'default';
|
|
41
|
-
maxBudgetUsd?: number;
|
|
42
|
-
systemPrompt?: string;
|
|
43
|
-
}
|
|
44
|
-
interface HermesTaskConfig {
|
|
45
|
-
endpoint?: string;
|
|
46
|
-
timeoutMs?: number;
|
|
47
|
-
}
|
|
48
|
-
export interface RunningTask {
|
|
49
|
-
taskId: string;
|
|
50
|
-
process: ChildProcess | null;
|
|
51
|
-
abortController: AbortController | null;
|
|
52
|
-
startedAt: number;
|
|
53
|
-
stdoutChunks: string[];
|
|
54
|
-
completed: boolean;
|
|
55
|
-
completionPromise?: Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
export interface TaskCallbacks {
|
|
58
|
-
onDelta: (taskId: string, content: string, meta?: Record<string, unknown>) => void;
|
|
59
|
-
onComplete: (taskId: string, result: unknown, sessionId?: string, usage?: {
|
|
60
|
-
input_tokens: number;
|
|
61
|
-
output_tokens: number;
|
|
62
|
-
}) => void;
|
|
63
|
-
onError: (taskId: string, error: string) => void;
|
|
64
|
-
}
|
|
65
|
-
export declare class WrapperProcessManager {
|
|
66
|
-
private readonly config;
|
|
67
|
-
private readonly callbacks;
|
|
68
|
-
private readonly runningTasks;
|
|
69
|
-
constructor(config: WrapperConfig, callbacks: TaskCallbacks);
|
|
70
|
-
getRunningTaskCount(): number;
|
|
71
|
-
routeTask(task: TaskAssignPayload): void;
|
|
72
|
-
cancelTask(taskId: string): void;
|
|
73
|
-
shutdown(): Promise<void>;
|
|
74
|
-
private cleanupTask;
|
|
75
|
-
private spawnClaudeCodeTask;
|
|
76
|
-
private spawnHttpTask;
|
|
77
|
-
private spawnGenericTask;
|
|
78
|
-
}
|
|
79
|
-
export {};
|
|
80
|
-
//# sourceMappingURL=AgentProcessManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentProcessManager.d.ts","sourceRoot":"","sources":["../../src/wrapper/AgentProcessManager.ts"],"names":[],"mappings":"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"}
|