@goplus/agentguard 1.1.9 → 1.1.10

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/feed/cron.js CHANGED
@@ -5,10 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validateCronExpression = validateCronExpression;
7
7
  exports.localTimeZone = localTimeZone;
8
+ exports.installThreatFeedCron = installThreatFeedCron;
8
9
  exports.installOpenClawThreatFeedCron = installOpenClawThreatFeedCron;
9
10
  exports.extractOpenClawCronJobs = extractOpenClawCronJobs;
10
11
  exports.openClawGatewayRequest = openClawGatewayRequest;
11
12
  const node_http_1 = __importDefault(require("node:http"));
13
+ const node_child_process_1 = require("node:child_process");
14
+ const promises_1 = require("node:fs/promises");
15
+ const node_os_1 = require("node:os");
16
+ const node_path_1 = require("node:path");
12
17
  function validateCronExpression(value) {
13
18
  const expr = value.trim();
14
19
  const fields = expr.split(/\s+/);
@@ -23,9 +28,51 @@ function validateCronExpression(value) {
23
28
  function localTimeZone() {
24
29
  return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';
25
30
  }
31
+ async function installThreatFeedCron(options, adapters = {}) {
32
+ const backend = options.backend ?? 'auto';
33
+ if (backend === 'auto' && !options.agentHost) {
34
+ throw new Error('Cron target auto requires a saved agent host. Run `agentguard init --agent <claude-code|codex|openclaw|hermes|qclaw>` first, or pass `--cron-target openclaw`, `--cron-target qclaw`, `--cron-target hermes`, or `--cron-target system`.');
35
+ }
36
+ if (backend === 'system' || (backend === 'auto' && options.agentHost !== 'openclaw' && options.agentHost !== 'qclaw' && options.agentHost !== 'hermes')) {
37
+ return installSystemThreatFeedCron(options, adapters.runCommand);
38
+ }
39
+ if (backend === 'hermes' || (backend === 'auto' && options.agentHost === 'hermes')) {
40
+ return installHermesNativeThreatFeedCron(options, adapters.runCommand);
41
+ }
42
+ if (backend === 'openclaw' || (backend === 'auto' && options.agentHost === 'openclaw')) {
43
+ let nativeError = null;
44
+ try {
45
+ const result = await installOpenClawNativeThreatFeedCron(options, adapters.runCommand);
46
+ result.backend = 'openclaw';
47
+ return result;
48
+ }
49
+ catch (err) {
50
+ nativeError = err;
51
+ if (!(nativeError instanceof CronBackendUnavailableError)) {
52
+ throw nativeError;
53
+ }
54
+ }
55
+ try {
56
+ const result = await installOpenClawThreatFeedCron(options, adapters.gateway);
57
+ result.backend = 'openclaw-gateway';
58
+ return result;
59
+ }
60
+ catch (gatewayError) {
61
+ throw new Error(`Could not install OpenClaw cron. Native openclaw command failed: ${nativeError.message}. ` +
62
+ `Gateway fallback failed: ${gatewayError.message}`);
63
+ }
64
+ }
65
+ if (backend === 'qclaw' || (backend === 'auto' && options.agentHost === 'qclaw')) {
66
+ const result = await installOpenClawThreatFeedCron(options, qclawGatewayOptions(adapters.gateway));
67
+ result.backend = 'qclaw-gateway';
68
+ return result;
69
+ }
70
+ throw new Error('Invalid cron target. Use auto, openclaw, qclaw, hermes, or system.');
71
+ }
26
72
  async function installOpenClawThreatFeedCron(options, gateway = {}) {
27
73
  const schedule = validateCronExpression(options.cronExpression);
28
74
  const timezone = options.timezone ?? localTimeZone();
75
+ const command = threatFeedCommand(options.quiet);
29
76
  const existing = await findOpenClawCronJobsByName(options.name, gateway);
30
77
  if (existing.length > 0 && !options.force) {
31
78
  return {
@@ -33,24 +80,13 @@ async function installOpenClawThreatFeedCron(options, gateway = {}) {
33
80
  schedule,
34
81
  timezone,
35
82
  created: false,
83
+ backend: 'openclaw-gateway',
84
+ command,
36
85
  };
37
86
  }
38
87
  const mode = options.quiet ? 'quiet' : 'manual';
39
- const command = `agentguard subscribe${options.quiet ? ' --quiet' : ''} --json --cron-run`;
40
88
  const description = `AgentGuard Cloud threat feed subscription (${schedule})`;
41
- const message = [
42
- `Mode: ${mode}.`,
43
- `Command: \`${command}\`.`,
44
- `Run exactly the command above.`,
45
- '',
46
- 'Rules:',
47
- '- If the JSON field `hardFailures` is greater than 0, output a short error summary and do not send a notification.',
48
- '- If the JSON field `shouldNotify` is true, send `notification.body` exactly as-is using the current session notification context.',
49
- '- If `shouldNotify` is false, output "skipped" and finish without sending any message.',
50
- '- If the command fails or the JSON cannot be parsed, output a short error summary and do not send a notification.',
51
- '',
52
- 'Follow these rules exactly.',
53
- ].join('\n');
89
+ const message = openClawCronMessage(options.quiet);
54
90
  if (existing.length > 0) {
55
91
  await removeOpenClawCronJobs(existing, gateway);
56
92
  }
@@ -84,12 +120,326 @@ async function installOpenClawThreatFeedCron(options, gateway = {}) {
84
120
  schedule,
85
121
  timezone,
86
122
  created: true,
123
+ backend: 'openclaw-gateway',
124
+ command,
87
125
  };
88
126
  }
89
127
  async function findOpenClawCronJobsByName(name, gateway) {
90
- const listed = await openClawGatewayRequest('cron.list', {}, gateway).catch(() => null);
128
+ const listed = await openClawGatewayRequest('cron.list', {}, gateway);
91
129
  return extractOpenClawCronJobs(listed).filter((job) => job.name === name);
92
130
  }
131
+ async function installOpenClawNativeThreatFeedCron(options, runCommand = execCommand) {
132
+ const schedule = validateCronExpression(options.cronExpression);
133
+ const timezone = options.timezone ?? localTimeZone();
134
+ const command = threatFeedCommand(options.quiet);
135
+ const message = openClawCronMessage(options.quiet);
136
+ let existing;
137
+ try {
138
+ existing = await runCommand('openclaw', ['cron', 'list']);
139
+ }
140
+ catch (err) {
141
+ throw new CronBackendUnavailableError(`Could not list native OpenClaw cron jobs. Is OpenClaw installed and available on PATH? ${err.message}`);
142
+ }
143
+ if (nativeCronListHasExactName(existing.stdout, options.name) && !options.force) {
144
+ return {
145
+ name: options.name,
146
+ schedule,
147
+ timezone,
148
+ created: false,
149
+ backend: 'openclaw',
150
+ command,
151
+ };
152
+ }
153
+ const args = [
154
+ 'cron',
155
+ 'add',
156
+ '--name',
157
+ options.name,
158
+ '--description',
159
+ `AgentGuard Cloud threat feed subscription (${schedule})`,
160
+ '--cron',
161
+ schedule,
162
+ '--tz',
163
+ timezone,
164
+ '--session',
165
+ 'isolated',
166
+ '--message',
167
+ message,
168
+ '--timeout-seconds',
169
+ '300',
170
+ '--thinking',
171
+ 'off',
172
+ ];
173
+ if (options.force)
174
+ args.push('--force');
175
+ await runCommand('openclaw', args);
176
+ return {
177
+ name: options.name,
178
+ schedule,
179
+ timezone,
180
+ created: true,
181
+ backend: 'openclaw',
182
+ command,
183
+ };
184
+ }
185
+ class CronBackendUnavailableError extends Error {
186
+ constructor(message) {
187
+ super(message);
188
+ this.name = 'CronBackendUnavailableError';
189
+ }
190
+ }
191
+ function nativeCronListHasExactName(stdout, name) {
192
+ const jsonJobs = extractOpenClawCronJobs(parseJsonOrNull(stdout));
193
+ if (jsonJobs.some((job) => job.name === name))
194
+ return true;
195
+ return stdout
196
+ .split(/\r?\n/)
197
+ .map((line) => line.trim())
198
+ .filter(Boolean)
199
+ .some((line) => nativeCronListLineHasExactName(line, name));
200
+ }
201
+ function nativeCronListLineHasExactName(line, name) {
202
+ const quoted = line.match(/(["'])(.*?)\1/);
203
+ if (quoted?.[2] === name)
204
+ return true;
205
+ const cells = line.split(/\s{2,}|\t+/).map((cell) => cell.trim()).filter(Boolean);
206
+ return cells.includes(name);
207
+ }
208
+ function parseJsonOrNull(value) {
209
+ try {
210
+ return JSON.parse(value);
211
+ }
212
+ catch {
213
+ return null;
214
+ }
215
+ }
216
+ async function installHermesNativeThreatFeedCron(options, runCommand = execCommand) {
217
+ const schedule = validateCronExpression(options.cronExpression);
218
+ const timezone = options.timezone ?? localTimeZone();
219
+ const command = threatFeedCommand(options.quiet);
220
+ let existing;
221
+ try {
222
+ existing = await runCommand('hermes', ['cron', 'list']);
223
+ }
224
+ catch (err) {
225
+ throw new Error(`Could not list Hermes cron jobs. Is Hermes installed and available on PATH? ${err.message}`);
226
+ }
227
+ if (existing.stdout.includes(options.name) && !options.force) {
228
+ return {
229
+ name: options.name,
230
+ schedule,
231
+ timezone,
232
+ created: false,
233
+ backend: 'hermes',
234
+ command,
235
+ };
236
+ }
237
+ if (existing.stdout.includes(options.name) && options.force) {
238
+ await runCommand('hermes', ['cron', 'remove', options.name]);
239
+ }
240
+ const script = await writeHermesThreatFeedScript(options);
241
+ await runCommand('hermes', [
242
+ 'cron',
243
+ 'create',
244
+ schedule,
245
+ '--name',
246
+ options.name,
247
+ '--deliver',
248
+ 'local',
249
+ '--script',
250
+ script,
251
+ '--no-agent',
252
+ ]);
253
+ return {
254
+ name: options.name,
255
+ schedule,
256
+ timezone,
257
+ created: true,
258
+ backend: 'hermes',
259
+ command,
260
+ script,
261
+ };
262
+ }
263
+ async function installSystemThreatFeedCron(options, runCommand = execCommand) {
264
+ const schedule = validateCronExpression(options.cronExpression);
265
+ const timezone = options.timezone ?? localTimeZone();
266
+ const command = threatFeedCommand(options.quiet);
267
+ const home = validateCronFilesystemPath(options.agentGuardHome ?? (0, node_path_1.join)((0, node_os_1.homedir)(), '.agentguard'), 'AGENTGUARD_HOME');
268
+ const jobId = sanitizeCronJobId(options.name);
269
+ const begin = `# AgentGuard begin ${jobId}`;
270
+ const end = `# AgentGuard end ${jobId}`;
271
+ const script = await writeSystemThreatFeedScript({
272
+ name: options.name,
273
+ quiet: options.quiet,
274
+ agentGuardHome: home,
275
+ });
276
+ const logPath = validateCronFilesystemPath((0, node_path_1.join)(home, 'feed-cron.log'), 'system cron log path');
277
+ const line = `${schedule} ${shellQuote(script)} >> ${shellQuote(logPath)} 2>&1`;
278
+ const existing = await runCommand('crontab', ['-l']).then((result) => result.stdout, () => '');
279
+ const hasExisting = existing.includes(begin);
280
+ if (hasExisting && !options.force) {
281
+ return {
282
+ name: options.name,
283
+ schedule,
284
+ timezone,
285
+ created: false,
286
+ backend: 'system',
287
+ command,
288
+ script,
289
+ };
290
+ }
291
+ const withoutExisting = removeAgentGuardCronBlock(existing, jobId).trimEnd();
292
+ const next = `${withoutExisting}${withoutExisting ? '\n' : ''}${begin}\n${line}\n${end}\n`;
293
+ await runCommand('crontab', ['-'], next);
294
+ return {
295
+ name: options.name,
296
+ schedule,
297
+ timezone,
298
+ created: true,
299
+ backend: 'system',
300
+ command,
301
+ script,
302
+ };
303
+ }
304
+ function threatFeedCommand(quiet) {
305
+ return `agentguard subscribe${quiet ? ' --quiet' : ''} --json --cron-run`;
306
+ }
307
+ function qclawGatewayOptions(gateway = {}) {
308
+ return {
309
+ ...gateway,
310
+ port: gateway.port ?? 28789,
311
+ label: gateway.label ?? 'QClaw Gateway',
312
+ };
313
+ }
314
+ async function writeHermesThreatFeedScript(options) {
315
+ const hermesHome = (options.hermesHome ?? process.env.HERMES_HOME?.trim()) || (0, node_path_1.join)((0, node_os_1.homedir)(), '.hermes');
316
+ const scriptsDir = (0, node_path_1.join)(hermesHome, 'scripts');
317
+ await (0, promises_1.mkdir)(scriptsDir, { recursive: true });
318
+ const scriptName = `${sanitizeHermesScriptName(options.name)}.sh`;
319
+ const scriptPath = (0, node_path_1.join)(scriptsDir, scriptName);
320
+ const lines = [
321
+ '#!/usr/bin/env bash',
322
+ 'set -euo pipefail',
323
+ `export AGENTGUARD_HOME=${shellQuote(options.agentGuardHome ?? (0, node_path_1.join)((0, node_os_1.homedir)(), '.agentguard'))}`,
324
+ process.env.PATH ? `export PATH=${shellQuote(process.env.PATH)}` : '',
325
+ `exec ${threatFeedCommand(options.quiet)}`,
326
+ '',
327
+ ].filter(Boolean);
328
+ await (0, promises_1.writeFile)(scriptPath, lines.join('\n'), { mode: 0o700 });
329
+ await (0, promises_1.chmod)(scriptPath, 0o700).catch(() => undefined);
330
+ return scriptName;
331
+ }
332
+ async function writeSystemThreatFeedScript(options) {
333
+ const scriptsDir = (0, node_path_1.join)(options.agentGuardHome, 'scripts');
334
+ await (0, promises_1.mkdir)(scriptsDir, { recursive: true });
335
+ const scriptPath = validateCronFilesystemPath((0, node_path_1.join)(scriptsDir, `${sanitizeCronJobId(options.name)}.sh`), 'system cron script path');
336
+ const lines = [
337
+ '#!/usr/bin/env bash',
338
+ 'set -euo pipefail',
339
+ `export AGENTGUARD_HOME=${shellQuote(options.agentGuardHome)}`,
340
+ process.env.PATH ? `export PATH=${shellQuote(process.env.PATH)}` : '',
341
+ `exec ${threatFeedCommand(options.quiet)}`,
342
+ '',
343
+ ].filter(Boolean);
344
+ await (0, promises_1.writeFile)(scriptPath, lines.join('\n'), { mode: 0o700 });
345
+ await (0, promises_1.chmod)(scriptPath, 0o700).catch(() => undefined);
346
+ return scriptPath;
347
+ }
348
+ function validateCronFilesystemPath(value, label) {
349
+ if (!(0, node_path_1.isAbsolute)(value)) {
350
+ throw new Error(`${label} must be an absolute path for system cron installation.`);
351
+ }
352
+ if (/[\0\r\n'"]/.test(value)) {
353
+ throw new Error(`${label} must not contain quotes or newlines for system cron installation.`);
354
+ }
355
+ return value;
356
+ }
357
+ function sanitizeCronJobId(value) {
358
+ const normalized = value.trim().replace(/[^A-Za-z0-9._-]+/g, '-').replace(/^-+|-+$/g, '');
359
+ return normalized || 'agentguard-threat-feed';
360
+ }
361
+ function sanitizeHermesScriptName(value) {
362
+ const normalized = value.trim().replace(/[^A-Za-z0-9._-]+/g, '-').replace(/^-+|-+$/g, '');
363
+ return normalized ? `agentguard-${normalized}` : 'agentguard-threat-feed';
364
+ }
365
+ function shellQuote(value) {
366
+ return `'${value.replace(/'/g, `'\\''`)}'`;
367
+ }
368
+ function openClawCronMessage(quiet) {
369
+ const mode = quiet ? 'quiet' : 'manual';
370
+ const command = threatFeedCommand(quiet);
371
+ return [
372
+ `Mode: ${mode}.`,
373
+ `Command: \`${command}\`.`,
374
+ `Run exactly the command above.`,
375
+ '',
376
+ 'Rules:',
377
+ '- If the JSON field `hardFailures` is greater than 0, output a short error summary and do not send a notification.',
378
+ '- If the JSON field `shouldNotify` is true, send `notification.body` exactly as-is using the current session notification context.',
379
+ '- If `shouldNotify` is false, output "skipped" and finish without sending any message.',
380
+ '- If the command fails or the JSON cannot be parsed, output a short error summary and do not send a notification.',
381
+ '',
382
+ 'Follow these rules exactly.',
383
+ ].join('\n');
384
+ }
385
+ function removeAgentGuardCronBlock(value, name) {
386
+ const begin = `# AgentGuard begin ${name}`;
387
+ const end = `# AgentGuard end ${name}`;
388
+ const lines = value.split(/\r?\n/);
389
+ const kept = [];
390
+ let skipping = false;
391
+ for (const line of lines) {
392
+ if (line.trim() === begin) {
393
+ skipping = true;
394
+ continue;
395
+ }
396
+ if (line.trim() === end) {
397
+ skipping = false;
398
+ continue;
399
+ }
400
+ if (!skipping)
401
+ kept.push(line);
402
+ }
403
+ return kept.join('\n');
404
+ }
405
+ function execCommand(command, args, input) {
406
+ return new Promise((resolve, reject) => {
407
+ const child = (0, node_child_process_1.spawn)(command, args, { stdio: ['pipe', 'pipe', 'pipe'] });
408
+ let settled = false;
409
+ const finish = (fn) => {
410
+ if (settled)
411
+ return;
412
+ settled = true;
413
+ clearTimeout(timeout);
414
+ fn();
415
+ };
416
+ const timeout = setTimeout(() => {
417
+ child.kill('SIGTERM');
418
+ finish(() => reject(new Error(`${command} ${args.join(' ')} timed out after 10000ms`)));
419
+ }, 10000);
420
+ let stdout = '';
421
+ let stderr = '';
422
+ child.stdout.on('data', (chunk) => {
423
+ stdout += chunk.toString();
424
+ });
425
+ child.stderr.on('data', (chunk) => {
426
+ stderr += chunk.toString();
427
+ });
428
+ child.on('error', (err) => {
429
+ finish(() => reject(err));
430
+ });
431
+ child.on('close', (code) => {
432
+ if (code === 0) {
433
+ finish(() => resolve({ stdout, stderr }));
434
+ return;
435
+ }
436
+ finish(() => reject(new Error(`${command} ${args.join(' ')} failed with exit code ${code}: ${stderr || stdout}`.trim())));
437
+ });
438
+ if (input)
439
+ child.stdin.write(input);
440
+ child.stdin.end();
441
+ });
442
+ }
93
443
  async function removeOpenClawCronJobs(jobs, gateway) {
94
444
  for (const job of jobs) {
95
445
  if (!job.id)
@@ -122,6 +472,7 @@ function openClawGatewayRequest(method, params, options = {}) {
122
472
  });
123
473
  const host = options.host ?? '127.0.0.1';
124
474
  const port = options.port ?? 18789;
475
+ const label = options.label ?? 'OpenClaw Gateway';
125
476
  const timeoutMs = options.timeoutMs ?? 5000;
126
477
  return new Promise((resolve, reject) => {
127
478
  let settled = false;
@@ -150,7 +501,7 @@ function openClawGatewayRequest(method, params, options = {}) {
150
501
  let data = '';
151
502
  res.setEncoding('utf8');
152
503
  res.on('error', (err) => {
153
- fail(new Error(`OpenClaw Gateway ${method} response failed: ${err.message}`));
504
+ fail(new Error(`${label} ${method} response failed: ${err.message}`));
154
505
  });
155
506
  res.on('data', (chunk) => {
156
507
  data += chunk;
@@ -161,25 +512,25 @@ function openClawGatewayRequest(method, params, options = {}) {
161
512
  parsed = data ? JSON.parse(data) : null;
162
513
  }
163
514
  catch {
164
- fail(new Error(`OpenClaw Gateway returned non-JSON response: ${data}`));
515
+ fail(new Error(`${label} returned non-JSON response: ${data}`));
165
516
  return;
166
517
  }
167
518
  if (parsed?.error) {
168
- fail(new Error(`OpenClaw Gateway ${method} failed: ${parsed.error.message ?? JSON.stringify(parsed.error)}`));
519
+ fail(new Error(`${label} ${method} failed: ${parsed.error.message ?? JSON.stringify(parsed.error)}`));
169
520
  return;
170
521
  }
171
522
  if (res.statusCode && res.statusCode >= 400) {
172
- fail(new Error(`OpenClaw Gateway ${method} failed with HTTP ${res.statusCode}`));
523
+ fail(new Error(`${label} ${method} failed with HTTP ${res.statusCode}`));
173
524
  return;
174
525
  }
175
526
  succeed(parsed?.result ?? parsed);
176
527
  });
177
528
  });
178
529
  req.on('error', (err) => {
179
- fail(new Error(`Could not reach OpenClaw Gateway at ${host}:${port}: ${err.message}`));
530
+ fail(new Error(`Could not reach ${label} at ${host}:${port}: ${err.message}`));
180
531
  });
181
532
  req.setTimeout(timeoutMs, () => {
182
- const err = new Error(`OpenClaw Gateway ${method} request timed out after ${timeoutMs}ms`);
533
+ const err = new Error(`${label} ${method} request timed out after ${timeoutMs}ms`);
183
534
  fail(err);
184
535
  req.destroy(err);
185
536
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/feed/cron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/feed/cron.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type AgentInstaller = 'claude-code' | 'codex' | 'openclaw';
1
+ export type AgentInstaller = 'claude-code' | 'codex' | 'openclaw' | 'hermes' | 'qclaw';
2
2
  export interface InstallResult {
3
3
  agent: AgentInstaller;
4
4
  files: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"installers.d.ts","sourceRoot":"","sources":["../src/installers.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,CAM3H"}
1
+ {"version":3,"file":"installers.d.ts","sourceRoot":"","sources":["../src/installers.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,CAQ3H"}
@@ -12,6 +12,10 @@ function installAgentTemplates(agent, options = {}) {
12
12
  return installCodex(root, Boolean(options.force));
13
13
  if (agent === 'openclaw')
14
14
  return installOpenClaw(options.cwd, Boolean(options.force));
15
+ if (agent === 'hermes')
16
+ return installHermes(root, Boolean(options.force));
17
+ if (agent === 'qclaw')
18
+ return installQClaw(root, Boolean(options.force));
15
19
  throw new Error(`Unsupported agent installer: ${agent}`);
16
20
  }
17
21
  function installClaudeCode(root, force) {
@@ -49,12 +53,36 @@ function installOpenClaw(cwd, force) {
49
53
  enableOpenClawPlugin(configPath, pluginDir);
50
54
  return { agent: 'openclaw', files: [packagePath, pluginPath, manifestPath, configPath] };
51
55
  }
56
+ function installHermes(root, force) {
57
+ const skillDir = (0, node_path_1.join)(root, '.hermes', 'skills', 'agentguard');
58
+ const configExamplePath = (0, node_path_1.join)(root, '.hermes', 'agentguard-hooks.example.yaml');
59
+ copyBundledSkill(skillDir, force);
60
+ writeIfAllowed(configExamplePath, hermesHooksTemplate(skillDir), force);
61
+ return { agent: 'hermes', files: [skillDir, configExamplePath] };
62
+ }
63
+ function installQClaw(root, force) {
64
+ const skillDir = (0, node_path_1.join)(root, '.qclaw', 'skills', 'agentguard');
65
+ copyBundledSkill(skillDir, force);
66
+ return { agent: 'qclaw', files: [skillDir] };
67
+ }
52
68
  function writeIfAllowed(path, content, force) {
53
69
  if ((0, node_fs_1.existsSync)(path) && !force)
54
70
  return;
55
71
  (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
56
72
  (0, node_fs_1.writeFileSync)(path, content, { mode: path.endsWith('.sh') ? 0o755 : undefined });
57
73
  }
74
+ function copyBundledSkill(targetDir, force) {
75
+ if ((0, node_fs_1.existsSync)(targetDir) && !force)
76
+ return;
77
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(targetDir), { recursive: true });
78
+ const sourceDir = (0, node_path_1.resolve)(__dirname, '..', 'skills', 'agentguard');
79
+ if (!(0, node_fs_1.existsSync)(sourceDir)) {
80
+ (0, node_fs_1.mkdirSync)(targetDir, { recursive: true });
81
+ writeIfAllowed((0, node_path_1.join)(targetDir, 'SKILL.md'), codexSkillTemplate(), force);
82
+ return;
83
+ }
84
+ (0, node_fs_1.cpSync)(sourceDir, targetDir, { recursive: true, force });
85
+ }
58
86
  function claudeHookScript() {
59
87
  return `#!/bin/sh
60
88
  set -eu
@@ -136,6 +164,35 @@ function codexHookTemplate() {
136
164
  },
137
165
  };
138
166
  }
167
+ function hermesHooksTemplate(skillDir) {
168
+ return `# Copy this block into ~/.hermes/config.yaml.
169
+ hooks:
170
+ on_session_start:
171
+ - command: "env AGENTGUARD_AUTO_SCAN=1 node \\"${skillDir}/scripts/auto-scan.js\\""
172
+ timeout: 30
173
+
174
+ pre_tool_call:
175
+ - matcher: "terminal|execute_code"
176
+ command: "node \\"${skillDir}/scripts/hermes-hook.js\\""
177
+ timeout: 10
178
+ - matcher: "write_file|patch|skill_manage"
179
+ command: "node \\"${skillDir}/scripts/hermes-hook.js\\""
180
+ timeout: 10
181
+ - matcher: "read_file"
182
+ command: "node \\"${skillDir}/scripts/hermes-hook.js\\""
183
+ timeout: 10
184
+ - matcher: "web_search|web_extract|browser_navigate"
185
+ command: "node \\"${skillDir}/scripts/hermes-hook.js\\""
186
+ timeout: 10
187
+
188
+ post_tool_call:
189
+ - matcher: "terminal|execute_code|write_file|patch|skill_manage|read_file|web_search|web_extract|browser_navigate"
190
+ command: "node \\"${skillDir}/scripts/hermes-hook.js\\""
191
+ timeout: 5
192
+
193
+ hooks_auto_accept: false
194
+ `;
195
+ }
139
196
  function openClawPluginTemplate() {
140
197
  return `const { registerOpenClawPlugin } = require('@goplus/agentguard');
141
198
 
@@ -1 +1 @@
1
- {"version":3,"file":"installers.js","sourceRoot":"","sources":["../src/installers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installers.js","sourceRoot":"","sources":["../src/installers.ts"],"names":[],"mappings":"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"}