@winmatrix/daemon 1.0.4 → 1.0.5
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/bin/winmatrix-daemon.js +3 -1
- package/dist/core/AgentProcessManager.d.ts +111 -0
- package/dist/core/AgentProcessManager.d.ts.map +1 -0
- package/dist/core/AgentProcessManager.js +701 -0
- package/dist/core/AgentProcessManager.js.map +1 -0
- package/dist/core/ConfigLoader.d.ts +110 -0
- package/dist/core/ConfigLoader.d.ts.map +1 -0
- package/dist/core/ConfigLoader.js +296 -0
- package/dist/core/ConfigLoader.js.map +1 -0
- package/dist/core/DaemonClient.d.ts +102 -0
- package/dist/core/DaemonClient.d.ts.map +1 -0
- package/dist/core/DaemonClient.js +225 -0
- package/dist/core/DaemonClient.js.map +1 -0
- package/dist/core/DaemonFileLogger.d.ts +34 -0
- package/dist/core/DaemonFileLogger.d.ts.map +1 -0
- package/dist/core/DaemonFileLogger.js +192 -0
- package/dist/core/DaemonFileLogger.js.map +1 -0
- package/dist/core/DaemonLifecycle.d.ts +22 -0
- package/dist/core/DaemonLifecycle.d.ts.map +1 -0
- package/dist/core/DaemonLifecycle.js +157 -0
- package/dist/core/DaemonLifecycle.js.map +1 -0
- package/dist/core/DiagnosticsServer.d.ts +28 -0
- package/dist/core/DiagnosticsServer.d.ts.map +1 -0
- package/dist/core/DiagnosticsServer.js +155 -0
- package/dist/core/DiagnosticsServer.js.map +1 -0
- package/dist/core/InstallationId.d.ts +14 -0
- package/dist/core/InstallationId.d.ts.map +1 -0
- package/dist/core/InstallationId.js +50 -0
- package/dist/core/InstallationId.js.map +1 -0
- package/dist/core/RuntimeDoctor.d.ts +13 -0
- package/dist/core/RuntimeDoctor.d.ts.map +1 -0
- package/dist/core/RuntimeDoctor.js +86 -0
- package/dist/core/RuntimeDoctor.js.map +1 -0
- package/dist/core/WinMatrixAgentClient.d.ts +183 -0
- package/dist/core/WinMatrixAgentClient.d.ts.map +1 -0
- package/dist/core/WinMatrixAgentClient.js +555 -0
- package/dist/core/WinMatrixAgentClient.js.map +1 -0
- package/dist/core/WorkspaceScanner.d.ts +45 -0
- package/dist/core/WorkspaceScanner.d.ts.map +1 -0
- package/dist/core/WorkspaceScanner.js +166 -0
- package/dist/core/WorkspaceScanner.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +264 -0
- package/dist/index.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProcessManager.js","sourceRoot":"","sources":["../../src/core/AgentProcessManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WinMatrix Daemon - Config Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from ~/.winmatrix/daemon.json, CLI arguments, and environment variables.
|
|
5
|
+
* Optional field `computerToken` in daemon.json holds the Computer token (wmc_...) for restart
|
|
6
|
+
* without re-exporting WINMATRIX_TOKEN. Use `--persist-token` once to write CLI/env token to disk.
|
|
7
|
+
*/
|
|
8
|
+
export interface DaemonConfig {
|
|
9
|
+
serverUrl: string;
|
|
10
|
+
token: string;
|
|
11
|
+
/** 指示 token 来源:CLI / 环境变量 / 配置文件 */
|
|
12
|
+
tokenSource?: 'token' | 'env' | 'file';
|
|
13
|
+
runtimes?: DaemonRuntimeConfig;
|
|
14
|
+
}
|
|
15
|
+
export interface DaemonRuntimeEntry {
|
|
16
|
+
available?: boolean;
|
|
17
|
+
checkedAt?: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
command?: string;
|
|
20
|
+
args?: string[];
|
|
21
|
+
shell?: boolean;
|
|
22
|
+
resolvedPath?: string;
|
|
23
|
+
source?: string;
|
|
24
|
+
error?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface DaemonRuntimeConfig {
|
|
27
|
+
claude?: DaemonRuntimeEntry;
|
|
28
|
+
}
|
|
29
|
+
interface DaemonJsonFile {
|
|
30
|
+
serverUrl?: string;
|
|
31
|
+
/** Computer registration token (wmc_...). Legacy alias: `token` */
|
|
32
|
+
computerToken?: string;
|
|
33
|
+
token?: string;
|
|
34
|
+
runtimes?: DaemonRuntimeConfig;
|
|
35
|
+
}
|
|
36
|
+
/** Options after parsing argv (run / restart) */
|
|
37
|
+
export interface DaemonStartupOptions {
|
|
38
|
+
config: DaemonConfig;
|
|
39
|
+
/** 若 true 且在解析后 token 非空,将把 serverUrl + computerToken 写入 daemon.json */
|
|
40
|
+
persistCredentials: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** 默认 WinMatrix 外部 Agent WebSocket 地址(与文档一致) */
|
|
43
|
+
export declare const DEFAULT_DAEMON_PUBLIC_BASE_URL = "https://winmatrix.winning.com.cn/winmatrix";
|
|
44
|
+
export declare const DEFAULT_DAEMON_SERVER_URL = "wss://winmatrix.winning.com.cn/winmatrix/api/v1/external-agents/connect";
|
|
45
|
+
/**
|
|
46
|
+
* 规范化 Daemon WebSocket 地址:
|
|
47
|
+
* - 纠正常见笔误 `ws://http://host` → `ws://host`
|
|
48
|
+
* - 将 `http(s)://` API 基址转为 `ws(s)://` 并补全路径(若未包含 connect 路径)
|
|
49
|
+
* - `ws(s)://host:port` 无路径时补全默认 connect 路径
|
|
50
|
+
*/
|
|
51
|
+
export declare function normalizeDaemonServerUrl(input: string): string;
|
|
52
|
+
export declare function isDefaultDaemonServerUrl(input: string): boolean;
|
|
53
|
+
export declare function getDaemonConfigFilePath(): string;
|
|
54
|
+
/** 控制台用短路径标签(POSIX 语义:~/...),与配置文件实际读取路径一致。 */
|
|
55
|
+
export declare function getDaemonConfigPathLabel(): string;
|
|
56
|
+
/**
|
|
57
|
+
* 判断是否已在 daemon.json 持久化 Computer token(不涉及进程环境)。
|
|
58
|
+
*/
|
|
59
|
+
export declare function describeDaemonCredentialFile(): {
|
|
60
|
+
pathLabel: string;
|
|
61
|
+
fileExists: boolean;
|
|
62
|
+
hasStoredComputerToken: boolean;
|
|
63
|
+
};
|
|
64
|
+
/** 从 JSON 段落读取 token(computerToken 优先,其次别名 token) */
|
|
65
|
+
export declare function tokenFromDaemonJsonFields(file: Partial<DaemonJsonFile>): string;
|
|
66
|
+
export declare function loadDaemonJson(): Partial<DaemonJsonFile>;
|
|
67
|
+
export declare function parseCliArgs(argv: string[]): {
|
|
68
|
+
server?: string;
|
|
69
|
+
token?: string;
|
|
70
|
+
tokenSource?: 'token';
|
|
71
|
+
persistCredentials?: boolean;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Resolve config + optional persistence flag for daemon startup.
|
|
75
|
+
*
|
|
76
|
+
* Token priority:
|
|
77
|
+
* 1. CLI (--token)
|
|
78
|
+
* 2. Environment (WINMATRIX_TOKEN)
|
|
79
|
+
* 3. Config file (~/.winmatrix/daemon.json `computerToken`, or legacy `token`)
|
|
80
|
+
*
|
|
81
|
+
* Server URL priority:
|
|
82
|
+
* 1. CLI (--server)
|
|
83
|
+
* 2. daemon.json serverUrl
|
|
84
|
+
* 3. Default localhost WebSocket URL
|
|
85
|
+
*/
|
|
86
|
+
export declare function loadDaemonStartupOptions(argv: string[]): DaemonStartupOptions;
|
|
87
|
+
export declare function loadConfig(argv: string[]): DaemonConfig;
|
|
88
|
+
/**
|
|
89
|
+
* 将当前解析得到的 server URL / Computer token 写回磁盘(chmod 0600)。
|
|
90
|
+
* `computerToken` 为空时仅从文件改写 `serverUrl`,不删除已有 `computerToken`。
|
|
91
|
+
*/
|
|
92
|
+
export declare function mergeDaemonSetupConfigToDisk(opts: {
|
|
93
|
+
serverUrl: string;
|
|
94
|
+
computerToken?: string;
|
|
95
|
+
}): void;
|
|
96
|
+
/**
|
|
97
|
+
* Merge server URL + Computer token into ~/.winmatrix/daemon.json (chmod 0600).
|
|
98
|
+
* Drops legacy JSON key `token` in favor of `computerToken`.
|
|
99
|
+
*/
|
|
100
|
+
export declare function persistDaemonCredentialsToDisk(config: DaemonConfig): void;
|
|
101
|
+
export declare function persistDaemonRuntimeToDisk(runtimeName: 'claude', runtime: DaemonRuntimeEntry): void;
|
|
102
|
+
/**
|
|
103
|
+
* Sanitize a config for logging (token replaced with ***).
|
|
104
|
+
*/
|
|
105
|
+
export declare function sanitizeConfig(config: DaemonConfig): {
|
|
106
|
+
serverUrl: string;
|
|
107
|
+
token: string;
|
|
108
|
+
};
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=ConfigLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/core/ConfigLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WinMatrix Daemon - Config Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from ~/.winmatrix/daemon.json, CLI arguments, and environment variables.
|
|
5
|
+
* Optional field `computerToken` in daemon.json holds the Computer token (wmc_...) for restart
|
|
6
|
+
* without re-exporting WINMATRIX_TOKEN. Use `--persist-token` once to write CLI/env token to disk.
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync, chmodSync } from 'node:fs';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
/* ── Constants ── */
|
|
12
|
+
const DAEMON_HOME_DIR = '.winmatrix';
|
|
13
|
+
const DAEMON_CONFIG_FILE = 'daemon.json';
|
|
14
|
+
/** 默认 WinMatrix 外部 Agent WebSocket 地址(与文档一致) */
|
|
15
|
+
export const DEFAULT_DAEMON_PUBLIC_BASE_URL = 'https://winmatrix.winning.com.cn/winmatrix';
|
|
16
|
+
export const DEFAULT_DAEMON_SERVER_URL = 'wss://winmatrix.winning.com.cn/winmatrix/api/v1/external-agents/connect';
|
|
17
|
+
const EXTERNAL_AGENT_WS_PATH = '/api/v1/external-agents/connect';
|
|
18
|
+
/**
|
|
19
|
+
* 规范化 Daemon WebSocket 地址:
|
|
20
|
+
* - 纠正常见笔误 `ws://http://host` → `ws://host`
|
|
21
|
+
* - 将 `http(s)://` API 基址转为 `ws(s)://` 并补全路径(若未包含 connect 路径)
|
|
22
|
+
* - `ws(s)://host:port` 无路径时补全默认 connect 路径
|
|
23
|
+
*/
|
|
24
|
+
export function normalizeDaemonServerUrl(input) {
|
|
25
|
+
let s = input.trim();
|
|
26
|
+
if (!s)
|
|
27
|
+
return DEFAULT_DAEMON_SERVER_URL;
|
|
28
|
+
s = s.replace(/^ws:\/\/http:\/\//i, 'ws://').replace(/^wss:\/\/https:\/\//i, 'wss://');
|
|
29
|
+
s = s.replace(/^wss:\/\/http:\/\//i, 'wss://');
|
|
30
|
+
if (/^https:\/\//i.test(s)) {
|
|
31
|
+
const base = s.replace(/^https/i, 'wss').replace(/\/$/, '');
|
|
32
|
+
return base.includes(EXTERNAL_AGENT_WS_PATH)
|
|
33
|
+
? base
|
|
34
|
+
: `${base}${EXTERNAL_AGENT_WS_PATH}`;
|
|
35
|
+
}
|
|
36
|
+
if (/^http:\/\//i.test(s)) {
|
|
37
|
+
const base = s.replace(/^http/i, 'ws').replace(/\/$/, '');
|
|
38
|
+
return base.includes(EXTERNAL_AGENT_WS_PATH)
|
|
39
|
+
? base
|
|
40
|
+
: `${base}${EXTERNAL_AGENT_WS_PATH}`;
|
|
41
|
+
}
|
|
42
|
+
if (/^wss:\/\//i.test(s) && !s.includes(EXTERNAL_AGENT_WS_PATH)) {
|
|
43
|
+
return `${s.replace(/\/$/, '')}${EXTERNAL_AGENT_WS_PATH}`;
|
|
44
|
+
}
|
|
45
|
+
if (/^ws:\/\//i.test(s) && !s.includes(EXTERNAL_AGENT_WS_PATH)) {
|
|
46
|
+
return `${s.replace(/\/$/, '')}${EXTERNAL_AGENT_WS_PATH}`;
|
|
47
|
+
}
|
|
48
|
+
return s;
|
|
49
|
+
}
|
|
50
|
+
export function isDefaultDaemonServerUrl(input) {
|
|
51
|
+
return normalizeDaemonServerUrl(input) === DEFAULT_DAEMON_SERVER_URL;
|
|
52
|
+
}
|
|
53
|
+
/* ── Helpers ── */
|
|
54
|
+
function getDaemonHomePath() {
|
|
55
|
+
return path.join(homedir(), DAEMON_HOME_DIR);
|
|
56
|
+
}
|
|
57
|
+
function getDaemonConfigPath() {
|
|
58
|
+
return path.join(getDaemonHomePath(), DAEMON_CONFIG_FILE);
|
|
59
|
+
}
|
|
60
|
+
function parseDaemonJson(raw) {
|
|
61
|
+
const normalized = raw.charCodeAt(0) === 0xfeff ? raw.slice(1) : raw;
|
|
62
|
+
const parsed = JSON.parse(normalized);
|
|
63
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
return parsed;
|
|
67
|
+
}
|
|
68
|
+
/** 供 setup / 运维脚本使用 */
|
|
69
|
+
function normalizeRuntimeEntry(input) {
|
|
70
|
+
if (typeof input !== 'object' || input === null || Array.isArray(input)) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const obj = input;
|
|
74
|
+
const args = Array.isArray(obj.args)
|
|
75
|
+
? obj.args.filter((item) => typeof item === 'string')
|
|
76
|
+
: undefined;
|
|
77
|
+
return {
|
|
78
|
+
...(typeof obj.available === 'boolean' ? { available: obj.available } : {}),
|
|
79
|
+
...(typeof obj.checkedAt === 'string' ? { checkedAt: obj.checkedAt } : {}),
|
|
80
|
+
...(typeof obj.version === 'string' ? { version: obj.version } : {}),
|
|
81
|
+
...(typeof obj.command === 'string' ? { command: obj.command } : {}),
|
|
82
|
+
...(args && args.length > 0 ? { args } : {}),
|
|
83
|
+
...(typeof obj.shell === 'boolean' ? { shell: obj.shell } : {}),
|
|
84
|
+
...(typeof obj.resolvedPath === 'string' ? { resolvedPath: obj.resolvedPath } : {}),
|
|
85
|
+
...(typeof obj.source === 'string' ? { source: obj.source } : {}),
|
|
86
|
+
...(typeof obj.error === 'string' ? { error: obj.error } : {}),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function normalizeRuntimeConfig(input) {
|
|
90
|
+
if (typeof input !== 'object' || input === null || Array.isArray(input)) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
const obj = input;
|
|
94
|
+
const claude = normalizeRuntimeEntry(obj.claude);
|
|
95
|
+
return claude ? { claude } : undefined;
|
|
96
|
+
}
|
|
97
|
+
export function getDaemonConfigFilePath() {
|
|
98
|
+
return getDaemonConfigPath();
|
|
99
|
+
}
|
|
100
|
+
/** 控制台用短路径标签(POSIX 语义:~/...),与配置文件实际读取路径一致。 */
|
|
101
|
+
export function getDaemonConfigPathLabel() {
|
|
102
|
+
const h = `${homedir()}${path.sep}`;
|
|
103
|
+
const cfg = getDaemonConfigPath();
|
|
104
|
+
return cfg.startsWith(h) ? `~/${path.relative(homedir(), cfg)}`.replace(/\\/g, '/') : cfg;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 判断是否已在 daemon.json 持久化 Computer token(不涉及进程环境)。
|
|
108
|
+
*/
|
|
109
|
+
export function describeDaemonCredentialFile() {
|
|
110
|
+
const pathLabel = getDaemonConfigPathLabel();
|
|
111
|
+
const fileExists = existsSync(getDaemonConfigPath());
|
|
112
|
+
const hasStoredComputerToken = tokenFromDaemonJsonFields(loadDaemonJson()).length > 0;
|
|
113
|
+
return { pathLabel, fileExists, hasStoredComputerToken };
|
|
114
|
+
}
|
|
115
|
+
/** 从 JSON 段落读取 token(computerToken 优先,其次别名 token) */
|
|
116
|
+
export function tokenFromDaemonJsonFields(file) {
|
|
117
|
+
const raw = file.computerToken ?? file.token;
|
|
118
|
+
return typeof raw === 'string' ? raw.trim() : '';
|
|
119
|
+
}
|
|
120
|
+
export function loadDaemonJson() {
|
|
121
|
+
const configPath = getDaemonConfigPath();
|
|
122
|
+
if (!existsSync(configPath)) {
|
|
123
|
+
return {};
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
const raw = readFileSync(configPath, 'utf-8');
|
|
127
|
+
return parseDaemonJson(raw);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return {};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function readDaemonJsonObject() {
|
|
134
|
+
const configPath = getDaemonConfigPath();
|
|
135
|
+
if (!existsSync(configPath)) {
|
|
136
|
+
return {};
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const raw = readFileSync(configPath, 'utf-8');
|
|
140
|
+
const parsed = parseDaemonJson(raw);
|
|
141
|
+
return { ...parsed };
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return {};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/** 将遗留 JSON 字段 `token` 合并入 `computerToken` 并从对象中删掉 `token` */
|
|
148
|
+
function migrateLegacyTokenKey(obj) {
|
|
149
|
+
const legacy = typeof obj.token === 'string' ? obj.token.trim() : '';
|
|
150
|
+
const cur = typeof obj.computerToken === 'string' ? obj.computerToken.trim() : '';
|
|
151
|
+
delete obj.token;
|
|
152
|
+
if (!cur && legacy)
|
|
153
|
+
obj.computerToken = legacy;
|
|
154
|
+
}
|
|
155
|
+
export function parseCliArgs(argv) {
|
|
156
|
+
const result = {};
|
|
157
|
+
for (let i = 0; i < argv.length; i++) {
|
|
158
|
+
if (argv[i] === '--server' && i + 1 < argv.length) {
|
|
159
|
+
result.server = argv[++i];
|
|
160
|
+
}
|
|
161
|
+
else if (argv[i] === '--token' && i + 1 < argv.length) {
|
|
162
|
+
result.token = argv[++i];
|
|
163
|
+
result.tokenSource = 'token';
|
|
164
|
+
}
|
|
165
|
+
else if (argv[i].startsWith('--server=')) {
|
|
166
|
+
result.server = argv[i].slice('--server='.length);
|
|
167
|
+
}
|
|
168
|
+
else if (argv[i].startsWith('--token=')) {
|
|
169
|
+
result.token = argv[i].slice('--token='.length);
|
|
170
|
+
result.tokenSource = 'token';
|
|
171
|
+
}
|
|
172
|
+
else if (argv[i] === '--persist-token') {
|
|
173
|
+
result.persistCredentials = true;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
/* ── Public API ── */
|
|
179
|
+
/**
|
|
180
|
+
* Resolve config + optional persistence flag for daemon startup.
|
|
181
|
+
*
|
|
182
|
+
* Token priority:
|
|
183
|
+
* 1. CLI (--token)
|
|
184
|
+
* 2. Environment (WINMATRIX_TOKEN)
|
|
185
|
+
* 3. Config file (~/.winmatrix/daemon.json `computerToken`, or legacy `token`)
|
|
186
|
+
*
|
|
187
|
+
* Server URL priority:
|
|
188
|
+
* 1. CLI (--server)
|
|
189
|
+
* 2. daemon.json serverUrl
|
|
190
|
+
* 3. Default localhost WebSocket URL
|
|
191
|
+
*/
|
|
192
|
+
export function loadDaemonStartupOptions(argv) {
|
|
193
|
+
const fileConfig = loadDaemonJson();
|
|
194
|
+
const argsConfig = parseCliArgs(argv);
|
|
195
|
+
const rawServerUrl = argsConfig.server ?? fileConfig.serverUrl ?? DEFAULT_DAEMON_SERVER_URL;
|
|
196
|
+
const serverUrl = normalizeDaemonServerUrl(rawServerUrl);
|
|
197
|
+
const tokenFromFile = tokenFromDaemonJsonFields(fileConfig);
|
|
198
|
+
const tokenCli = typeof argsConfig.token === 'string' ? argsConfig.token.trim() : '';
|
|
199
|
+
const tokenEnv = (process.env.WINMATRIX_TOKEN ?? '').trim();
|
|
200
|
+
let token = '';
|
|
201
|
+
let tokenSource;
|
|
202
|
+
if (tokenCli.length > 0) {
|
|
203
|
+
token = tokenCli;
|
|
204
|
+
tokenSource = 'token';
|
|
205
|
+
}
|
|
206
|
+
else if (tokenEnv.length > 0) {
|
|
207
|
+
token = tokenEnv;
|
|
208
|
+
tokenSource = 'env';
|
|
209
|
+
}
|
|
210
|
+
else if (tokenFromFile.length > 0) {
|
|
211
|
+
token = tokenFromFile;
|
|
212
|
+
tokenSource = 'file';
|
|
213
|
+
}
|
|
214
|
+
const persistCredentials = argsConfig.persistCredentials === true;
|
|
215
|
+
return {
|
|
216
|
+
config: {
|
|
217
|
+
serverUrl,
|
|
218
|
+
token,
|
|
219
|
+
tokenSource,
|
|
220
|
+
runtimes: normalizeRuntimeConfig(fileConfig.runtimes),
|
|
221
|
+
},
|
|
222
|
+
persistCredentials,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export function loadConfig(argv) {
|
|
226
|
+
return loadDaemonStartupOptions(argv).config;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* 将当前解析得到的 server URL / Computer token 写回磁盘(chmod 0600)。
|
|
230
|
+
* `computerToken` 为空时仅从文件改写 `serverUrl`,不删除已有 `computerToken`。
|
|
231
|
+
*/
|
|
232
|
+
export function mergeDaemonSetupConfigToDisk(opts) {
|
|
233
|
+
const home = getDaemonHomePath();
|
|
234
|
+
if (!existsSync(home)) {
|
|
235
|
+
mkdirSync(home, { recursive: true, mode: 0o700 });
|
|
236
|
+
chmodSync(home, 0o700);
|
|
237
|
+
}
|
|
238
|
+
const obj = readDaemonJsonObject();
|
|
239
|
+
migrateLegacyTokenKey(obj);
|
|
240
|
+
obj.serverUrl = opts.serverUrl;
|
|
241
|
+
const nextTok = opts.computerToken?.trim();
|
|
242
|
+
if (nextTok && nextTok.length > 0) {
|
|
243
|
+
obj.computerToken = nextTok;
|
|
244
|
+
}
|
|
245
|
+
const cfgPath = getDaemonConfigPath();
|
|
246
|
+
const body = `${JSON.stringify(obj, null, 2)}\n`;
|
|
247
|
+
writeFileSync(cfgPath, body, { encoding: 'utf-8', mode: 0o600 });
|
|
248
|
+
chmodSync(cfgPath, 0o600);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Merge server URL + Computer token into ~/.winmatrix/daemon.json (chmod 0600).
|
|
252
|
+
* Drops legacy JSON key `token` in favor of `computerToken`.
|
|
253
|
+
*/
|
|
254
|
+
export function persistDaemonCredentialsToDisk(config) {
|
|
255
|
+
const home = getDaemonHomePath();
|
|
256
|
+
if (!existsSync(home)) {
|
|
257
|
+
mkdirSync(home, { recursive: true, mode: 0o700 });
|
|
258
|
+
chmodSync(home, 0o700);
|
|
259
|
+
}
|
|
260
|
+
const obj = readDaemonJsonObject();
|
|
261
|
+
migrateLegacyTokenKey(obj);
|
|
262
|
+
obj.serverUrl = config.serverUrl;
|
|
263
|
+
obj.computerToken = config.token;
|
|
264
|
+
const cfgPath = getDaemonConfigPath();
|
|
265
|
+
const body = `${JSON.stringify(obj, null, 2)}\n`;
|
|
266
|
+
writeFileSync(cfgPath, body, { encoding: 'utf-8', mode: 0o600 });
|
|
267
|
+
chmodSync(cfgPath, 0o600);
|
|
268
|
+
}
|
|
269
|
+
export function persistDaemonRuntimeToDisk(runtimeName, runtime) {
|
|
270
|
+
const home = getDaemonHomePath();
|
|
271
|
+
if (!existsSync(home)) {
|
|
272
|
+
mkdirSync(home, { recursive: true, mode: 0o700 });
|
|
273
|
+
chmodSync(home, 0o700);
|
|
274
|
+
}
|
|
275
|
+
const obj = readDaemonJsonObject();
|
|
276
|
+
migrateLegacyTokenKey(obj);
|
|
277
|
+
const runtimes = typeof obj.runtimes === 'object' && obj.runtimes !== null && !Array.isArray(obj.runtimes)
|
|
278
|
+
? { ...obj.runtimes }
|
|
279
|
+
: {};
|
|
280
|
+
runtimes[runtimeName] = runtime;
|
|
281
|
+
obj.runtimes = runtimes;
|
|
282
|
+
const cfgPath = getDaemonConfigPath();
|
|
283
|
+
const body = `${JSON.stringify(obj, null, 2)}\n`;
|
|
284
|
+
writeFileSync(cfgPath, body, { encoding: 'utf-8', mode: 0o600 });
|
|
285
|
+
chmodSync(cfgPath, 0o600);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Sanitize a config for logging (token replaced with ***).
|
|
289
|
+
*/
|
|
290
|
+
export function sanitizeConfig(config) {
|
|
291
|
+
return {
|
|
292
|
+
serverUrl: config.serverUrl,
|
|
293
|
+
token: config.token.length > 0 ? '***' : '(empty)',
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=ConfigLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/core/ConfigLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WinMatrix Agent SDK - DaemonClient
|
|
3
|
+
*
|
|
4
|
+
* Extends WinMatrixAgentClient for the Computer/Daemon connection model.
|
|
5
|
+
* After WebSocket connection, sends `computer.register` (instead of `register`)
|
|
6
|
+
* with the computer's identity, host info, and detected runtimes.
|
|
7
|
+
*
|
|
8
|
+
* The Daemon connection acts as a multiplexing channel:
|
|
9
|
+
* - computer.heartbeat events keep the Computer alive
|
|
10
|
+
* - agent.create / agent.stop events manage Agent lifecycle on the host
|
|
11
|
+
* - task.* messages are routed by agentId for individual agents
|
|
12
|
+
*/
|
|
13
|
+
import { type AgentProfile, type ComputerRegisterParams, type ClientInboundFrame } from '@winmatrix/protocol';
|
|
14
|
+
import { WinMatrixAgentClient, type WinMatrixAgentClientOptions } from './WinMatrixAgentClient.js';
|
|
15
|
+
export interface DaemonClientOptions extends Omit<WinMatrixAgentClientOptions, 'agentId' | 'name' | 'agentType' | 'capabilities' | 'apiKey'> {
|
|
16
|
+
/** Persistent installation UUID */
|
|
17
|
+
installationId: string;
|
|
18
|
+
/** Computer registration token (wmc_...) */
|
|
19
|
+
token: string;
|
|
20
|
+
/** Operating system name + version (e.g. "darwin 24.0.0") */
|
|
21
|
+
hostOs: string;
|
|
22
|
+
/** CPU architecture (e.g. "arm64") */
|
|
23
|
+
hostArch: string;
|
|
24
|
+
/** Hostname of the machine */
|
|
25
|
+
hostname: string;
|
|
26
|
+
/** Daemon version string */
|
|
27
|
+
daemonVersion?: string;
|
|
28
|
+
/** Detected AI runtimes on this computer */
|
|
29
|
+
runtimes: ComputerRegisterParams['runtimes'];
|
|
30
|
+
/** Agent types the daemon can host natively (e.g. ["claude-code","hermes","openclaw"]) */
|
|
31
|
+
supportedAgentTypes?: string[];
|
|
32
|
+
/**
|
|
33
|
+
* Called for agent-level messages that should be forwarded to AgentWrapper
|
|
34
|
+
* rather than handled by the SDK client.
|
|
35
|
+
*
|
|
36
|
+
* @param frame - Parsed standard frame (event/req/res)
|
|
37
|
+
* @param raw - Raw JSON string for forwarding to Wrapper stdin
|
|
38
|
+
* @param agentId - Top-level agentId extracted from the raw JSON before parseFrame
|
|
39
|
+
*/
|
|
40
|
+
onPassthrough?: (frame: ClientInboundFrame, raw: string, agentId: string | null) => void;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentCreateEvent {
|
|
43
|
+
agentId: string;
|
|
44
|
+
runtime: string;
|
|
45
|
+
apiKey: string;
|
|
46
|
+
name: string;
|
|
47
|
+
agentType: string;
|
|
48
|
+
}
|
|
49
|
+
export interface AgentStopEvent {
|
|
50
|
+
agentId: string;
|
|
51
|
+
}
|
|
52
|
+
export interface AgentErrorEvent {
|
|
53
|
+
agentId: string;
|
|
54
|
+
error: string;
|
|
55
|
+
}
|
|
56
|
+
type DaemonEventHandler<T = void> = (data: T) => void | Promise<void>;
|
|
57
|
+
export declare class DaemonClient extends WinMatrixAgentClient {
|
|
58
|
+
private readonly daemonOptions;
|
|
59
|
+
private serverComputerId;
|
|
60
|
+
private agentCreateHandler;
|
|
61
|
+
private agentStopHandler;
|
|
62
|
+
private profileCollector;
|
|
63
|
+
/** 心跳执行锁,防止定时器回调并发 */
|
|
64
|
+
private heartbeatInProgress;
|
|
65
|
+
constructor(options: DaemonClientOptions);
|
|
66
|
+
/** Register handler for daemon-specific events */
|
|
67
|
+
onDaemonEvent(event: 'agent.create' | 'agent.stop', handler: DaemonEventHandler<unknown>): void;
|
|
68
|
+
/** Get the server-assigned computer ID (available after successful registration) */
|
|
69
|
+
getComputerId(): string | null;
|
|
70
|
+
/** Set the profile collector function (called during heartbeat to attach agentProfiles) */
|
|
71
|
+
setProfileCollector(fn: () => Promise<AgentProfile[]>): void;
|
|
72
|
+
/**
|
|
73
|
+
* 通过 daemon 连接发送 agent.error 事件。
|
|
74
|
+
* 替代直接访问私有 ws 属性,用于 agent.create 失败时通知服务端。
|
|
75
|
+
*/
|
|
76
|
+
sendAgentError(agentId: string, error: string): boolean;
|
|
77
|
+
/** Immediately send a heartbeat with agent profiles (used for agent create/destroy/rescan) */
|
|
78
|
+
sendHeartbeatNow(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Override register() to send computer.register instead of agent register.
|
|
81
|
+
*/
|
|
82
|
+
protected register(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Override heartbeat for daemon mode — sends computer.heartbeat events with optional agentProfiles.
|
|
85
|
+
* 使用锁防止定时器回调并发执行,确保上次心跳完成后再调度下次。
|
|
86
|
+
*/
|
|
87
|
+
protected startHeartbeat(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Override to extract agentId before parseFrame and intercept daemon events.
|
|
90
|
+
*
|
|
91
|
+
* 注意:方案 B 下 onPassthrough 未设置,passthrough 路由代码(task.assign ACK / wrapper 响应)
|
|
92
|
+
* 当前为 dead code。每个 agent 有独立 WinMatrixAgentClient + WebSocket,消息由
|
|
93
|
+
* AgentProcessManager 分发到各 agent 的 client,不经过 daemon 连接多路复用。
|
|
94
|
+
*/
|
|
95
|
+
protected handleMessage(data: import('ws').Data): void;
|
|
96
|
+
/**
|
|
97
|
+
* Handle daemon-specific events. Returns true if the event was handled.
|
|
98
|
+
*/
|
|
99
|
+
private handleDaemonEvent;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=DaemonClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonClient.d.ts","sourceRoot":"","sources":["../../src/core/DaemonClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAE3B,KAAK,kBAAkB,EAIxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAInG,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC1I,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAID,KAAK,kBAAkB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAItE,qBAAa,YAAa,SAAQ,oBAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,kBAAkB,CAAqD;IAC/E,OAAO,CAAC,gBAAgB,CAAmD;IAC3E,OAAO,CAAC,gBAAgB,CAAgD;IACxE,sBAAsB;IACtB,OAAO,CAAC,mBAAmB,CAAS;gBAExB,OAAO,EAAE,mBAAmB;IAcxC,kDAAkD;IAClD,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI;IAQ/F,oFAAoF;IACpF,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI;IAI5D;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAUvD,8FAA8F;IACxF,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;OAEG;cACa,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BzC;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAmBhC;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,IAAI,GAAG,IAAI;IAoEtD;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAoB1B"}
|