@winmatrix/daemon 1.0.4 → 1.0.6
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 +702 -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 +199 -0
- package/dist/core/WinMatrixAgentClient.d.ts.map +1 -0
- package/dist/core/WinMatrixAgentClient.js +569 -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 +170 -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
package/bin/winmatrix-daemon.js
CHANGED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WinMatrix Daemon - Agent Process Manager (v2)
|
|
3
|
+
*
|
|
4
|
+
* 管理外部 Agent 适配器实例生命周期�? * 收到 server �?agent.create / agent.stop 信令后,
|
|
5
|
+
* 实例化对应的 AgentAdapter 并创�?WinMatrixAgentClient 连接�? *
|
|
6
|
+
* 方案 B:adapter �?daemon 进程内直接运行,不再 spawn 子进程�? */
|
|
7
|
+
import { WinMatrixAgentClient } from './WinMatrixAgentClient.js';
|
|
8
|
+
import { AdapterRegistry, type AgentAdapter } from '@winmatrix/agent-sdk';
|
|
9
|
+
import { type AgentProfile, type AgentEngineRunRef, type AgentEngineSessionRef, type EngineEventEnvelope, type EngineFinalResult, type EngineRunStatus } from '@winmatrix/protocol';
|
|
10
|
+
export interface AgentCreatePayload {
|
|
11
|
+
agentId: string;
|
|
12
|
+
/** agentType: 'claude-code' | 'codex' | 'hermes' | 'openclaw' */
|
|
13
|
+
agentType: string;
|
|
14
|
+
/** agent name */
|
|
15
|
+
name?: string;
|
|
16
|
+
/** Server WebSocket URL (agent 独立连接) */
|
|
17
|
+
serverUrl: string;
|
|
18
|
+
/** Agent API key */
|
|
19
|
+
apiKey: string;
|
|
20
|
+
/** Working directory */
|
|
21
|
+
workDir?: string;
|
|
22
|
+
/** Adapter-specific config */
|
|
23
|
+
adapterConfig?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export interface AgentStopPayload {
|
|
26
|
+
agentId: string;
|
|
27
|
+
}
|
|
28
|
+
interface ManagedAgent {
|
|
29
|
+
agentId: string;
|
|
30
|
+
adapter: AgentAdapter;
|
|
31
|
+
client: WinMatrixAgentClient;
|
|
32
|
+
abortController: AbortController | null;
|
|
33
|
+
busy: boolean;
|
|
34
|
+
workDir?: string;
|
|
35
|
+
/** 当前活跃 Run 的 runKey(design D11.1 幂等 launch)。 */
|
|
36
|
+
activeRunKey?: string;
|
|
37
|
+
/** 当前活跃 Run 的 invocation fingerprint(用于校验重复 assign 身份一致性)。 */
|
|
38
|
+
activeFingerprint?: string;
|
|
39
|
+
/** Connection-bound Run registry retained for inspect/replay until replaced. */
|
|
40
|
+
runs: Map<string, ManagedRun>;
|
|
41
|
+
}
|
|
42
|
+
interface ManagedRun {
|
|
43
|
+
ref: AgentEngineRunRef;
|
|
44
|
+
status: EngineRunStatus;
|
|
45
|
+
startedAt: string;
|
|
46
|
+
lastSequence: number;
|
|
47
|
+
events: EngineEventEnvelope[];
|
|
48
|
+
result?: EngineFinalResult;
|
|
49
|
+
sessionRef?: AgentEngineSessionRef;
|
|
50
|
+
}
|
|
51
|
+
type CreateAgentResult = {
|
|
52
|
+
ok: true;
|
|
53
|
+
agent: ManagedAgent;
|
|
54
|
+
} | {
|
|
55
|
+
ok: false;
|
|
56
|
+
error: string;
|
|
57
|
+
};
|
|
58
|
+
export interface TaskAuditEntry {
|
|
59
|
+
/** 本机本地时间(与 Daemon 日志行一致),非 UTC */
|
|
60
|
+
ts: string;
|
|
61
|
+
agentId: string;
|
|
62
|
+
taskId: string;
|
|
63
|
+
event: 'task_start' | 'task_complete' | 'task_error' | 'task_fail';
|
|
64
|
+
detail?: string;
|
|
65
|
+
}
|
|
66
|
+
export declare class AgentProcessManager {
|
|
67
|
+
private readonly agents;
|
|
68
|
+
private readonly pendingCreations;
|
|
69
|
+
private readonly registry;
|
|
70
|
+
private readonly taskAudit;
|
|
71
|
+
private static readonly TASK_AUDIT_MAX;
|
|
72
|
+
private onProfilesChanged;
|
|
73
|
+
constructor(registry?: AdapterRegistry);
|
|
74
|
+
/** Set callback invoked when agent profiles change (create/destroy/rescan) */
|
|
75
|
+
setOnProfilesChanged(fn: () => void): void;
|
|
76
|
+
private recordTaskAudit;
|
|
77
|
+
private appendRunEvent;
|
|
78
|
+
private handleAgentEngineRequest;
|
|
79
|
+
/**
|
|
80
|
+
* 遍历所�?managed agents,收集其 tools/skills/toolCategories 统一上报�? * 返回深拷贝的 profiles,确保修改原 meta 不影响已收集的数据�? */
|
|
81
|
+
collectAgentProfiles(): Promise<AgentProfile[]>;
|
|
82
|
+
/**
|
|
83
|
+
* 重新扫描所�?agent �?skill 目录并触发立即心跳上报�? * 用于诊断页面的「刷新技能」按钮手动触发�? */
|
|
84
|
+
rescanAndReportProfiles(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* 创建 Agent 连接并启�?adapter�? *
|
|
87
|
+
* 每个 agent 拥有独立�?WinMatrixAgentClient + WebSocket 连接�? */
|
|
88
|
+
createAgent(payload: AgentCreatePayload): Promise<CreateAgentResult>;
|
|
89
|
+
private createAgentInternal;
|
|
90
|
+
/**
|
|
91
|
+
* 停止 Agent �?取消正在执行的任务,断开连接�? */
|
|
92
|
+
stopAgent(payload: AgentStopPayload): Promise<{
|
|
93
|
+
ok: true;
|
|
94
|
+
} | {
|
|
95
|
+
ok: false;
|
|
96
|
+
error: string;
|
|
97
|
+
}>;
|
|
98
|
+
/** 停止所�?Agent(shutdown 时调用) */
|
|
99
|
+
stopAllAgents(): Promise<void>;
|
|
100
|
+
/** 列出当前运行�?Agent */
|
|
101
|
+
listAgents(): Array<{
|
|
102
|
+
agentId: string;
|
|
103
|
+
state: string;
|
|
104
|
+
}>;
|
|
105
|
+
/** 最近一段时间接�?完成的任务(内存环,供本机诊断页�?*/
|
|
106
|
+
getRecentTaskEvents(): TaskAuditEntry[];
|
|
107
|
+
/** 检�?Agent 是否在运�?*/
|
|
108
|
+
isRunning(agentId: string): boolean;
|
|
109
|
+
}
|
|
110
|
+
export {};
|
|
111
|
+
//# sourceMappingURL=AgentProcessManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProcessManager.d.ts","sourceRoot":"","sources":["../../src/core/AgentProcessManager.ts"],"names":[],"mappings":"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"}
|