@winmatrix/agent-sdk 0.1.0

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 (93) hide show
  1. package/dist/adapters/claude/ClaudeAdapter.d.ts +40 -0
  2. package/dist/adapters/claude/ClaudeAdapter.d.ts.map +1 -0
  3. package/dist/adapters/claude/ClaudeAdapter.js +515 -0
  4. package/dist/adapters/claude/ClaudeAdapter.js.map +1 -0
  5. package/dist/adapters/claude/ClaudeStreamParser.d.ts +39 -0
  6. package/dist/adapters/claude/ClaudeStreamParser.d.ts.map +1 -0
  7. package/dist/adapters/claude/ClaudeStreamParser.js +80 -0
  8. package/dist/adapters/claude/ClaudeStreamParser.js.map +1 -0
  9. package/dist/adapters/hermes/HermesAdapter.d.ts +37 -0
  10. package/dist/adapters/hermes/HermesAdapter.d.ts.map +1 -0
  11. package/dist/adapters/hermes/HermesAdapter.js +342 -0
  12. package/dist/adapters/hermes/HermesAdapter.js.map +1 -0
  13. package/dist/adapters/openclaw/OpenClawAdapter.d.ts +77 -0
  14. package/dist/adapters/openclaw/OpenClawAdapter.d.ts.map +1 -0
  15. package/dist/adapters/openclaw/OpenClawAdapter.js +798 -0
  16. package/dist/adapters/openclaw/OpenClawAdapter.js.map +1 -0
  17. package/dist/adapters/openclaw/unwrapOpenClawPayloads.d.ts +6 -0
  18. package/dist/adapters/openclaw/unwrapOpenClawPayloads.d.ts.map +1 -0
  19. package/dist/adapters/openclaw/unwrapOpenClawPayloads.js +24 -0
  20. package/dist/adapters/openclaw/unwrapOpenClawPayloads.js.map +1 -0
  21. package/dist/core/AdapterRegistry.d.ts +21 -0
  22. package/dist/core/AdapterRegistry.d.ts.map +1 -0
  23. package/dist/core/AdapterRegistry.js +37 -0
  24. package/dist/core/AdapterRegistry.js.map +1 -0
  25. package/dist/core/AgentAdapter.d.ts +165 -0
  26. package/dist/core/AgentAdapter.d.ts.map +1 -0
  27. package/dist/core/AgentAdapter.js +23 -0
  28. package/dist/core/AgentAdapter.js.map +1 -0
  29. package/dist/core/DaemonClient.d.ts +102 -0
  30. package/dist/core/DaemonClient.d.ts.map +1 -0
  31. package/dist/core/DaemonClient.js +225 -0
  32. package/dist/core/DaemonClient.js.map +1 -0
  33. package/dist/core/Protocol.d.ts +257 -0
  34. package/dist/core/Protocol.d.ts.map +1 -0
  35. package/dist/core/Protocol.js +140 -0
  36. package/dist/core/Protocol.js.map +1 -0
  37. package/dist/core/RuntimeDetector.d.ts +7 -0
  38. package/dist/core/RuntimeDetector.d.ts.map +1 -0
  39. package/dist/core/RuntimeDetector.js +45 -0
  40. package/dist/core/RuntimeDetector.js.map +1 -0
  41. package/dist/core/WinMatrixAgentClient.d.ts +134 -0
  42. package/dist/core/WinMatrixAgentClient.d.ts.map +1 -0
  43. package/dist/core/WinMatrixAgentClient.js +382 -0
  44. package/dist/core/WinMatrixAgentClient.js.map +1 -0
  45. package/dist/index.d.ts +36 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +33 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/runtime/DualRuntimeBridge.d.ts +38 -0
  50. package/dist/runtime/DualRuntimeBridge.d.ts.map +1 -0
  51. package/dist/runtime/DualRuntimeBridge.js +305 -0
  52. package/dist/runtime/DualRuntimeBridge.js.map +1 -0
  53. package/dist/runtime/bridgeConfigLoader.d.ts +14 -0
  54. package/dist/runtime/bridgeConfigLoader.d.ts.map +1 -0
  55. package/dist/runtime/bridgeConfigLoader.js +133 -0
  56. package/dist/runtime/bridgeConfigLoader.js.map +1 -0
  57. package/dist/runtime/bridgeConfigTypes.d.ts +26 -0
  58. package/dist/runtime/bridgeConfigTypes.d.ts.map +1 -0
  59. package/dist/runtime/bridgeConfigTypes.js +6 -0
  60. package/dist/runtime/bridgeConfigTypes.js.map +1 -0
  61. package/dist/runtime/bridgeHome.d.ts +19 -0
  62. package/dist/runtime/bridgeHome.d.ts.map +1 -0
  63. package/dist/runtime/bridgeHome.js +61 -0
  64. package/dist/runtime/bridgeHome.js.map +1 -0
  65. package/dist/runtime/bridgeReconnectPolicy.d.ts +8 -0
  66. package/dist/runtime/bridgeReconnectPolicy.d.ts.map +1 -0
  67. package/dist/runtime/bridgeReconnectPolicy.js +16 -0
  68. package/dist/runtime/bridgeReconnectPolicy.js.map +1 -0
  69. package/dist/runtime/bridgeTaskJournal.d.ts +7 -0
  70. package/dist/runtime/bridgeTaskJournal.d.ts.map +1 -0
  71. package/dist/runtime/bridgeTaskJournal.js +66 -0
  72. package/dist/runtime/bridgeTaskJournal.js.map +1 -0
  73. package/dist/runtime/localRuntimeAvailabilityMonitor.d.ts +22 -0
  74. package/dist/runtime/localRuntimeAvailabilityMonitor.d.ts.map +1 -0
  75. package/dist/runtime/localRuntimeAvailabilityMonitor.js +81 -0
  76. package/dist/runtime/localRuntimeAvailabilityMonitor.js.map +1 -0
  77. package/dist/runtime/runDualRuntimeBridge.d.ts +2 -0
  78. package/dist/runtime/runDualRuntimeBridge.d.ts.map +1 -0
  79. package/dist/runtime/runDualRuntimeBridge.js +32 -0
  80. package/dist/runtime/runDualRuntimeBridge.js.map +1 -0
  81. package/dist/utils/parseSkillMd.d.ts +10 -0
  82. package/dist/utils/parseSkillMd.d.ts.map +1 -0
  83. package/dist/utils/parseSkillMd.js +34 -0
  84. package/dist/utils/parseSkillMd.js.map +1 -0
  85. package/dist/utils/processUtils.d.ts +8 -0
  86. package/dist/utils/processUtils.d.ts.map +1 -0
  87. package/dist/utils/processUtils.js +31 -0
  88. package/dist/utils/processUtils.js.map +1 -0
  89. package/dist/utils/spawnHelper.d.ts +38 -0
  90. package/dist/utils/spawnHelper.d.ts.map +1 -0
  91. package/dist/utils/spawnHelper.js +122 -0
  92. package/dist/utils/spawnHelper.js.map +1 -0
  93. package/package.json +61 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * RuntimeDetector - 本地 AI CLI 运行时检测
3
+ *
4
+ * 扫描 PATH 中已知 AI CLI 工具,返回可用列表和版本信息。
5
+ */
6
+ import { execSync } from 'node:child_process';
7
+ const KNOWN_RUNTIMES = [
8
+ { name: 'claude', command: 'claude' },
9
+ { name: 'cursor', command: 'cursor' },
10
+ { name: 'codex', command: 'codex' },
11
+ { name: 'kimi', command: 'kimi' },
12
+ { name: 'copilot', command: 'copilot' },
13
+ { name: 'gemini', command: 'gemini' },
14
+ ];
15
+ function tryGetVersion(command) {
16
+ try {
17
+ const output = execSync(`${command} --version`, {
18
+ timeout: 5000,
19
+ stdio: ['ignore', 'pipe', 'pipe'],
20
+ encoding: 'utf-8',
21
+ });
22
+ return output.trim().split('\n')[0].slice(0, 100);
23
+ }
24
+ catch {
25
+ try {
26
+ // 有些 CLI 使用 -v 而不是 --version
27
+ const output = execSync(`${command} -v`, {
28
+ timeout: 5000,
29
+ stdio: ['ignore', 'pipe', 'pipe'],
30
+ encoding: 'utf-8',
31
+ });
32
+ return output.trim().split('\n')[0].slice(0, 100);
33
+ }
34
+ catch {
35
+ return undefined;
36
+ }
37
+ }
38
+ }
39
+ export function detectRuntimes() {
40
+ return KNOWN_RUNTIMES.map(({ name, command }) => {
41
+ const version = tryGetVersion(command);
42
+ return { name, version, available: version !== undefined };
43
+ });
44
+ }
45
+ //# sourceMappingURL=RuntimeDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeDetector.js","sourceRoot":"","sources":["../../src/core/RuntimeDetector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ9C,MAAM,cAAc,GAA6C;IAC/D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;CACtC,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,YAAY,EAAE;YAC9C,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,KAAK,EAAE;gBACvC,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * WinMatrix Agent SDK - Client
3
+ *
4
+ * Main client class for connecting external agents to the WinMatrix platform.
5
+ * Handles WebSocket connection, registration, heartbeat, task lifecycle, and tool calls.
6
+ */
7
+ import WebSocket from 'ws';
8
+ import { RegisterParams, TaskAssignParams, RuntimeAvailabilityPayload, BaseResponse, BaseRequest, InboundFrame } from './Protocol.js';
9
+ export type ClientState = 'disconnected' | 'connecting' | 'connected' | 'registered';
10
+ export interface TaskInput {
11
+ taskId: string;
12
+ input: string;
13
+ context: TaskAssignParams['context'];
14
+ streaming: boolean;
15
+ /** 服务端生成的系统提示词 */
16
+ systemPrompt?: string;
17
+ /** 本任务的 MCP ToolProxy token(per-task session ID) */
18
+ mcpToken?: string;
19
+ }
20
+ export interface WinMatrixAgentClientOptions {
21
+ /** WebSocket URL of the WinMatrix server (e.g. ws://localhost:8400/api/v1/external-agents/connect) */
22
+ url: string;
23
+ /** Agent identifier */
24
+ agentId: string;
25
+ /** API key for authentication */
26
+ apiKey: string;
27
+ /** Display name for this agent */
28
+ name: string;
29
+ /** Agent type identifier */
30
+ agentType: string;
31
+ /** Capability declaration */
32
+ capabilities: RegisterParams['capabilities'];
33
+ /**
34
+ * Optional hooks (e.g. Dual Runtime Bridge task journaling).
35
+ * - `onTaskAssigned`: once per task.assign, before the task handler runs.
36
+ * - `onTaskCompleted` / `onTaskFailed`: before task.complete / task.error frames are sent.
37
+ */
38
+ bridgeHooks?: {
39
+ onTaskAssigned?: (task: TaskInput) => void;
40
+ /** Invoked before sending task.complete (e.g. bridge task journal). */
41
+ onTaskCompleted?: (taskId: string, result: unknown) => void;
42
+ /** Invoked before sending task.error (e.g. bridge task journal). */
43
+ onTaskFailed?: (taskId: string, error: string, code?: string) => void;
44
+ };
45
+ /**
46
+ * When true, the client schedules its own exponential backoff reconnect on disconnect
47
+ * or failed connect(). Default false — prefer orchestrating reconnect at the bridge / host
48
+ * (e.g. DualRuntimeBridge) so policies (auth backoff-off, single owner) stay in one place.
49
+ */
50
+ autoReconnect?: boolean;
51
+ /**
52
+ * Session query handler — called when the server sends session.list / session.get RPC.
53
+ * The handler receives the method name and params, and should return the result payload
54
+ * to send back in the response frame.
55
+ */
56
+ sessionQueryHandler?: (method: string, params: unknown) => Promise<unknown>;
57
+ }
58
+ type EventHandler<T = void> = (data: T) => void | Promise<void>;
59
+ export declare class WinMatrixAgentClient {
60
+ private readonly options;
61
+ private ws;
62
+ private state;
63
+ protected heartbeatTimer: ReturnType<typeof setInterval> | null;
64
+ private reconnectTimer;
65
+ private reconnectDelay;
66
+ private readonly maxReconnectDelay;
67
+ private pendingRequests;
68
+ private requestTimeout;
69
+ private taskHandler;
70
+ private cancelHandler;
71
+ private resumeHandler;
72
+ private disconnectHandler;
73
+ private errorHandler;
74
+ private registeredHandler;
75
+ private serverConfig;
76
+ constructor(options: WinMatrixAgentClientOptions);
77
+ /** Current lifecycle state */
78
+ getState(): ClientState;
79
+ /** Set or replace the session query handler after construction */
80
+ setSessionQueryHandler(handler: (method: string, params: unknown) => Promise<unknown>): void;
81
+ /** Register an event handler */
82
+ on(event: 'task' | 'cancel' | 'resume' | 'disconnect' | 'error' | 'registered', handler: EventHandler<unknown>): void;
83
+ /** Open connection and register with the server */
84
+ connect(): Promise<void>;
85
+ /** Gracefully disconnect */
86
+ disconnect(): void;
87
+ /**
88
+ * 向 WinMatrix 上报本地 Hermes/OpenClaw HTTP(或命令模式)运行时可用性快照。
89
+ * 一般由 bridge 周期性调用;需在 `registered` 状态下发送。
90
+ */
91
+ notifyRuntimeAvailability(payload: RuntimeAvailabilityPayload): void;
92
+ /** Send a streaming delta for an active task */
93
+ streamDelta(taskId: string, content: string): void;
94
+ /** Mark a task as completed with a result. sessionId and usage are passed at top level for server-side DB persistence. */
95
+ completeTask(taskId: string, result: unknown, sessionId?: string, usage?: {
96
+ input: number;
97
+ output: number;
98
+ }): void;
99
+ /** Mark a task as failed with an error message */
100
+ failTask(taskId: string, error: string, code?: string): void;
101
+ /** Call a WinMatrix tool and wait for the result */
102
+ callTool(toolName: string, args: unknown, taskId?: string, agentId?: string): Promise<unknown>;
103
+ /**
104
+ * Send an arbitrary frame to the server.
105
+ * Wraps the low-level sendRaw, keeping the WS write path encapsulated.
106
+ */
107
+ sendFrame(frame: Record<string, unknown>): void;
108
+ protected establishConnection(): Promise<void>;
109
+ protected register(): Promise<void>;
110
+ protected sendRequest(method: string, params?: unknown): Promise<BaseResponse>;
111
+ protected sendEvent(event: string, payload?: unknown): void;
112
+ protected sendRaw(data: unknown): void;
113
+ protected handleMessage(data: WebSocket.Data): void;
114
+ /**
115
+ * 处理服务端发来的请求帧(如 task.assign)
116
+ *
117
+ * 服务端通过 waitForResponse 发送 { type: 'req', method: 'task.assign', params } 帧,
118
+ * SDK 需要回复 { type: 'res', id, ok: true } 确认收到,然后异步处理任务。
119
+ */
120
+ protected handleIncomingRequest(frame: BaseRequest): void;
121
+ private handleResponse;
122
+ protected handleEventFrame(frame: InboundFrame & {
123
+ type: 'event';
124
+ event: string;
125
+ payload?: unknown;
126
+ }): void;
127
+ protected setState(state: ClientState): void;
128
+ protected startHeartbeat(): void;
129
+ protected handleDisconnect(): void;
130
+ private scheduleReconnect;
131
+ private cleanup;
132
+ }
133
+ export {};
134
+ //# sourceMappingURL=WinMatrixAgentClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WinMatrixAgentClient.d.ts","sourceRoot":"","sources":["../../src/core/WinMatrixAgentClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,382 @@
1
+ /**
2
+ * WinMatrix Agent SDK - Client
3
+ *
4
+ * Main client class for connecting external agents to the WinMatrix platform.
5
+ * Handles WebSocket connection, registration, heartbeat, task lifecycle, and tool calls.
6
+ */
7
+ import WebSocket from 'ws';
8
+ import { createRequest, createEvent, nextRequestId, parseFrame, isResponse, isEvent, isRequest, METHODS, EVENTS, } from './Protocol.js';
9
+ /* ── Client ── */
10
+ export class WinMatrixAgentClient {
11
+ options;
12
+ ws = null;
13
+ state = 'disconnected';
14
+ heartbeatTimer = null;
15
+ reconnectTimer = null;
16
+ reconnectDelay = 1000;
17
+ maxReconnectDelay = 60000;
18
+ pendingRequests = new Map();
19
+ requestTimeout = 30000;
20
+ // Event handlers
21
+ taskHandler = null;
22
+ cancelHandler = null;
23
+ resumeHandler = null;
24
+ disconnectHandler = null;
25
+ errorHandler = null;
26
+ registeredHandler = null;
27
+ // Server-assigned config
28
+ serverConfig = null;
29
+ constructor(options) {
30
+ this.options = options;
31
+ }
32
+ /** Current lifecycle state */
33
+ getState() {
34
+ return this.state;
35
+ }
36
+ /** Set or replace the session query handler after construction */
37
+ setSessionQueryHandler(handler) {
38
+ this.options.sessionQueryHandler = handler;
39
+ }
40
+ /** Register an event handler */
41
+ on(event, handler) {
42
+ if (event === 'task') {
43
+ this.taskHandler = handler;
44
+ }
45
+ else if (event === 'cancel') {
46
+ this.cancelHandler = handler;
47
+ }
48
+ else if (event === 'resume') {
49
+ this.resumeHandler = handler;
50
+ }
51
+ else if (event === 'disconnect') {
52
+ this.disconnectHandler = handler;
53
+ }
54
+ else if (event === 'error') {
55
+ this.errorHandler = handler;
56
+ }
57
+ else if (event === 'registered') {
58
+ this.registeredHandler = handler;
59
+ }
60
+ }
61
+ /** Open connection and register with the server */
62
+ async connect() {
63
+ if (this.state !== 'disconnected') {
64
+ throw new Error(`Cannot connect from state '${this.state}'`);
65
+ }
66
+ this.setState('connecting');
67
+ try {
68
+ await this.establishConnection();
69
+ await this.register();
70
+ this.startHeartbeat();
71
+ this.reconnectDelay = 1000;
72
+ this.setState('registered');
73
+ }
74
+ catch (err) {
75
+ this.cleanup();
76
+ this.setState('disconnected');
77
+ if (this.options.autoReconnect) {
78
+ this.scheduleReconnect();
79
+ }
80
+ throw err;
81
+ }
82
+ }
83
+ /** Gracefully disconnect */
84
+ disconnect() {
85
+ this.cleanup();
86
+ this.setState('disconnected');
87
+ }
88
+ /**
89
+ * 向 WinMatrix 上报本地 Hermes/OpenClaw HTTP(或命令模式)运行时可用性快照。
90
+ * 一般由 bridge 周期性调用;需在 `registered` 状态下发送。
91
+ */
92
+ notifyRuntimeAvailability(payload) {
93
+ if (this.state !== 'registered')
94
+ return;
95
+ try {
96
+ this.sendEvent(EVENTS.RUNTIME_AVAILABILITY, payload);
97
+ }
98
+ catch {
99
+ /* 发送瞬时竞态时忽略 */
100
+ }
101
+ }
102
+ /** Send a streaming delta for an active task */
103
+ streamDelta(taskId, content) {
104
+ this.sendEvent(EVENTS.TASK_DELTA, { taskId, content });
105
+ }
106
+ /** Mark a task as completed with a result. sessionId and usage are passed at top level for server-side DB persistence. */
107
+ completeTask(taskId, result, sessionId, usage) {
108
+ try {
109
+ this.options.bridgeHooks?.onTaskCompleted?.(taskId, result);
110
+ }
111
+ catch (e) {
112
+ const msg = e instanceof Error ? e.message : String(e);
113
+ console.warn(`[WinMatrixAgentClient] bridgeHooks.onTaskCompleted failed: ${msg}`);
114
+ }
115
+ this.sendEvent(EVENTS.TASK_COMPLETE, { taskId, result, sessionId, usage });
116
+ }
117
+ /** Mark a task as failed with an error message */
118
+ failTask(taskId, error, code) {
119
+ try {
120
+ this.options.bridgeHooks?.onTaskFailed?.(taskId, error, code);
121
+ }
122
+ catch (e) {
123
+ const msg = e instanceof Error ? e.message : String(e);
124
+ console.warn(`[WinMatrixAgentClient] bridgeHooks.onTaskFailed failed: ${msg}`);
125
+ }
126
+ const payload = { taskId, error };
127
+ if (code)
128
+ payload.code = code;
129
+ this.sendEvent(EVENTS.TASK_ERROR, payload);
130
+ }
131
+ /** Call a WinMatrix tool and wait for the result */
132
+ async callTool(toolName, args, taskId, agentId) {
133
+ const callId = nextRequestId();
134
+ const params = { callId, toolName, args };
135
+ if (taskId)
136
+ params.taskId = taskId;
137
+ if (agentId)
138
+ params.agentId = agentId;
139
+ const response = await this.sendRequest(METHODS.TOOL_CALL, params);
140
+ if (!response.ok) {
141
+ throw new Error(response.error ?? 'Tool call failed');
142
+ }
143
+ const payload = response.payload;
144
+ return payload && typeof payload === 'object' && 'result' in payload ? payload.result : response.payload;
145
+ }
146
+ /**
147
+ * Send an arbitrary frame to the server.
148
+ * Wraps the low-level sendRaw, keeping the WS write path encapsulated.
149
+ */
150
+ sendFrame(frame) {
151
+ this.sendRaw(frame);
152
+ }
153
+ /* ── Protected: Connection (overridable by DaemonClient) ── */
154
+ establishConnection() {
155
+ return new Promise((resolve, reject) => {
156
+ const ws = new WebSocket(this.options.url);
157
+ ws.on('open', () => {
158
+ this.setState('connected');
159
+ resolve();
160
+ });
161
+ ws.on('error', (err) => {
162
+ const detail = err?.message?.trim()
163
+ ? err.message
164
+ : String(err.code ?? err);
165
+ reject(new Error(`WebSocket failed for ${this.options.url}: ${detail || 'unknown'}`, {
166
+ cause: err,
167
+ }));
168
+ });
169
+ ws.on('close', () => {
170
+ this.handleDisconnect();
171
+ });
172
+ ws.on('message', (data) => {
173
+ this.handleMessage(data);
174
+ });
175
+ this.ws = ws;
176
+ });
177
+ }
178
+ async register() {
179
+ const params = {
180
+ agentId: this.options.agentId,
181
+ apiKey: this.options.apiKey,
182
+ name: this.options.name,
183
+ agentType: this.options.agentType,
184
+ capabilities: this.options.capabilities,
185
+ };
186
+ const response = await this.sendRequest(METHODS.REGISTER, params);
187
+ if (!response.ok) {
188
+ throw new Error(`Registration failed: ${response.error ?? 'unknown error'}`);
189
+ }
190
+ this.serverConfig = response.payload;
191
+ }
192
+ /* ── Protected: Messaging (overridable by DaemonClient) ── */
193
+ sendRequest(method, params) {
194
+ return new Promise((resolve, reject) => {
195
+ const id = nextRequestId();
196
+ const frame = createRequest(id, method, params);
197
+ const timer = setTimeout(() => {
198
+ this.pendingRequests.delete(id);
199
+ reject(new Error(`Request ${id} (${method}) timed out`));
200
+ }, this.requestTimeout);
201
+ this.pendingRequests.set(id, { resolve, reject, timer });
202
+ this.sendRaw(frame);
203
+ });
204
+ }
205
+ sendEvent(event, payload) {
206
+ const frame = createEvent(event, payload);
207
+ this.sendRaw(frame);
208
+ }
209
+ sendRaw(data) {
210
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
211
+ console.warn('[WinMatrixAgentClient] WebSocket not connected, dropping frame');
212
+ return;
213
+ }
214
+ this.ws.send(JSON.stringify(data));
215
+ }
216
+ handleMessage(data) {
217
+ const raw = typeof data === 'string' ? data : data.toString('utf-8');
218
+ const frame = parseFrame(raw);
219
+ if (!frame)
220
+ return;
221
+ if (isResponse(frame)) {
222
+ this.handleResponse(frame);
223
+ }
224
+ else if (isEvent(frame)) {
225
+ this.handleEventFrame(frame);
226
+ }
227
+ else if (isRequest(frame)) {
228
+ this.handleIncomingRequest(frame);
229
+ }
230
+ }
231
+ /**
232
+ * 处理服务端发来的请求帧(如 task.assign)
233
+ *
234
+ * 服务端通过 waitForResponse 发送 { type: 'req', method: 'task.assign', params } 帧,
235
+ * SDK 需要回复 { type: 'res', id, ok: true } 确认收到,然后异步处理任务。
236
+ */
237
+ handleIncomingRequest(frame) {
238
+ if (frame.method === METHODS.TASK_ASSIGN && this.taskHandler) {
239
+ // 立即回复确认
240
+ this.sendRaw({ type: 'res', id: frame.id, ok: true });
241
+ const params = frame.params;
242
+ const taskPayload = {
243
+ taskId: params.taskId,
244
+ input: params.input,
245
+ context: params.context,
246
+ streaming: params.streaming,
247
+ systemPrompt: params.systemPrompt,
248
+ mcpToken: params.mcpToken,
249
+ };
250
+ this.options.bridgeHooks?.onTaskAssigned?.(taskPayload);
251
+ try {
252
+ const result = this.taskHandler(taskPayload);
253
+ if (result instanceof Promise) {
254
+ result.catch((err) => {
255
+ const msg = err instanceof Error ? err.message : String(err);
256
+ this.failTask(params.taskId, `Task handler error: ${msg}`);
257
+ });
258
+ }
259
+ }
260
+ catch (err) {
261
+ const msg = err instanceof Error ? err.message : String(err);
262
+ this.failTask(params.taskId, `Task handler error: ${msg}`);
263
+ }
264
+ }
265
+ else if ((frame.method === METHODS.SESSION_LIST || frame.method === METHODS.SESSION_GET) &&
266
+ this.options.sessionQueryHandler) {
267
+ this.options
268
+ .sessionQueryHandler(frame.method, frame.params)
269
+ .then((result) => {
270
+ this.sendRaw({ type: 'res', id: frame.id, ok: true, payload: result });
271
+ })
272
+ .catch((err) => {
273
+ const msg = err instanceof Error ? err.message : String(err);
274
+ this.sendRaw({ type: 'res', id: frame.id, ok: false, error: msg });
275
+ });
276
+ }
277
+ else if (frame.method === METHODS.PING) {
278
+ // 服务端 ping,回复 pong
279
+ this.sendRaw({ type: 'res', id: frame.id, ok: true });
280
+ }
281
+ else {
282
+ // 未知请求,回复错误
283
+ this.sendRaw({ type: 'res', id: frame.id, ok: false, error: `Unknown method: ${frame.method}` });
284
+ }
285
+ }
286
+ handleResponse(frame) {
287
+ const pending = this.pendingRequests.get(frame.id);
288
+ if (!pending)
289
+ return;
290
+ clearTimeout(pending.timer);
291
+ this.pendingRequests.delete(frame.id);
292
+ pending.resolve(frame);
293
+ }
294
+ handleEventFrame(frame) {
295
+ if (frame.event === EVENTS.TASK_CANCEL) {
296
+ const payload = frame.payload;
297
+ if (payload?.taskId) {
298
+ this.cancelHandler?.({ taskId: payload.taskId });
299
+ this.sendEvent(EVENTS.TASK_CANCELLED, { taskId: payload.taskId });
300
+ }
301
+ }
302
+ else if (frame.event === EVENTS.TASK_RESUME) {
303
+ const payload = frame.payload;
304
+ if (payload?.taskId) {
305
+ this.resumeHandler?.({ taskId: payload.taskId });
306
+ }
307
+ }
308
+ }
309
+ /* ── Protected: Lifecycle ── */
310
+ setState(state) {
311
+ const prev = this.state;
312
+ this.state = state;
313
+ if (state === 'registered' && state !== prev) {
314
+ this.registeredHandler?.();
315
+ }
316
+ }
317
+ startHeartbeat() {
318
+ const interval = this.serverConfig?.config.heartbeatInterval ?? 30000;
319
+ this.heartbeatTimer = setInterval(() => {
320
+ if (this.ws?.readyState === WebSocket.OPEN) {
321
+ this.sendRequest(METHODS.PING).catch((err) => {
322
+ const msg = err instanceof Error ? err.message : String(err);
323
+ this.errorHandler?.(new Error(`Heartbeat failed: ${msg}`));
324
+ });
325
+ }
326
+ }, interval);
327
+ }
328
+ handleDisconnect() {
329
+ this.cleanup();
330
+ this.setState('disconnected');
331
+ if (this.disconnectHandler) {
332
+ this.disconnectHandler();
333
+ }
334
+ if (this.options.autoReconnect) {
335
+ this.scheduleReconnect();
336
+ }
337
+ }
338
+ scheduleReconnect() {
339
+ if (this.reconnectTimer)
340
+ return;
341
+ const delay = this.reconnectDelay;
342
+ this.reconnectDelay = Math.min(delay * 2, this.maxReconnectDelay);
343
+ this.reconnectTimer = setTimeout(() => {
344
+ this.reconnectTimer = null;
345
+ this.setState('disconnected');
346
+ this.connect().catch((err) => {
347
+ const msg = err instanceof Error ? err.message : String(err);
348
+ if (this.errorHandler) {
349
+ this.errorHandler(new Error(`Reconnect failed: ${msg}`));
350
+ }
351
+ // scheduleReconnect will be called again by connect() failure
352
+ });
353
+ }, delay);
354
+ }
355
+ cleanup() {
356
+ if (this.heartbeatTimer) {
357
+ clearInterval(this.heartbeatTimer);
358
+ this.heartbeatTimer = null;
359
+ }
360
+ if (this.reconnectTimer) {
361
+ clearTimeout(this.reconnectTimer);
362
+ this.reconnectTimer = null;
363
+ }
364
+ for (const [, pending] of this.pendingRequests) {
365
+ clearTimeout(pending.timer);
366
+ pending.reject(new Error('Connection closed'));
367
+ }
368
+ this.pendingRequests.clear();
369
+ if (this.ws) {
370
+ try {
371
+ this.ws.removeAllListeners();
372
+ this.ws.close();
373
+ }
374
+ catch {
375
+ // ignore close errors
376
+ }
377
+ this.ws = null;
378
+ }
379
+ this.serverConfig = null;
380
+ }
381
+ }
382
+ //# sourceMappingURL=WinMatrixAgentClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WinMatrixAgentClient.js","sourceRoot":"","sources":["../../src/core/WinMatrixAgentClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * WinMatrix Agent SDK
3
+ *
4
+ * Public API surface. Re-exports client, adapters, and protocol types.
5
+ */
6
+ export { WinMatrixAgentClient } from './core/WinMatrixAgentClient.js';
7
+ export type { WinMatrixAgentClientOptions, ClientState, TaskInput } from './core/WinMatrixAgentClient.js';
8
+ export { DaemonClient } from './core/DaemonClient.js';
9
+ export type { DaemonClientOptions, AgentCreateEvent, AgentStopEvent, AgentErrorEvent, } from './core/DaemonClient.js';
10
+ export { ClaudeAdapter } from './adapters/claude/ClaudeAdapter.js';
11
+ export { parseClaudeLine, splitLines } from './adapters/claude/ClaudeStreamParser.js';
12
+ export type { ClaudeDeltaAction, ClaudeToolUseAction, ClaudeResultAction, ClaudeErrorAction, ClaudeSkipAction, ClaudeLineAction, } from './adapters/claude/ClaudeStreamParser.js';
13
+ export { OpenClawAdapter } from './adapters/openclaw/OpenClawAdapter.js';
14
+ export type { OpenClawAdapterOptions } from './adapters/openclaw/OpenClawAdapter.js';
15
+ export { unwrapOpenClawPayloads } from './adapters/openclaw/unwrapOpenClawPayloads.js';
16
+ export { HermesAdapter } from './adapters/hermes/HermesAdapter.js';
17
+ export type { HermesAdapterOptions } from './adapters/hermes/HermesAdapter.js';
18
+ export { METHODS, EVENTS, ERROR_CODES, nextRequestId, createRequest, createEvent, parseFrame, parseResponse, parseEvent, isResponse, isEvent, isRequest, isTaskAssignRequest, isTaskCancelEvent, isTaskResumeEvent, isSessionListRequest, isSessionGetRequest, } from './core/Protocol.js';
19
+ export type { BaseRequest, BaseResponse, BaseEvent, InboundFrame, RegisterParams, RegisterResponsePayload, ComputerRegisterParams, ComputerRegisterResponsePayload, TaskContext, TaskConstraints, TaskAssignParams, TaskDeltaPayload, TaskThinkingPayload, TaskCompletePayload, TaskErrorPayload, TaskCancelPayload, TaskCancelledPayload, TaskResumePayload, SessionListParams, SessionListResponsePayload, SessionGetParams, SessionGetResponsePayload, RuntimeAvailabilityPayload, ToolCallParams, ToolCallResponse, AgentProfile, } from './core/Protocol.js';
20
+ export type { AgentAdapter, AdapterEvent, AdapterMeta, AgentTaskContext, ClaudeTaskOptions, HermesTaskOptions, OpenClawTaskOptions, HealthStatus, SessionListOptions, SessionDetailOptions, SessionEntry, SessionListResult, SessionDetailResult, TokenUsage, } from './core/AgentAdapter.js';
21
+ export { LOCAL_FILE_TOOLS, isLocalTool } from './core/AgentAdapter.js';
22
+ export { AdapterRegistry, getGlobalRegistry } from './core/AdapterRegistry.js';
23
+ export type { AdapterConstructor } from './core/AdapterRegistry.js';
24
+ export { detectRuntimes } from './core/RuntimeDetector.js';
25
+ export type { Runtime } from './core/RuntimeDetector.js';
26
+ export { loadBridgeConfig, loadBridgeConfigFromJsonFile, loadBridgeConfigFromJsonObject, DEFAULT_BRIDGE_CONFIG_BASENAME, } from './runtime/bridgeConfigLoader.js';
27
+ export type { BridgeConfigFileJson, BridgeRuntimeFileJson } from './runtime/bridgeConfigTypes.js';
28
+ export { BRIDGE_CONFIG_FILE_VERSION } from './runtime/bridgeConfigTypes.js';
29
+ export type { BridgeConfig, RuntimeConfig } from './runtime/DualRuntimeBridge.js';
30
+ export { isNonRecoverableExternalAgentAuthError, nextReconnectDelayMs, } from './runtime/bridgeReconnectPolicy.js';
31
+ export { probeLocalHttpEndpoint, startLocalRuntimeAvailabilityMonitor, } from './runtime/localRuntimeAvailabilityMonitor.js';
32
+ export type { LocalRuntimeKindBridge } from './runtime/localRuntimeAvailabilityMonitor.js';
33
+ export { getBridgeHomeDir, getBridgeConfigPath, ensureBridgeHomeLayout, DEFAULT_BRIDGE_DIR_NAME, BRIDGE_CONFIG_FILENAME, } from './runtime/bridgeHome.js';
34
+ export { spawnHelper } from './utils/spawnHelper.js';
35
+ export type { SpawnHelperOptions, SpawnResult } from './utils/spawnHelper.js';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}