@winmatrix/agent-sdk 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/dist/adapters/claude/ClaudeAdapter.d.ts +59 -1
- package/dist/adapters/claude/ClaudeAdapter.d.ts.map +1 -1
- package/dist/adapters/claude/ClaudeAdapter.js +375 -79
- package/dist/adapters/claude/ClaudeAdapter.js.map +1 -1
- package/dist/adapters/claude/ClaudeInvocationUsageTracker.d.ts +17 -0
- package/dist/adapters/claude/ClaudeInvocationUsageTracker.d.ts.map +1 -0
- package/dist/adapters/claude/ClaudeInvocationUsageTracker.js +79 -0
- package/dist/adapters/claude/ClaudeInvocationUsageTracker.js.map +1 -0
- package/dist/adapters/claude/ClaudeStreamParser.d.ts +19 -0
- package/dist/adapters/claude/ClaudeStreamParser.d.ts.map +1 -1
- package/dist/adapters/claude/ClaudeStreamParser.js +92 -0
- package/dist/adapters/claude/ClaudeStreamParser.js.map +1 -1
- package/dist/adapters/codex/CodexAdapter.d.ts.map +1 -1
- package/dist/adapters/codex/CodexAdapter.js +36 -9
- package/dist/adapters/codex/CodexAdapter.js.map +1 -1
- package/dist/adapters/hermes/HermesAdapter.d.ts +9 -1
- package/dist/adapters/hermes/HermesAdapter.d.ts.map +1 -1
- package/dist/adapters/hermes/HermesAdapter.js +146 -7
- package/dist/adapters/hermes/HermesAdapter.js.map +1 -1
- package/dist/adapters/hermes/HermesInvocationUsageReader.d.ts +26 -0
- package/dist/adapters/hermes/HermesInvocationUsageReader.d.ts.map +1 -0
- package/dist/adapters/hermes/HermesInvocationUsageReader.js +128 -0
- package/dist/adapters/hermes/HermesInvocationUsageReader.js.map +1 -0
- package/dist/adapters/openclaw/OpenClawAdapter.d.ts.map +1 -1
- package/dist/adapters/openclaw/OpenClawAdapter.js +29 -7
- package/dist/adapters/openclaw/OpenClawAdapter.js.map +1 -1
- package/dist/core/AgentAdapter.d.ts +44 -1
- package/dist/core/AgentAdapter.d.ts.map +1 -1
- package/dist/core/AgentAdapter.js.map +1 -1
- package/dist/core/WinMatrixAgentClient.d.ts +23 -1
- package/dist/core/WinMatrixAgentClient.d.ts.map +1 -1
- package/dist/core/WinMatrixAgentClient.js +115 -12
- package/dist/core/WinMatrixAgentClient.js.map +1 -1
- package/dist/index.d.ts +13 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -13
- package/dist/index.js.map +1 -1
- package/dist/observability/WorkstationTokenUsageRecorder.d.ts +54 -0
- package/dist/observability/WorkstationTokenUsageRecorder.d.ts.map +1 -0
- package/dist/observability/WorkstationTokenUsageRecorder.js +264 -0
- package/dist/observability/WorkstationTokenUsageRecorder.js.map +1 -0
- package/dist/utils/envSanitizer.d.ts +38 -0
- package/dist/utils/envSanitizer.d.ts.map +1 -0
- package/dist/utils/envSanitizer.js +94 -0
- package/dist/utils/envSanitizer.js.map +1 -0
- package/dist/utils/errorClassification.d.ts +26 -0
- package/dist/utils/errorClassification.d.ts.map +1 -0
- package/dist/utils/errorClassification.js +52 -0
- package/dist/utils/errorClassification.js.map +1 -0
- package/dist/utils/processUtils.d.ts +10 -0
- package/dist/utils/processUtils.d.ts.map +1 -1
- package/dist/utils/processUtils.js +42 -9
- package/dist/utils/processUtils.js.map +1 -1
- package/dist/utils/resumeFallback.d.ts.map +1 -1
- package/dist/utils/resumeFallback.js +11 -1
- package/dist/utils/resumeFallback.js.map +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HermesAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"HermesAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAkC1G,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAcxB;IAEF,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAgC;gBAE/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWrC,OAAO,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC;YAI3E,WAAW;IA8PpB,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IA0BpC,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgCrE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4D/F,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiC3E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiB9F,cAAc,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAUhJ,OAAO,CAAC,qBAAqB;YAsBf,WAAW;YAeX,YAAY;IA0B1B,OAAO,CAAC,aAAa;CAWtB"}
|
|
@@ -5,12 +5,15 @@
|
|
|
5
5
|
* 会话数据存储在 ~/.hermes/state.db SQLite 中。
|
|
6
6
|
*/
|
|
7
7
|
import { spawn } from 'node:child_process';
|
|
8
|
-
import { existsSync, readdirSync } from 'node:fs';
|
|
8
|
+
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { homedir } from 'node:os';
|
|
11
11
|
import { parseSkillMd } from '../../utils/parseSkillMd.js';
|
|
12
12
|
import { waitForExit, killProcess } from '../../utils/processUtils.js';
|
|
13
|
+
import { sanitizeTaskEnv } from '../../utils/envSanitizer.js';
|
|
13
14
|
import { executeWithResumeFallback } from '../../utils/resumeFallback.js';
|
|
15
|
+
import { classifyAdapterError } from '../../utils/errorClassification.js';
|
|
16
|
+
import { captureHermesMessageHighWatermark, readHermesInvocationUsageAfter, } from './HermesInvocationUsageReader.js';
|
|
14
17
|
/** 展开路径中的 `~`(Node spawn 不自动展开,字面 `~` 会导致 ENOENT) */
|
|
15
18
|
function expandHome(p) {
|
|
16
19
|
if (p === '~')
|
|
@@ -61,11 +64,15 @@ export class HermesAdapter {
|
|
|
61
64
|
hermesPath;
|
|
62
65
|
mcpBridgeUrl;
|
|
63
66
|
mcpApiKey;
|
|
67
|
+
workstationId;
|
|
68
|
+
tokenUsageRecorder;
|
|
64
69
|
constructor(config) {
|
|
65
70
|
const opts = config;
|
|
66
71
|
this.hermesPath = expandHome(opts?.hermesPath ?? 'hermes');
|
|
67
72
|
this.mcpBridgeUrl = opts?.mcpBridgeUrl;
|
|
68
73
|
this.mcpApiKey = opts?.mcpApiKey;
|
|
74
|
+
this.workstationId = opts?.workstationId;
|
|
75
|
+
this.tokenUsageRecorder = opts?.tokenUsageRecorder;
|
|
69
76
|
}
|
|
70
77
|
// ── execute ──
|
|
71
78
|
async *execute(task, signal) {
|
|
@@ -74,10 +81,19 @@ export class HermesAdapter {
|
|
|
74
81
|
async *executeOnce(task, signal) {
|
|
75
82
|
const workDir = task.workDir;
|
|
76
83
|
if (workDir && !existsSync(workDir)) {
|
|
77
|
-
yield {
|
|
84
|
+
yield {
|
|
85
|
+
type: 'error',
|
|
86
|
+
message: `Work directory does not exist: ${workDir}`,
|
|
87
|
+
code: 'cli_crash',
|
|
88
|
+
retryable: false,
|
|
89
|
+
};
|
|
78
90
|
return;
|
|
79
91
|
}
|
|
80
92
|
const args = ['chat'];
|
|
93
|
+
const usageDb = this.tokenUsageRecorder
|
|
94
|
+
? await this.openStateDb()
|
|
95
|
+
: null;
|
|
96
|
+
const usageHighWatermark = usageDb ? captureHermesMessageHighWatermark(usageDb) : 0;
|
|
81
97
|
// Non-interactive prompt:systemPrompt 拼接到 input 前方(Hermes 不支持独立 system prompt 参数)
|
|
82
98
|
const queryInput = task.systemPrompt
|
|
83
99
|
? `${task.systemPrompt}\n\n---\n\n${task.input}`
|
|
@@ -113,7 +129,11 @@ export class HermesAdapter {
|
|
|
113
129
|
args.push('--model', task.hermes.model);
|
|
114
130
|
}
|
|
115
131
|
// Build env with MCP bridge config(per-task token 优先)
|
|
116
|
-
|
|
132
|
+
// 先剥凭据后显式加(harden-external-computer-daemon P1/D3)
|
|
133
|
+
const { env, strippedKeys } = sanitizeTaskEnv(task.env);
|
|
134
|
+
if (strippedKeys.length > 0) {
|
|
135
|
+
console.warn(`[HermesAdapter] 已剥离 ${strippedKeys.length} 个凭据形态环境变量(仅列 key 名): ${strippedKeys.join(', ')}`);
|
|
136
|
+
}
|
|
117
137
|
if (this.mcpBridgeUrl) {
|
|
118
138
|
env.HERMES_MCP_SERVER_URL = this.mcpBridgeUrl;
|
|
119
139
|
const effectiveToken = task.mcpToken ?? this.mcpApiKey;
|
|
@@ -124,14 +144,25 @@ export class HermesAdapter {
|
|
|
124
144
|
// Spawn
|
|
125
145
|
let proc;
|
|
126
146
|
try {
|
|
127
|
-
|
|
147
|
+
const nodeShebangScript = process.platform === 'win32' && existsSync(this.hermesPath) &&
|
|
148
|
+
readFileSync(this.hermesPath, 'utf-8').startsWith('#!/usr/bin/env node');
|
|
149
|
+
proc = spawn(nodeShebangScript ? process.execPath : this.hermesPath, nodeShebangScript
|
|
150
|
+
? [this.hermesPath, ...args]
|
|
151
|
+
: args, {
|
|
128
152
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
129
153
|
env,
|
|
130
154
|
cwd: workDir ?? process.cwd(),
|
|
155
|
+
// POSIX 下独立进程组,killProcess 才能 kill(-pid) 杀整棵树
|
|
156
|
+
detached: process.platform !== 'win32',
|
|
131
157
|
});
|
|
132
158
|
}
|
|
133
159
|
catch (err) {
|
|
134
|
-
yield {
|
|
160
|
+
yield {
|
|
161
|
+
type: 'error',
|
|
162
|
+
message: `Failed to spawn hermes: ${err instanceof Error ? err.message : String(err)}`,
|
|
163
|
+
code: 'cli_crash',
|
|
164
|
+
retryable: false,
|
|
165
|
+
};
|
|
135
166
|
return;
|
|
136
167
|
}
|
|
137
168
|
proc.stdin?.end();
|
|
@@ -212,6 +243,49 @@ export class HermesAdapter {
|
|
|
212
243
|
if (!completed) {
|
|
213
244
|
completed = true;
|
|
214
245
|
if (exitResult.code === 0 || resultText.length > 0) {
|
|
246
|
+
if (this.tokenUsageRecorder) {
|
|
247
|
+
const workstationId = this.workstationId ?? task.env?.WINMATRIX_WORKSTATION_ID ?? process.env.WINMATRIX_WORKSTATION_ID;
|
|
248
|
+
if (!workstationId?.trim()) {
|
|
249
|
+
throw new Error('WORKSTATION_TOKEN_USAGE_WORKSTATION_ID_MISSING');
|
|
250
|
+
}
|
|
251
|
+
const readResult = usageDb
|
|
252
|
+
? readHermesInvocationUsageAfter(usageDb, usageHighWatermark)
|
|
253
|
+
: { supported: false, reason: 'HERMES_INVOCATION_USAGE_UNAVAILABLE', rows: [] };
|
|
254
|
+
if (!readResult.supported || readResult.rows.length === 0) {
|
|
255
|
+
await this.tokenUsageRecorder.recordCoverageGap({
|
|
256
|
+
workstationId,
|
|
257
|
+
runtime: 'hermes',
|
|
258
|
+
reason: 'HERMES_INVOCATION_USAGE_UNAVAILABLE',
|
|
259
|
+
occurredAt: new Date().toISOString(),
|
|
260
|
+
stableSourceReference: task.taskId,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
const provider = task.hermes?.provider ?? process.env.HERMES_INFERENCE_PROVIDER ?? 'hermes';
|
|
265
|
+
for (const usage of readResult.rows) {
|
|
266
|
+
await this.tokenUsageRecorder.recordCompletedInvocation({
|
|
267
|
+
workstationId,
|
|
268
|
+
runtime: 'hermes',
|
|
269
|
+
sourceInvocationId: usage.sourceInvocationId,
|
|
270
|
+
provider,
|
|
271
|
+
startedAt: usage.occurredAt,
|
|
272
|
+
occurredAt: usage.occurredAt,
|
|
273
|
+
timeSource: 'source',
|
|
274
|
+
sessionId: usage.sessionId ?? extractedSessionId ?? sessionId,
|
|
275
|
+
taskId: task.taskId,
|
|
276
|
+
modelUsages: [{
|
|
277
|
+
sourceModelUsageId: `${usage.sourceInvocationId}:model:0`,
|
|
278
|
+
model: usage.model,
|
|
279
|
+
inputTokens: usage.inputTokens,
|
|
280
|
+
outputTokens: usage.outputTokens,
|
|
281
|
+
cacheReadTokens: usage.cacheReadTokens,
|
|
282
|
+
cacheCreationTokens: usage.cacheCreationTokens,
|
|
283
|
+
reasoningTokens: usage.reasoningTokens,
|
|
284
|
+
}],
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
215
289
|
yield {
|
|
216
290
|
type: 'result',
|
|
217
291
|
content: resultText.trim(),
|
|
@@ -220,13 +294,19 @@ export class HermesAdapter {
|
|
|
220
294
|
}
|
|
221
295
|
else {
|
|
222
296
|
const errMsg = stderrBuffer.trim() || exitResult.error || `Hermes exited with code ${exitResult.code}`;
|
|
223
|
-
|
|
297
|
+
const classified = classifyAdapterError({
|
|
298
|
+
message: errMsg,
|
|
299
|
+
exitCode: exitResult.code,
|
|
300
|
+
aborted: signal?.aborted,
|
|
301
|
+
});
|
|
302
|
+
yield { type: 'error', message: errMsg, code: classified.code, retryable: classified.retryable };
|
|
224
303
|
}
|
|
225
304
|
}
|
|
226
305
|
}
|
|
227
306
|
finally {
|
|
228
307
|
signal?.removeEventListener('abort', onAbort);
|
|
229
308
|
killProcess(proc);
|
|
309
|
+
usageDb?.close?.();
|
|
230
310
|
}
|
|
231
311
|
}
|
|
232
312
|
// ── healthCheck ──
|
|
@@ -335,6 +415,52 @@ export class HermesAdapter {
|
|
|
335
415
|
};
|
|
336
416
|
}
|
|
337
417
|
}
|
|
418
|
+
// ── searchSessions ──
|
|
419
|
+
async searchSessions(options) {
|
|
420
|
+
try {
|
|
421
|
+
const listResult = await this.listSessions({ dir: options.dir ?? '', limit: 800 });
|
|
422
|
+
if (listResult.error) {
|
|
423
|
+
return { sessions: [], error: listResult.error };
|
|
424
|
+
}
|
|
425
|
+
const query = options.query.toLowerCase().trim();
|
|
426
|
+
let entries = listResult.sessions.filter((s) => {
|
|
427
|
+
const haystack = [s.id, s.summary, s.projectName, s.cwd].filter(Boolean).join(' ').toLowerCase();
|
|
428
|
+
return haystack.includes(query);
|
|
429
|
+
});
|
|
430
|
+
// Simple offset cursor
|
|
431
|
+
let offset = 0;
|
|
432
|
+
if (options.cursor) {
|
|
433
|
+
try {
|
|
434
|
+
const parsed = Number.parseInt(options.cursor, 10);
|
|
435
|
+
if (!Number.isNaN(parsed))
|
|
436
|
+
offset = Math.max(0, parsed);
|
|
437
|
+
}
|
|
438
|
+
catch { /* ignore invalid cursor */ }
|
|
439
|
+
}
|
|
440
|
+
const limit = Math.min(options.limit ?? 50, 100);
|
|
441
|
+
const sliced = entries.slice(offset, offset + limit);
|
|
442
|
+
const nextCursor = entries.length > offset + limit ? String(offset + limit) : undefined;
|
|
443
|
+
return { sessions: sliced, nextCursor };
|
|
444
|
+
}
|
|
445
|
+
catch (err) {
|
|
446
|
+
return { sessions: [], error: err instanceof Error ? err.message : String(err) };
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
// ── deleteSession ──
|
|
450
|
+
async deleteSession(sessionId, _request) {
|
|
451
|
+
try {
|
|
452
|
+
const db = await this.openStateDb();
|
|
453
|
+
if (!db) {
|
|
454
|
+
return { status: 'rejected', error: 'Cannot open ~/.hermes/state.db' };
|
|
455
|
+
}
|
|
456
|
+
const result = this.mutateStateDb(db, 'DELETE FROM sessions WHERE id = ?', sessionId);
|
|
457
|
+
const changes = typeof result?.changes === 'number' ? result.changes : 0;
|
|
458
|
+
return { status: changes > 0 ? 'deleted' : 'already_deleted' };
|
|
459
|
+
}
|
|
460
|
+
catch (err) {
|
|
461
|
+
return { status: 'rejected', error: err instanceof Error ? err.message : String(err) };
|
|
462
|
+
}
|
|
463
|
+
}
|
|
338
464
|
// ── discoverSkills ──
|
|
339
465
|
async discoverSkills(_context) {
|
|
340
466
|
const result = [];
|
|
@@ -367,7 +493,8 @@ export class HermesAdapter {
|
|
|
367
493
|
}
|
|
368
494
|
// ── state.db helpers ──
|
|
369
495
|
async openStateDb() {
|
|
370
|
-
const
|
|
496
|
+
const hermesHome = process.env.HERMES_HOME?.trim() || join(homedir(), '.hermes');
|
|
497
|
+
const dbPath = join(hermesHome, 'state.db');
|
|
371
498
|
if (!existsSync(dbPath))
|
|
372
499
|
return null;
|
|
373
500
|
// Try node:sqlite (Node >= 22.5)
|
|
@@ -403,5 +530,17 @@ export class HermesAdapter {
|
|
|
403
530
|
}
|
|
404
531
|
return [];
|
|
405
532
|
}
|
|
533
|
+
mutateStateDb(db, sql, ...params) {
|
|
534
|
+
if (typeof db.prepare === 'function') {
|
|
535
|
+
const nodeDb = db;
|
|
536
|
+
try {
|
|
537
|
+
return nodeDb.prepare(sql).run(...params);
|
|
538
|
+
}
|
|
539
|
+
catch {
|
|
540
|
+
return undefined;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
return undefined;
|
|
544
|
+
}
|
|
406
545
|
}
|
|
407
546
|
//# sourceMappingURL=HermesAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HermesAdapter.js","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HermesAdapter.js","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface HermesStateDatabase {
|
|
2
|
+
prepare(sql: string): {
|
|
3
|
+
all(...params: unknown[]): unknown[];
|
|
4
|
+
get(...params: unknown[]): unknown;
|
|
5
|
+
};
|
|
6
|
+
close?(): void;
|
|
7
|
+
}
|
|
8
|
+
export interface HermesInvocationUsageRow {
|
|
9
|
+
sourceInvocationId: string;
|
|
10
|
+
sessionId?: string;
|
|
11
|
+
model: string;
|
|
12
|
+
occurredAt: string;
|
|
13
|
+
inputTokens: number;
|
|
14
|
+
outputTokens: number;
|
|
15
|
+
cacheReadTokens: number;
|
|
16
|
+
cacheCreationTokens: number;
|
|
17
|
+
reasoningTokens: number;
|
|
18
|
+
}
|
|
19
|
+
export interface HermesInvocationUsageReadResult {
|
|
20
|
+
supported: boolean;
|
|
21
|
+
reason?: 'HERMES_INVOCATION_USAGE_UNAVAILABLE';
|
|
22
|
+
rows: HermesInvocationUsageRow[];
|
|
23
|
+
}
|
|
24
|
+
export declare function captureHermesMessageHighWatermark(db: HermesStateDatabase): number;
|
|
25
|
+
export declare function readHermesInvocationUsageAfter(db: HermesStateDatabase, afterRowId: number): HermesInvocationUsageReadResult;
|
|
26
|
+
//# sourceMappingURL=HermesInvocationUsageReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HermesInvocationUsageReader.d.ts","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesInvocationUsageReader.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QAAC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;KAAE,CAAC;IACnG,KAAK,CAAC,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,qCAAqC,CAAC;IAC/C,IAAI,EAAE,wBAAwB,EAAE,CAAC;CAClC;AAgED,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,mBAAmB,GAAG,MAAM,CASjF;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,mBAAmB,EACvB,UAAU,EAAE,MAAM,GACjB,+BAA+B,CA2DjC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
function pick(columns, ...candidates) {
|
|
2
|
+
return candidates.find((candidate) => columns.has(candidate));
|
|
3
|
+
}
|
|
4
|
+
function quoteIdentifier(identifier) {
|
|
5
|
+
return `"${identifier.replaceAll('"', '""')}"`;
|
|
6
|
+
}
|
|
7
|
+
function readNonNegativeInteger(value) {
|
|
8
|
+
if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0)
|
|
9
|
+
return null;
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
function readTimestamp(value) {
|
|
13
|
+
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
14
|
+
const millis = value < 10_000_000_000 ? value * 1000 : value;
|
|
15
|
+
const date = new Date(millis);
|
|
16
|
+
return Number.isFinite(date.getTime()) ? date.toISOString() : null;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'string' && Number.isFinite(Date.parse(value))) {
|
|
19
|
+
return new Date(value).toISOString();
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function resolveColumns(db) {
|
|
24
|
+
let rows;
|
|
25
|
+
try {
|
|
26
|
+
rows = db.prepare('PRAGMA table_info(messages)').all();
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const columns = new Set(rows.flatMap((row) => {
|
|
32
|
+
if (!row || typeof row !== 'object' || Array.isArray(row))
|
|
33
|
+
return [];
|
|
34
|
+
const name = row.name;
|
|
35
|
+
return typeof name === 'string' ? [name] : [];
|
|
36
|
+
}));
|
|
37
|
+
const mapping = {
|
|
38
|
+
id: pick(columns, 'id', 'message_id'),
|
|
39
|
+
sessionId: pick(columns, 'session_id'),
|
|
40
|
+
role: pick(columns, 'role'),
|
|
41
|
+
model: pick(columns, 'model', 'model_name'),
|
|
42
|
+
occurredAt: pick(columns, 'completed_at', 'created_at', 'timestamp'),
|
|
43
|
+
inputTokens: pick(columns, 'input_tokens'),
|
|
44
|
+
outputTokens: pick(columns, 'output_tokens'),
|
|
45
|
+
cacheReadTokens: pick(columns, 'cache_read_tokens'),
|
|
46
|
+
cacheCreationTokens: pick(columns, 'cache_write_tokens', 'cache_creation_tokens'),
|
|
47
|
+
reasoningTokens: pick(columns, 'reasoning_tokens'),
|
|
48
|
+
};
|
|
49
|
+
if (!mapping.id || !mapping.role || !mapping.model || !mapping.occurredAt ||
|
|
50
|
+
!mapping.inputTokens || !mapping.outputTokens) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return Object.fromEntries(Object.entries(mapping).filter((entry) => typeof entry[1] === 'string'));
|
|
54
|
+
}
|
|
55
|
+
export function captureHermesMessageHighWatermark(db) {
|
|
56
|
+
try {
|
|
57
|
+
const row = db.prepare('SELECT COALESCE(MAX(rowid), 0) AS max_row_id FROM messages').get();
|
|
58
|
+
if (!row || typeof row !== 'object' || Array.isArray(row))
|
|
59
|
+
return 0;
|
|
60
|
+
const value = row.max_row_id;
|
|
61
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : 0;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function readHermesInvocationUsageAfter(db, afterRowId) {
|
|
68
|
+
const columns = resolveColumns(db);
|
|
69
|
+
if (!columns) {
|
|
70
|
+
return { supported: false, reason: 'HERMES_INVOCATION_USAGE_UNAVAILABLE', rows: [] };
|
|
71
|
+
}
|
|
72
|
+
const select = [
|
|
73
|
+
'rowid AS source_row_id',
|
|
74
|
+
`${quoteIdentifier(columns.id)} AS source_invocation_id`,
|
|
75
|
+
columns.sessionId ? `${quoteIdentifier(columns.sessionId)} AS session_id` : 'NULL AS session_id',
|
|
76
|
+
`${quoteIdentifier(columns.model)} AS model`,
|
|
77
|
+
`${quoteIdentifier(columns.occurredAt)} AS occurred_at`,
|
|
78
|
+
`${quoteIdentifier(columns.inputTokens)} AS input_tokens`,
|
|
79
|
+
`${quoteIdentifier(columns.outputTokens)} AS output_tokens`,
|
|
80
|
+
columns.cacheReadTokens ? `${quoteIdentifier(columns.cacheReadTokens)} AS cache_read_tokens` : '0 AS cache_read_tokens',
|
|
81
|
+
columns.cacheCreationTokens ? `${quoteIdentifier(columns.cacheCreationTokens)} AS cache_creation_tokens` : '0 AS cache_creation_tokens',
|
|
82
|
+
columns.reasoningTokens ? `${quoteIdentifier(columns.reasoningTokens)} AS reasoning_tokens` : '0 AS reasoning_tokens',
|
|
83
|
+
].join(', ');
|
|
84
|
+
let rawRows;
|
|
85
|
+
try {
|
|
86
|
+
rawRows = db.prepare(`SELECT ${select}
|
|
87
|
+
FROM messages
|
|
88
|
+
WHERE rowid > ? AND ${quoteIdentifier(columns.role)} = 'assistant'
|
|
89
|
+
ORDER BY rowid ASC`).all(afterRowId);
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return { supported: false, reason: 'HERMES_INVOCATION_USAGE_UNAVAILABLE', rows: [] };
|
|
93
|
+
}
|
|
94
|
+
const rows = rawRows.flatMap((raw) => {
|
|
95
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
96
|
+
return [];
|
|
97
|
+
const row = raw;
|
|
98
|
+
const sourceInvocationId = typeof row.source_invocation_id === 'string'
|
|
99
|
+
? row.source_invocation_id.trim()
|
|
100
|
+
: String(row.source_invocation_id ?? '').trim();
|
|
101
|
+
const model = typeof row.model === 'string' ? row.model.trim() : '';
|
|
102
|
+
const occurredAt = readTimestamp(row.occurred_at);
|
|
103
|
+
const inputTokens = readNonNegativeInteger(row.input_tokens);
|
|
104
|
+
const outputTokens = readNonNegativeInteger(row.output_tokens);
|
|
105
|
+
const cacheReadTokens = readNonNegativeInteger(row.cache_read_tokens) ?? 0;
|
|
106
|
+
const cacheCreationTokens = readNonNegativeInteger(row.cache_creation_tokens) ?? 0;
|
|
107
|
+
const reasoningTokens = readNonNegativeInteger(row.reasoning_tokens) ?? 0;
|
|
108
|
+
if (!sourceInvocationId || !model || !occurredAt || inputTokens === null || outputTokens === null)
|
|
109
|
+
return [];
|
|
110
|
+
if (inputTokens + outputTokens + cacheReadTokens + cacheCreationTokens + reasoningTokens === 0)
|
|
111
|
+
return [];
|
|
112
|
+
return [{
|
|
113
|
+
sourceInvocationId,
|
|
114
|
+
sessionId: typeof row.session_id === 'string' && row.session_id.trim()
|
|
115
|
+
? row.session_id.trim()
|
|
116
|
+
: undefined,
|
|
117
|
+
model,
|
|
118
|
+
occurredAt,
|
|
119
|
+
inputTokens,
|
|
120
|
+
outputTokens,
|
|
121
|
+
cacheReadTokens,
|
|
122
|
+
cacheCreationTokens,
|
|
123
|
+
reasoningTokens,
|
|
124
|
+
}];
|
|
125
|
+
});
|
|
126
|
+
return { supported: true, rows };
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=HermesInvocationUsageReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HermesInvocationUsageReader.js","sourceRoot":"","sources":["../../../src/adapters/hermes/HermesInvocationUsageReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenClawAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/openclaw/OpenClawAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"OpenClawAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/openclaw/OpenClawAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAmDpC,MAAM,WAAW,sBAAsB;IACrC,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAgBxB;IAEF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU5C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiCf,OAAO,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC;YAI3E,WAAW;IA6HpB,cAAc,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA4B/I,OAAO,CAAC,YAAY;IAsBd,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAwBpC,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyCrE,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAgBhC"}
|
|
@@ -14,7 +14,9 @@ import { homedir } from 'node:os';
|
|
|
14
14
|
import { join, dirname } from 'node:path';
|
|
15
15
|
import { parseSkillMd } from '../../utils/parseSkillMd.js';
|
|
16
16
|
import { waitForExit, killProcess } from '../../utils/processUtils.js';
|
|
17
|
+
import { sanitizeTaskEnv } from '../../utils/envSanitizer.js';
|
|
17
18
|
import { executeWithResumeFallback } from '../../utils/resumeFallback.js';
|
|
19
|
+
import { classifyAdapterError } from '../../utils/errorClassification.js';
|
|
18
20
|
// ── constants ──
|
|
19
21
|
const OPENCLAW_DIR = join(homedir(), '.openclaw');
|
|
20
22
|
const OPENCLAW_CONFIG = join(OPENCLAW_DIR, 'openclaw.json');
|
|
@@ -57,7 +59,7 @@ export class OpenClawAdapter {
|
|
|
57
59
|
// 非流式(一次性 JSON);CLI 无 --stream-json
|
|
58
60
|
streaming: false,
|
|
59
61
|
toolCall: true,
|
|
60
|
-
session:
|
|
62
|
+
session: false,
|
|
61
63
|
// SIGTERM killProcess 可取消
|
|
62
64
|
cancellation: true,
|
|
63
65
|
supportsCancel: true,
|
|
@@ -123,7 +125,12 @@ export class OpenClawAdapter {
|
|
|
123
125
|
async *executeOnce(task, signal) {
|
|
124
126
|
const workDir = task.workDir;
|
|
125
127
|
if (workDir && !existsSync(workDir)) {
|
|
126
|
-
yield {
|
|
128
|
+
yield {
|
|
129
|
+
type: 'error',
|
|
130
|
+
message: `Work directory does not exist: ${workDir}`,
|
|
131
|
+
code: 'cli_crash',
|
|
132
|
+
retryable: false,
|
|
133
|
+
};
|
|
127
134
|
return;
|
|
128
135
|
}
|
|
129
136
|
// MCP 注入:Gateway 从 openclaw.json 读 mcp.servers.winmatrix
|
|
@@ -148,15 +155,26 @@ export class OpenClawAdapter {
|
|
|
148
155
|
// Spawn
|
|
149
156
|
let proc;
|
|
150
157
|
try {
|
|
158
|
+
// 先剥凭据后显式加(harden-external-computer-daemon P1/D3);
|
|
159
|
+
// 旧实现未传 env → 子进程默认继承 daemon 全部环境变量,属同一泄漏面
|
|
160
|
+
const { env, strippedKeys } = sanitizeTaskEnv(task.env);
|
|
161
|
+
if (strippedKeys.length > 0) {
|
|
162
|
+
console.warn(`[OpenClawAdapter] 已剥离 ${strippedKeys.length} 个凭据形态环境变量(仅列 key 名): ${strippedKeys.join(', ')}`);
|
|
163
|
+
}
|
|
151
164
|
proc = spawn(this.openclawPath, args, {
|
|
152
165
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
166
|
+
env,
|
|
153
167
|
cwd: workDir ?? process.cwd(),
|
|
168
|
+
// POSIX 下独立进程组,killProcess 才能 kill(-pid) 杀整棵树
|
|
169
|
+
detached: process.platform !== 'win32',
|
|
154
170
|
});
|
|
155
171
|
}
|
|
156
172
|
catch (err) {
|
|
157
173
|
yield {
|
|
158
174
|
type: 'error',
|
|
159
175
|
message: `Failed to spawn openclaw: ${err instanceof Error ? err.message : String(err)}`,
|
|
176
|
+
code: 'cli_crash',
|
|
177
|
+
retryable: false,
|
|
160
178
|
};
|
|
161
179
|
return;
|
|
162
180
|
}
|
|
@@ -202,14 +220,18 @@ export class OpenClawAdapter {
|
|
|
202
220
|
// exit≠0:取 stderr 最后非空行(真实错误通常在末尾,前面可能混 plugin warning 噪声)
|
|
203
221
|
const stderrLines = stderrBuffer.trim().split('\n').filter((l) => l.trim());
|
|
204
222
|
const errMsg = stderrLines[stderrLines.length - 1] || exitResult.error || `openclaw exited with code ${exitResult.code}`;
|
|
205
|
-
|
|
223
|
+
const classified = classifyAdapterError({
|
|
224
|
+
message: errMsg,
|
|
225
|
+
exitCode: exitResult.code,
|
|
226
|
+
aborted: signal?.aborted,
|
|
227
|
+
});
|
|
228
|
+
yield { type: 'error', message: `OpenClaw agent failed: ${errMsg}`, code: classified.code, retryable: classified.retryable };
|
|
206
229
|
}
|
|
207
230
|
}
|
|
208
231
|
catch (err) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
};
|
|
232
|
+
const errMsg = `OpenClaw agent error: ${err instanceof Error ? err.message : String(err)}`;
|
|
233
|
+
const classified = classifyAdapterError({ message: errMsg, aborted: signal?.aborted });
|
|
234
|
+
yield { type: 'error', message: errMsg, code: classified.code, retryable: classified.retryable };
|
|
213
235
|
}
|
|
214
236
|
finally {
|
|
215
237
|
signal?.removeEventListener('abort', onAbort);
|