@aiassesstech/mighty-mark 0.3.27 → 0.3.29

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.
@@ -1,12 +1,20 @@
1
1
  /**
2
- * Alerting system health checks — 5 checks in the 'alerting' category.
2
+ * Alerting system health checks — 11 checks in the 'alerting' category.
3
3
  *
4
- * Verifies the fleet alerting sidecar is operational:
4
+ * Infrastructure (existing):
5
5
  * #44 alerting-sidecar-init Gateway logs show sidecar initialized
6
6
  * #45 alerting-audit-trail fleet-alerts.audit.jsonl exists and chain is valid
7
7
  * #46 alerting-jessie-briefing security-briefing.log exists (Jessie can read it)
8
8
  * #47 alerting-bus-importable @aiassesstech/fleet-alerting can be dynamically imported
9
9
  * #48 alerting-tool-registered mark_security_status appears in gateway tool list
10
+ *
11
+ * Security pipeline (v3.7 — Phase D):
12
+ * #49 behavioral-validation Prompt Shield / behavioral validation active per agent
13
+ * #50 alertbus-publish-smoke AlertBus can publish and event lands in audit trail
14
+ * #51 telegram-delivery-smoke sendMessage actually reaches Telegram (single attempt)
15
+ * #52 jessie-briefing-fresh Briefing file updated when recent HIGH+ alerts exist
16
+ * #53 per-agent-alertbus Each agent's AlertBus sidecar initialized
17
+ * #54 behavioral-event-summary Informational: behavioral_validator events in last 24h
10
18
  */
11
19
  import type { CheckResult } from '../types/health.js';
12
20
  import { type CheckContext } from './check-context.js';
@@ -49,6 +57,58 @@ export declare function checkAlertingBusImportable(ctx?: CheckContext): Promise<
49
57
  * appearing in Mighty Mark's registration line.
50
58
  */
51
59
  export declare function checkAlertingToolRegistered(ctx?: CheckContext): Promise<CheckResult>;
52
- /** Run all 5 alerting health checks. */
60
+ /**
61
+ * #49 — Behavioral validation active per agent.
62
+ *
63
+ * Scans gateway logs for each agent's prompt-shield initialization message.
64
+ * If validation fails to load (dependency issue, version mismatch), the agent
65
+ * runs unprotected — this is the single biggest security pipeline gap.
66
+ */
67
+ export declare function checkBehavioralValidationActive(ctx?: CheckContext): Promise<CheckResult>;
68
+ /**
69
+ * #50 — AlertBus publish smoke test.
70
+ *
71
+ * Publishes a LOW-severity synthetic event to the audit trail and verifies
72
+ * it appears. The event is tagged with `synthetic: true` so downstream
73
+ * consumers (security dashboard, Jessie briefing, event summary) filter it out.
74
+ *
75
+ * BB Amendment #1: Option A — synthetic events stay in the cryptographic chain
76
+ * but are excluded from operational counts.
77
+ */
78
+ export declare function checkAlertBusPublishSmoke(ctx?: CheckContext): Promise<CheckResult>;
79
+ /**
80
+ * #51 — Telegram alert delivery smoke test.
81
+ *
82
+ * Sends a single test message via sendMessage to verify delivery permissions.
83
+ *
84
+ * BB Amendment #2: Single-attempt policy — no retries. Check #25 (getMe)
85
+ * covers connectivity; this check tests sendMessage permissions specifically.
86
+ */
87
+ export declare function checkTelegramDeliverySmoke(ctx?: CheckContext): Promise<CheckResult>;
88
+ /**
89
+ * #52 — Jessie security briefing freshness.
90
+ *
91
+ * If CRITICAL/HIGH alerts were published in the last 24h, the Jessie
92
+ * briefing file should have been updated. A stale briefing means
93
+ * JessieRouter is broken and Jessie won't know about security events.
94
+ */
95
+ export declare function checkJessieBriefingFreshness(ctx?: CheckContext): Promise<CheckResult>;
96
+ /**
97
+ * #53 — Per-agent AlertBus registration.
98
+ *
99
+ * Verifies each agent's plugin logged AlertBus sidecar initialization,
100
+ * not just Mighty Mark's. If an agent's AlertBus fails to init,
101
+ * that agent's violations go unrecorded.
102
+ */
103
+ export declare function checkPerAgentAlertBus(ctx?: CheckContext): Promise<CheckResult>;
104
+ /**
105
+ * #54 — Behavioral event audit summary (informational).
106
+ *
107
+ * Counts behavioral_validator events in the last 24h by type and agent.
108
+ * Warns if > 10 tool_validation_blocked events (potential schema misconfiguration).
109
+ * Excludes synthetic events per BB Amendment #1 filtering contract.
110
+ */
111
+ export declare function checkBehavioralEventSummary(ctx?: CheckContext): Promise<CheckResult>;
112
+ /** Run all 11 alerting health checks. */
53
113
  export declare function runAlertingChecks(ctx?: CheckContext): Promise<CheckResult[]>;
54
114
  //# sourceMappingURL=alerting-health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alerting-health.d.ts","sourceRoot":"","sources":["../../src/checks/alerting-health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvF;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDvF;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmEtF;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAqC1F;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAwCzF;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsC1F;AAED,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAQlF"}
1
+ {"version":3,"file":"alerting-health.d.ts","sourceRoot":"","sources":["../../src/checks/alerting-health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAA4C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQjG;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDvF;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmEtF;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAqC1F;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAwCzF;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsC1F;AAQD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA8D9F;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAoExF;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA2DzF;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAkF3F;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDpF;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA4E1F;AAED,yCAAyC;AACzC,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgBlF"}
@@ -1,16 +1,24 @@
1
1
  /**
2
- * Alerting system health checks — 5 checks in the 'alerting' category.
2
+ * Alerting system health checks — 11 checks in the 'alerting' category.
3
3
  *
4
- * Verifies the fleet alerting sidecar is operational:
4
+ * Infrastructure (existing):
5
5
  * #44 alerting-sidecar-init Gateway logs show sidecar initialized
6
6
  * #45 alerting-audit-trail fleet-alerts.audit.jsonl exists and chain is valid
7
7
  * #46 alerting-jessie-briefing security-briefing.log exists (Jessie can read it)
8
8
  * #47 alerting-bus-importable @aiassesstech/fleet-alerting can be dynamically imported
9
9
  * #48 alerting-tool-registered mark_security_status appears in gateway tool list
10
+ *
11
+ * Security pipeline (v3.7 — Phase D):
12
+ * #49 behavioral-validation Prompt Shield / behavioral validation active per agent
13
+ * #50 alertbus-publish-smoke AlertBus can publish and event lands in audit trail
14
+ * #51 telegram-delivery-smoke sendMessage actually reaches Telegram (single attempt)
15
+ * #52 jessie-briefing-fresh Briefing file updated when recent HIGH+ alerts exist
16
+ * #53 per-agent-alertbus Each agent's AlertBus sidecar initialized
17
+ * #54 behavioral-event-summary Informational: behavioral_validator events in last 24h
10
18
  */
11
19
  import fs from 'node:fs';
12
20
  import path from 'node:path';
13
- import { exec, now, resolveOpenClawHome } from './check-context.js';
21
+ import { exec, fetchUrl, now, resolveOpenClawHome } from './check-context.js';
14
22
  function getAlertDataDir(ctx) {
15
23
  return ctx?.alertDataDir ?? path.join(resolveOpenClawHome(), '.fleet-data', 'alerts');
16
24
  }
@@ -261,14 +269,436 @@ export async function checkAlertingToolRegistered(ctx) {
261
269
  };
262
270
  }
263
271
  }
264
- /** Run all 5 alerting health checks. */
272
+ // ══════════════════════════════════════════════════════════════
273
+ // Phase D — Security pipeline checks (v3.7)
274
+ // ══════════════════════════════════════════════════════════════
275
+ const FLEET_AGENTS = ['jessie', 'nole', 'grillo', 'noah', 'sam', 'mighty-mark'];
276
+ /**
277
+ * #49 — Behavioral validation active per agent.
278
+ *
279
+ * Scans gateway logs for each agent's prompt-shield initialization message.
280
+ * If validation fails to load (dependency issue, version mismatch), the agent
281
+ * runs unprotected — this is the single biggest security pipeline gap.
282
+ */
283
+ export async function checkBehavioralValidationActive(ctx) {
284
+ const start = Date.now();
285
+ try {
286
+ const logs = exec('journalctl -u openclaw-gateway --no-pager --since "24 hours ago" 2>/dev/null || echo ""', ctx);
287
+ const active = [];
288
+ const unavailable = [];
289
+ for (const agent of FLEET_AGENTS) {
290
+ const tag = `[${agent}]`;
291
+ if (logs.includes(`${tag} Prompt Shield`) || logs.includes(`${tag} Behavioral validation active`) || logs.includes(`${tag} validated tools`)) {
292
+ active.push(agent);
293
+ }
294
+ else if (logs.includes(`${tag} Prompt shield unavailable`)) {
295
+ unavailable.push(agent);
296
+ }
297
+ }
298
+ if (unavailable.length > 0) {
299
+ return {
300
+ name: 'Behavioral validation active',
301
+ category: 'alerting',
302
+ status: 'warn',
303
+ message: `Validation unavailable for: ${unavailable.join(', ')}. Active: ${active.length}/${FLEET_AGENTS.length}`,
304
+ timestamp: now(),
305
+ durationMs: Date.now() - start,
306
+ };
307
+ }
308
+ if (active.length === FLEET_AGENTS.length) {
309
+ return {
310
+ name: 'Behavioral validation active',
311
+ category: 'alerting',
312
+ status: 'pass',
313
+ message: `All ${FLEET_AGENTS.length} agents have behavioral validation active`,
314
+ timestamp: now(),
315
+ durationMs: Date.now() - start,
316
+ };
317
+ }
318
+ const missing = FLEET_AGENTS.filter(a => !active.includes(a));
319
+ return {
320
+ name: 'Behavioral validation active',
321
+ category: 'alerting',
322
+ status: active.length > 0 ? 'warn' : 'warn',
323
+ message: `${active.length}/${FLEET_AGENTS.length} agents active. No init message for: ${missing.join(', ')}`,
324
+ timestamp: now(),
325
+ durationMs: Date.now() - start,
326
+ };
327
+ }
328
+ catch {
329
+ return {
330
+ name: 'Behavioral validation active',
331
+ category: 'alerting',
332
+ status: 'warn',
333
+ message: 'Could not read gateway logs to verify behavioral validation',
334
+ timestamp: now(),
335
+ durationMs: Date.now() - start,
336
+ };
337
+ }
338
+ }
339
+ /**
340
+ * #50 — AlertBus publish smoke test.
341
+ *
342
+ * Publishes a LOW-severity synthetic event to the audit trail and verifies
343
+ * it appears. The event is tagged with `synthetic: true` so downstream
344
+ * consumers (security dashboard, Jessie briefing, event summary) filter it out.
345
+ *
346
+ * BB Amendment #1: Option A — synthetic events stay in the cryptographic chain
347
+ * but are excluded from operational counts.
348
+ */
349
+ export async function checkAlertBusPublishSmoke(ctx) {
350
+ const start = Date.now();
351
+ try {
352
+ const mod = '@aiassesstech/fleet-alerting';
353
+ const { AlertBus, AuditTrailRouter } = await import(mod);
354
+ const alertDataDir = getAlertDataDir(ctx);
355
+ const auditDir = path.join(alertDataDir, 'audit');
356
+ fs.mkdirSync(auditDir, { recursive: true });
357
+ const bus = new AlertBus();
358
+ bus.registerRouter('audit', new AuditTrailRouter({ auditDir }));
359
+ const smokeId = `smoke-${Date.now()}`;
360
+ await bus.publish('health_check_smoke', 'LOW', 'health_monitor', 'mighty-mark', { synthetic: true, smokeId, timestamp: Date.now() });
361
+ await bus.shutdown?.();
362
+ const auditPath = path.join(auditDir, 'fleet-alerts.audit.jsonl');
363
+ if (!fs.existsSync(auditPath)) {
364
+ return {
365
+ name: 'AlertBus publish smoke',
366
+ category: 'alerting',
367
+ status: 'fail',
368
+ message: 'Publish completed but audit file not found',
369
+ timestamp: now(),
370
+ durationMs: Date.now() - start,
371
+ };
372
+ }
373
+ const content = fs.readFileSync(auditPath, 'utf-8');
374
+ if (content.includes(smokeId)) {
375
+ return {
376
+ name: 'AlertBus publish smoke',
377
+ category: 'alerting',
378
+ status: 'pass',
379
+ message: 'Publish → audit trail verified (synthetic: true, filtered from dashboards)',
380
+ timestamp: now(),
381
+ durationMs: Date.now() - start,
382
+ };
383
+ }
384
+ return {
385
+ name: 'AlertBus publish smoke',
386
+ category: 'alerting',
387
+ status: 'fail',
388
+ message: 'Publish completed but smoke event not found in audit trail',
389
+ timestamp: now(),
390
+ durationMs: Date.now() - start,
391
+ };
392
+ }
393
+ catch (err) {
394
+ const msg = err instanceof Error ? err.message : 'unknown';
395
+ const isImportFailure = msg.includes('Cannot find') || msg.includes('MODULE_NOT_FOUND') || msg.includes('ERR_MODULE_NOT_FOUND');
396
+ return {
397
+ name: 'AlertBus publish smoke',
398
+ category: 'alerting',
399
+ status: isImportFailure ? 'warn' : 'fail',
400
+ message: isImportFailure
401
+ ? 'fleet-alerting not installed — smoke test skipped'
402
+ : `Publish failed: ${msg}`,
403
+ timestamp: now(),
404
+ durationMs: Date.now() - start,
405
+ };
406
+ }
407
+ }
408
+ /**
409
+ * #51 — Telegram alert delivery smoke test.
410
+ *
411
+ * Sends a single test message via sendMessage to verify delivery permissions.
412
+ *
413
+ * BB Amendment #2: Single-attempt policy — no retries. Check #25 (getMe)
414
+ * covers connectivity; this check tests sendMessage permissions specifically.
415
+ */
416
+ export async function checkTelegramDeliverySmoke(ctx) {
417
+ const start = Date.now();
418
+ const token = ctx?.telegramToken ?? process.env.MIGHTY_MARK_TELEGRAM_TOKEN;
419
+ const chatId = ctx?.telegramChatId ?? process.env.MIGHTY_MARK_TELEGRAM_CHAT_ID;
420
+ if (!token || !chatId) {
421
+ return {
422
+ name: 'Telegram delivery smoke',
423
+ category: 'alerting',
424
+ status: 'warn',
425
+ message: 'No Telegram token/chatId configured — alert delivery degraded',
426
+ timestamp: now(),
427
+ durationMs: Date.now() - start,
428
+ };
429
+ }
430
+ try {
431
+ const url = `https://api.telegram.org/bot${token}/sendMessage`;
432
+ const body = JSON.stringify({
433
+ chat_id: chatId,
434
+ text: '🔵 [SMOKE TEST] Mighty Mark morning check — AlertBus operational',
435
+ parse_mode: 'Markdown',
436
+ });
437
+ const res = await fetchUrl(url, {
438
+ method: 'POST',
439
+ headers: { 'Content-Type': 'application/json' },
440
+ body,
441
+ }, ctx);
442
+ if (res.ok) {
443
+ return {
444
+ name: 'Telegram delivery smoke',
445
+ category: 'alerting',
446
+ status: 'pass',
447
+ message: 'sendMessage delivered — alert pipeline to Telegram confirmed',
448
+ timestamp: now(),
449
+ durationMs: Date.now() - start,
450
+ };
451
+ }
452
+ return {
453
+ name: 'Telegram delivery smoke',
454
+ category: 'alerting',
455
+ status: 'fail',
456
+ message: `sendMessage failed: HTTP ${res.status}`,
457
+ timestamp: now(),
458
+ durationMs: Date.now() - start,
459
+ };
460
+ }
461
+ catch (err) {
462
+ return {
463
+ name: 'Telegram delivery smoke',
464
+ category: 'alerting',
465
+ status: 'fail',
466
+ message: `sendMessage failed: ${err instanceof Error ? err.message : 'network error'}`,
467
+ timestamp: now(),
468
+ durationMs: Date.now() - start,
469
+ };
470
+ }
471
+ }
472
+ /**
473
+ * #52 — Jessie security briefing freshness.
474
+ *
475
+ * If CRITICAL/HIGH alerts were published in the last 24h, the Jessie
476
+ * briefing file should have been updated. A stale briefing means
477
+ * JessieRouter is broken and Jessie won't know about security events.
478
+ */
479
+ export async function checkJessieBriefingFreshness(ctx) {
480
+ const start = Date.now();
481
+ const alertDataDir = getAlertDataDir(ctx);
482
+ const briefingPath = path.join(alertDataDir, 'security-briefing.log');
483
+ const auditPath = path.join(alertDataDir, 'audit', 'fleet-alerts.audit.jsonl');
484
+ const twentyFourHoursAgo = Date.now() - 24 * 60 * 60 * 1000;
485
+ let recentHighAlerts = 0;
486
+ try {
487
+ if (fs.existsSync(auditPath)) {
488
+ const content = fs.readFileSync(auditPath, 'utf-8').trim();
489
+ if (content) {
490
+ const events = content.split('\n').map(line => JSON.parse(line));
491
+ recentHighAlerts = events.filter(e => {
492
+ const isSynthetic = e.data?.synthetic === true;
493
+ const isHighPlus = e.severity === 'CRITICAL' || e.severity === 'HIGH';
494
+ const isRecent = new Date(e.timestamp).getTime() > twentyFourHoursAgo;
495
+ return !isSynthetic && isHighPlus && isRecent;
496
+ }).length;
497
+ }
498
+ }
499
+ }
500
+ catch {
501
+ // If audit is unreadable, skip freshness comparison
502
+ }
503
+ if (recentHighAlerts === 0) {
504
+ return {
505
+ name: 'Jessie briefing freshness',
506
+ category: 'alerting',
507
+ status: 'pass',
508
+ message: 'No CRITICAL/HIGH alerts in last 24h — briefing freshness not applicable',
509
+ timestamp: now(),
510
+ durationMs: Date.now() - start,
511
+ };
512
+ }
513
+ if (!fs.existsSync(briefingPath)) {
514
+ return {
515
+ name: 'Jessie briefing freshness',
516
+ category: 'alerting',
517
+ status: 'warn',
518
+ message: `${recentHighAlerts} CRITICAL/HIGH alert(s) in last 24h but briefing file missing — JessieRouter may be broken`,
519
+ timestamp: now(),
520
+ durationMs: Date.now() - start,
521
+ };
522
+ }
523
+ try {
524
+ const stat = fs.statSync(briefingPath);
525
+ const briefingAge = Date.now() - stat.mtimeMs;
526
+ const isRecent = briefingAge < 24 * 60 * 60 * 1000;
527
+ if (isRecent) {
528
+ return {
529
+ name: 'Jessie briefing freshness',
530
+ category: 'alerting',
531
+ status: 'pass',
532
+ message: `Briefing updated within 24h — ${recentHighAlerts} CRITICAL/HIGH alert(s) routed to Jessie`,
533
+ timestamp: now(),
534
+ durationMs: Date.now() - start,
535
+ };
536
+ }
537
+ return {
538
+ name: 'Jessie briefing freshness',
539
+ category: 'alerting',
540
+ status: 'warn',
541
+ message: `${recentHighAlerts} CRITICAL/HIGH alert(s) in last 24h but briefing file is stale — JessieRouter may be broken`,
542
+ timestamp: now(),
543
+ durationMs: Date.now() - start,
544
+ };
545
+ }
546
+ catch {
547
+ return {
548
+ name: 'Jessie briefing freshness',
549
+ category: 'alerting',
550
+ status: 'warn',
551
+ message: 'Cannot stat briefing file',
552
+ timestamp: now(),
553
+ durationMs: Date.now() - start,
554
+ };
555
+ }
556
+ }
557
+ /**
558
+ * #53 — Per-agent AlertBus registration.
559
+ *
560
+ * Verifies each agent's plugin logged AlertBus sidecar initialization,
561
+ * not just Mighty Mark's. If an agent's AlertBus fails to init,
562
+ * that agent's violations go unrecorded.
563
+ */
564
+ export async function checkPerAgentAlertBus(ctx) {
565
+ const start = Date.now();
566
+ try {
567
+ const logs = exec('journalctl -u openclaw-gateway --no-pager --since "24 hours ago" 2>/dev/null || echo ""', ctx);
568
+ const wired = [];
569
+ const missing = [];
570
+ for (const agent of FLEET_AGENTS) {
571
+ if (logs.includes(`[${agent}] Fleet alerting sidecar initialized`)) {
572
+ wired.push(agent);
573
+ }
574
+ else {
575
+ missing.push(agent);
576
+ }
577
+ }
578
+ if (wired.length === FLEET_AGENTS.length) {
579
+ return {
580
+ name: 'Per-agent AlertBus',
581
+ category: 'alerting',
582
+ status: 'pass',
583
+ message: `All ${FLEET_AGENTS.length} agents have AlertBus wired`,
584
+ timestamp: now(),
585
+ durationMs: Date.now() - start,
586
+ };
587
+ }
588
+ return {
589
+ name: 'Per-agent AlertBus',
590
+ category: 'alerting',
591
+ status: 'warn',
592
+ message: `${wired.length}/${FLEET_AGENTS.length} agents wired. Missing: ${missing.join(', ')}`,
593
+ timestamp: now(),
594
+ durationMs: Date.now() - start,
595
+ };
596
+ }
597
+ catch {
598
+ return {
599
+ name: 'Per-agent AlertBus',
600
+ category: 'alerting',
601
+ status: 'warn',
602
+ message: 'Could not read gateway logs',
603
+ timestamp: now(),
604
+ durationMs: Date.now() - start,
605
+ };
606
+ }
607
+ }
608
+ /**
609
+ * #54 — Behavioral event audit summary (informational).
610
+ *
611
+ * Counts behavioral_validator events in the last 24h by type and agent.
612
+ * Warns if > 10 tool_validation_blocked events (potential schema misconfiguration).
613
+ * Excludes synthetic events per BB Amendment #1 filtering contract.
614
+ */
615
+ export async function checkBehavioralEventSummary(ctx) {
616
+ const start = Date.now();
617
+ const auditPath = path.join(getAlertDataDir(ctx), 'audit', 'fleet-alerts.audit.jsonl');
618
+ if (!fs.existsSync(auditPath)) {
619
+ return {
620
+ name: 'Behavioral event summary',
621
+ category: 'alerting',
622
+ status: 'pass',
623
+ message: 'No audit trail yet — no behavioral events to report',
624
+ timestamp: now(),
625
+ durationMs: Date.now() - start,
626
+ };
627
+ }
628
+ try {
629
+ const twentyFourHoursAgo = Date.now() - 24 * 60 * 60 * 1000;
630
+ const content = fs.readFileSync(auditPath, 'utf-8').trim();
631
+ if (!content) {
632
+ return {
633
+ name: 'Behavioral event summary',
634
+ category: 'alerting',
635
+ status: 'pass',
636
+ message: 'Audit trail empty — no behavioral events',
637
+ timestamp: now(),
638
+ durationMs: Date.now() - start,
639
+ };
640
+ }
641
+ const events = content.split('\n').map(line => JSON.parse(line));
642
+ const recentBehavioral = events.filter(e => {
643
+ const isBehavioral = e.source === 'behavioral_validator';
644
+ const isRecent = new Date(e.timestamp).getTime() > twentyFourHoursAgo;
645
+ const isSynthetic = e.data?.synthetic === true;
646
+ return isBehavioral && isRecent && !isSynthetic;
647
+ });
648
+ if (recentBehavioral.length === 0) {
649
+ return {
650
+ name: 'Behavioral event summary',
651
+ category: 'alerting',
652
+ status: 'pass',
653
+ message: 'No behavioral validation events in last 24h — fleet running clean',
654
+ timestamp: now(),
655
+ durationMs: Date.now() - start,
656
+ };
657
+ }
658
+ const byType = {};
659
+ for (const e of recentBehavioral) {
660
+ byType[e.eventType] = (byType[e.eventType] ?? 0) + 1;
661
+ }
662
+ const summary = Object.entries(byType).map(([k, v]) => `${k}:${v}`).join(', ');
663
+ const blockedCount = byType['tool_validation_blocked'] ?? 0;
664
+ return {
665
+ name: 'Behavioral event summary',
666
+ category: 'alerting',
667
+ status: blockedCount > 10 ? 'warn' : 'pass',
668
+ message: blockedCount > 10
669
+ ? `${recentBehavioral.length} behavioral events in 24h (${summary}) — high block count may indicate schema misconfiguration`
670
+ : `${recentBehavioral.length} behavioral events in 24h (${summary})`,
671
+ timestamp: now(),
672
+ durationMs: Date.now() - start,
673
+ };
674
+ }
675
+ catch (err) {
676
+ return {
677
+ name: 'Behavioral event summary',
678
+ category: 'alerting',
679
+ status: 'warn',
680
+ message: `Could not read audit trail: ${err instanceof Error ? err.message : 'unknown'}`,
681
+ timestamp: now(),
682
+ durationMs: Date.now() - start,
683
+ };
684
+ }
685
+ }
686
+ /** Run all 11 alerting health checks. */
265
687
  export async function runAlertingChecks(ctx) {
266
688
  return [
689
+ // Infrastructure (existing)
267
690
  await checkAlertingSidecarInit(ctx),
268
691
  await checkAlertingAuditTrail(ctx),
269
692
  await checkAlertingJessieBriefing(ctx),
270
693
  await checkAlertingBusImportable(ctx),
271
694
  await checkAlertingToolRegistered(ctx),
695
+ // Security pipeline (Phase D)
696
+ await checkBehavioralValidationActive(ctx),
697
+ await checkAlertBusPublishSmoke(ctx),
698
+ await checkTelegramDeliverySmoke(ctx),
699
+ await checkJessieBriefingFreshness(ctx),
700
+ await checkPerAgentAlertBus(ctx),
701
+ await checkBehavioralEventSummary(ctx),
272
702
  ];
273
703
  }
274
704
  //# sourceMappingURL=alerting-health.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alerting-health.js","sourceRoot":"","sources":["../../src/checks/alerting-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alerting-health.js","sourceRoot":"","sources":["../../src/checks/alerting-health.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export declare function checkNoahStore(topology?: FleetTopology, ctx?: CheckCont
12
12
  export declare function checkNoleState(topology?: FleetTopology, ctx?: CheckContext): Promise<CheckResult>;
13
13
  /** Check #26: Mark self-check — store writable + Telegram reachable. */
14
14
  export declare function checkMarkSelf(dataDir: string, telegramToken?: string, ctx?: CheckContext): Promise<CheckResult[]>;
15
+ /** Check #27: Docs backup freshness — validates today's (or yesterday's) backup manifest from GitHub. */
16
+ export declare function checkDocsBackupFreshness(ctx?: CheckContext): Promise<CheckResult>;
15
17
  /** Run all data integrity checks. */
16
18
  export declare function runDataChecks(dataDir: string, telegramToken?: string, topology?: FleetTopology, ctx?: CheckContext): Promise<CheckResult[]>;
17
19
  //# sourceMappingURL=data-integrity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-integrity.d.ts","sourceRoot":"","sources":["../../src/checks/data-integrity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAoD,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAwCzG,8EAA8E;AAC9E,wBAAsB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiCzG;AAED,2DAA2D;AAC3D,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBvG;AAED,yCAAyC;AACzC,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBvG;AAED,wEAAwE;AACxE,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAqCxB;AAED,qCAAqC;AACrC,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,aAAa,EACxB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAOxB"}
1
+ {"version":3,"file":"data-integrity.d.ts","sourceRoot":"","sources":["../../src/checks/data-integrity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAoD,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAwCzG,8EAA8E;AAC9E,wBAAsB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiCzG;AAED,2DAA2D;AAC3D,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBvG;AAED,yCAAyC;AACzC,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBvG;AAED,wEAAwE;AACxE,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAqCxB;AAED,yGAAyG;AACzG,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFvF;AAED,qCAAqC;AACrC,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,aAAa,EACxB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAQxB"}
@@ -135,6 +135,78 @@ export async function checkMarkSelf(dataDir, telegramToken, ctx) {
135
135
  }
136
136
  return results;
137
137
  }
138
+ /** Check #27: Docs backup freshness — validates today's (or yesterday's) backup manifest from GitHub. */
139
+ export async function checkDocsBackupFreshness(ctx) {
140
+ const start = Date.now();
141
+ const today = new Date().toISOString().slice(0, 10);
142
+ try {
143
+ const manifestUrl = `https://raw.githubusercontent.com/spar65/compsi/docs-backup/${today}/manifest.json`;
144
+ const res = await fetchUrl(manifestUrl, { signal: AbortSignal.timeout(10_000) }, ctx);
145
+ if (!res.ok) {
146
+ const yesterday = new Date(Date.now() - 86_400_000).toISOString().slice(0, 10);
147
+ const yesterdayUrl = `https://raw.githubusercontent.com/spar65/compsi/docs-backup/${yesterday}/manifest.json`;
148
+ const yRes = await fetchUrl(yesterdayUrl, { signal: AbortSignal.timeout(10_000) }, ctx);
149
+ if (!yRes.ok) {
150
+ return {
151
+ name: 'Docs backup freshness',
152
+ category: 'data',
153
+ status: 'warn',
154
+ message: `No backup found for ${today} or ${yesterday}`,
155
+ timestamp: now(),
156
+ durationMs: Date.now() - start,
157
+ };
158
+ }
159
+ const yManifest = await yRes.json();
160
+ return {
161
+ name: 'Docs backup freshness',
162
+ category: 'data',
163
+ status: 'pass',
164
+ message: `Backup current (yesterday): ${yManifest.pages} pages, ${yManifest.agent_docs} agent docs, checksum present: ${!!yManifest.checksum}`,
165
+ timestamp: now(),
166
+ durationMs: Date.now() - start,
167
+ };
168
+ }
169
+ const manifest = await res.json();
170
+ if (manifest.pages < 20) {
171
+ return {
172
+ name: 'Docs backup freshness',
173
+ category: 'data',
174
+ status: 'warn',
175
+ message: `Only ${manifest.pages} pages backed up (expected 20+). Possible incomplete backup.`,
176
+ timestamp: now(),
177
+ durationMs: Date.now() - start,
178
+ };
179
+ }
180
+ if (manifest.date !== today) {
181
+ return {
182
+ name: 'Docs backup freshness',
183
+ category: 'data',
184
+ status: 'warn',
185
+ message: `Manifest date ${manifest.date} does not match today ${today}`,
186
+ timestamp: now(),
187
+ durationMs: Date.now() - start,
188
+ };
189
+ }
190
+ return {
191
+ name: 'Docs backup freshness',
192
+ category: 'data',
193
+ status: 'pass',
194
+ message: `Backup current: ${manifest.pages} pages, ${manifest.agent_docs} agent docs, checksum: ${manifest.checksum?.slice(0, 20)}...`,
195
+ timestamp: now(),
196
+ durationMs: Date.now() - start,
197
+ };
198
+ }
199
+ catch (err) {
200
+ return {
201
+ name: 'Docs backup freshness',
202
+ category: 'data',
203
+ status: 'warn',
204
+ message: `Could not verify backup: ${err instanceof Error ? err.message : 'unknown'}`,
205
+ timestamp: now(),
206
+ durationMs: Date.now() - start,
207
+ };
208
+ }
209
+ }
138
210
  /** Run all data integrity checks. */
139
211
  export async function runDataChecks(dataDir, telegramToken, topology, ctx) {
140
212
  const results = [];
@@ -142,6 +214,7 @@ export async function runDataChecks(dataDir, telegramToken, topology, ctx) {
142
214
  results.push(await checkNoahStore(topology, ctx));
143
215
  results.push(await checkNoleState(topology, ctx));
144
216
  results.push(...await checkMarkSelf(dataDir, telegramToken, ctx));
217
+ results.push(await checkDocsBackupFreshness(ctx));
145
218
  return results;
146
219
  }
147
220
  /** Recursively find JSON files in a directory. */
@@ -1 +1 @@
1
- {"version":3,"file":"data-integrity.js","sourceRoot":"","sources":["../../src/checks/data-integrity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-integrity.js","sourceRoot":"","sources":["../../src/checks/data-integrity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6CH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QAksBxC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6CH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QAw1BxC"}
package/dist/plugin.js CHANGED
@@ -118,23 +118,71 @@ export default function register(api) {
118
118
  .catch(() => {
119
119
  console.warn('[mighty-mark] Fleet alerting unavailable — security sidecar disabled');
120
120
  });
121
- // Behavioral schema registration is optional and best-effort.
121
+ let validatedToolFactory = null;
122
+ let markValidationSchemas = {};
123
+ let markValidationBusinessRules = {};
124
+ const MARK_ENFORCE_TOOLS = new Set(['mark_security_status', 'mark_memory_configure']);
125
+ function validationErrorResponse(message) {
126
+ return {
127
+ content: [{ type: 'text', text: message }],
128
+ isError: true,
129
+ };
130
+ }
131
+ async function validateToolParams(toolName, toolCallId, params, businessRules) {
132
+ if (!validatedToolFactory)
133
+ return { ok: true, params };
134
+ const schema = markValidationSchemas[toolName];
135
+ if (!schema)
136
+ return { ok: true, params };
137
+ const mode = MARK_ENFORCE_TOOLS.has(toolName) ? 'enforce' : 'monitor';
138
+ const passthrough = async (p) => p;
139
+ const wrapped = validatedToolFactory(passthrough, schema, toolName, 'mighty-mark', { mode, alertPublisher: alertBus ?? undefined, criticalTools: MARK_ENFORCE_TOOLS }, businessRules);
140
+ const result = await wrapped(params, { sessionId: toolCallId, trustLevel: 2 });
141
+ if (typeof result === 'string')
142
+ return { ok: false, message: result };
143
+ return { ok: true, params: result };
144
+ }
122
145
  const promptShieldMod = '@aiassesstech/prompt-shield';
123
146
  import(promptShieldMod)
124
- .then(({ registerToolSchema, mark_security_status, isRegistryFrozen }) => {
125
- if (typeof registerToolSchema !== 'function' || !mark_security_status)
126
- return;
127
- if (typeof isRegistryFrozen === 'function' && isRegistryFrozen())
128
- return;
129
- registerToolSchema('mighty-mark', 'mark_security_status', mark_security_status);
147
+ .then(({ createValidatedToolHandler, registerToolSchema, mark_security_status: markSecuritySchema, mark_memory_configure: markMemoryConfigureSchema, MARK_MEMORY_CONFIGURE_BUSINESS_RULES, mark_status: markStatusSchema, mark_health: markHealthSchema, mark_check: markCheckSchema, mark_incidents: markIncidentsSchema, mark_report: markReportSchema, mark_uptime: markUptimeSchema, mark_memory_status: markMemoryStatusSchema, mark_memory_diagnose: markMemoryDiagnoseSchema, mark_memory_backfill: markMemoryBackfillSchema, fleet_health_alert: fleetHealthAlertSchema, fleet_comms_health: fleetCommsHealthSchema, isRegistryFrozen, }) => {
148
+ validatedToolFactory = createValidatedToolHandler;
149
+ markValidationSchemas = {
150
+ mark_security_status: markSecuritySchema,
151
+ mark_memory_configure: markMemoryConfigureSchema,
152
+ mark_status: markStatusSchema,
153
+ mark_health: markHealthSchema,
154
+ mark_check: markCheckSchema,
155
+ mark_incidents: markIncidentsSchema,
156
+ mark_report: markReportSchema,
157
+ mark_uptime: markUptimeSchema,
158
+ mark_memory_status: markMemoryStatusSchema,
159
+ mark_memory_diagnose: markMemoryDiagnoseSchema,
160
+ mark_memory_backfill: markMemoryBackfillSchema,
161
+ fleet_health_alert: fleetHealthAlertSchema,
162
+ fleet_comms_health: fleetCommsHealthSchema,
163
+ };
164
+ markValidationBusinessRules = {
165
+ mark_memory_configure: MARK_MEMORY_CONFIGURE_BUSINESS_RULES,
166
+ };
167
+ if (typeof registerToolSchema === 'function' && markSecuritySchema) {
168
+ if (typeof isRegistryFrozen !== 'function' || !isRegistryFrozen()) {
169
+ registerToolSchema('mighty-mark', 'mark_security_status', markSecuritySchema);
170
+ }
171
+ }
172
+ console.log('[mighty-mark] Behavioral validation active: 13 tools incl fleet (security_status/memory_configure enforce, rest monitor)');
130
173
  })
131
- .catch(() => undefined);
174
+ .catch(() => {
175
+ console.warn('[mighty-mark] Prompt shield unavailable — behavioral validation disabled');
176
+ });
132
177
  // ── TOOL 1: mark_status ───────────────────────────────────────
133
178
  api.registerTool({
134
179
  name: 'mark_status',
135
180
  description: 'Get current system health status — quick summary of last check and any active incidents',
136
181
  parameters: { type: 'object', properties: {} },
137
- async execute(_toolCallId, _params) {
182
+ async execute(_toolCallId, params) {
183
+ const sv = await validateToolParams('mark_status', _toolCallId, params);
184
+ if (!sv.ok)
185
+ return validationErrorResponse(sv.message);
138
186
  try {
139
187
  const status = await mark.getStatus();
140
188
  return {
@@ -154,7 +202,10 @@ export default function register(api) {
154
202
  name: 'mark_health',
155
203
  description: 'Run a full health check NOW — same as morning check but on-demand. Returns all check results across 7 categories.',
156
204
  parameters: { type: 'object', properties: {} },
157
- async execute(_toolCallId, _params) {
205
+ async execute(_toolCallId, params) {
206
+ const hv = await validateToolParams('mark_health', _toolCallId, params);
207
+ if (!hv.ok)
208
+ return validationErrorResponse(hv.message);
158
209
  try {
159
210
  const report = await mark.runHealthCheck();
160
211
  publishHealthAlert(report);
@@ -186,6 +237,10 @@ export default function register(api) {
186
237
  required: ['category'],
187
238
  },
188
239
  async execute(_toolCallId, params) {
240
+ const cv = await validateToolParams('mark_check', _toolCallId, params);
241
+ if (!cv.ok)
242
+ return validationErrorResponse(cv.message);
243
+ params = cv.params;
189
244
  try {
190
245
  const category = params.category;
191
246
  const results = await mark.runCategory(category);
@@ -216,6 +271,10 @@ export default function register(api) {
216
271
  required: [],
217
272
  },
218
273
  async execute(_toolCallId, params) {
274
+ const iv = await validateToolParams('mark_incidents', _toolCallId, params);
275
+ if (!iv.ok)
276
+ return validationErrorResponse(iv.message);
277
+ params = iv.params;
219
278
  try {
220
279
  const days = params.days ?? 7;
221
280
  const incidents = await mark.getIncidents(days);
@@ -247,6 +306,10 @@ export default function register(api) {
247
306
  required: [],
248
307
  },
249
308
  async execute(_toolCallId, params) {
309
+ const rv = await validateToolParams('mark_report', _toolCallId, params);
310
+ if (!rv.ok)
311
+ return validationErrorResponse(rv.message);
312
+ params = rv.params;
250
313
  try {
251
314
  const format = params.format ?? 'summary';
252
315
  const report = await mark.generateReport(format);
@@ -277,6 +340,10 @@ export default function register(api) {
277
340
  required: [],
278
341
  },
279
342
  async execute(_toolCallId, params) {
343
+ const uv = await validateToolParams('mark_uptime', _toolCallId, params);
344
+ if (!uv.ok)
345
+ return validationErrorResponse(uv.message);
346
+ params = uv.params;
280
347
  try {
281
348
  const days = params.days ?? 30;
282
349
  const uptime = await mark.getUptime(days);
@@ -315,6 +382,10 @@ export default function register(api) {
315
382
  },
316
383
  },
317
384
  async execute(_toolCallId, params) {
385
+ const validated = await validateToolParams('mark_security_status', _toolCallId, params);
386
+ if (!validated.ok)
387
+ return validationErrorResponse(validated.message);
388
+ params = validated.params;
318
389
  if (!fleetAlertingReady || !alertBus) {
319
390
  return {
320
391
  content: [{ type: 'text', text: JSON.stringify({ error: 'Fleet alerting sidecar not available' }) }],
@@ -401,7 +472,10 @@ export default function register(api) {
401
472
  name: 'mark_memory_status',
402
473
  description: 'Show memory search health and per-agent statistics — file counts, disk usage, and indexing state',
403
474
  parameters: { type: 'object', properties: {} },
404
- async execute(_toolCallId, _params) {
475
+ async execute(_toolCallId, params) {
476
+ const msv = await validateToolParams('mark_memory_status', _toolCallId, params);
477
+ if (!msv.ok)
478
+ return validationErrorResponse(msv.message);
405
479
  try {
406
480
  const dataDir = cfg.dataDir ?? path.join(process.env.HOME ?? '', '.mark-data');
407
481
  const topology = loadFleetTopology(dataDir);
@@ -449,6 +523,10 @@ export default function register(api) {
449
523
  required: [],
450
524
  },
451
525
  async execute(_toolCallId, params) {
526
+ const dv = await validateToolParams('mark_memory_diagnose', _toolCallId, params);
527
+ if (!dv.ok)
528
+ return validationErrorResponse(dv.message);
529
+ params = dv.params;
452
530
  try {
453
531
  const dataDir = cfg.dataDir ?? path.join(process.env.HOME ?? '', '.mark-data');
454
532
  const topology = loadFleetTopology(dataDir);
@@ -486,6 +564,10 @@ export default function register(api) {
486
564
  required: [],
487
565
  },
488
566
  async execute(_toolCallId, params) {
567
+ const mcValidated = await validateToolParams('mark_memory_configure', _toolCallId, params, markValidationBusinessRules.mark_memory_configure);
568
+ if (!mcValidated.ok)
569
+ return validationErrorResponse(mcValidated.message);
570
+ params = mcValidated.params;
489
571
  try {
490
572
  const dryRun = params.dryRun === true;
491
573
  if (dryRun) {
@@ -546,6 +628,10 @@ export default function register(api) {
546
628
  required: [],
547
629
  },
548
630
  async execute(_toolCallId, params) {
631
+ const bv = await validateToolParams('mark_memory_backfill', _toolCallId, params);
632
+ if (!bv.ok)
633
+ return validationErrorResponse(bv.message);
634
+ params = bv.params;
549
635
  try {
550
636
  const agent = params.agent;
551
637
  const writer = new MemoryWriter();
@@ -643,7 +729,46 @@ export default function register(api) {
643
729
  console.log('[mighty-mark] Morning check service stopped');
644
730
  },
645
731
  });
646
- // ── Fleet Bus Integration (Phase 2 full onboarding) ────────
732
+ // ── Fleet Tools (synchronous stubs + async hot-swap) ─────────
733
+ const markFleetToolImpls = {};
734
+ api.registerTool({
735
+ name: "fleet_health_alert",
736
+ description: "Alert the fleet about a health check failure or degradation.",
737
+ parameters: {
738
+ type: "object",
739
+ properties: {
740
+ checkName: { type: "string" },
741
+ category: { type: "string" },
742
+ status: { type: "string", enum: ["FAIL", "WARN", "DEGRADED"] },
743
+ details: { type: "string" },
744
+ autoRemediated: { type: "boolean" },
745
+ },
746
+ required: ["checkName", "category", "status", "details"],
747
+ },
748
+ async execute(_toolCallId, params) {
749
+ const fv = await validateToolParams("fleet_health_alert", _toolCallId, params);
750
+ if (!fv.ok)
751
+ return validationErrorResponse(fv.message);
752
+ if (markFleetToolImpls["fleet_health_alert"]) {
753
+ return markFleetToolImpls["fleet_health_alert"].execute(_toolCallId, fv.params);
754
+ }
755
+ return { content: [{ type: "text", text: "Fleet bus not connected — health alert queued locally." }] };
756
+ },
757
+ });
758
+ api.registerTool({
759
+ name: "fleet_comms_health",
760
+ description: "Report fleet communications health status.",
761
+ parameters: { type: "object", properties: {} },
762
+ async execute(_toolCallId, params) {
763
+ const fv = await validateToolParams("fleet_comms_health", _toolCallId, params);
764
+ if (!fv.ok)
765
+ return validationErrorResponse(fv.message);
766
+ if (markFleetToolImpls["fleet_comms_health"]) {
767
+ return markFleetToolImpls["fleet_comms_health"].execute(_toolCallId, fv.params);
768
+ }
769
+ return { content: [{ type: "text", text: "Fleet bus not connected — comms health unavailable." }] };
770
+ },
771
+ });
647
772
  const fleetBusMod = "@aiassesstech/fleet-bus";
648
773
  import(fleetBusMod)
649
774
  .then(async ({ FleetBus, MIGHTY_MARK_CARD, createMarkFleetTools, createTransport, fleetReceive }) => {
@@ -653,9 +778,9 @@ export default function register(api) {
653
778
  if (transport) {
654
779
  const tools = createMarkFleetTools(bus, transport);
655
780
  for (const tool of tools) {
656
- api.registerTool(tool);
781
+ markFleetToolImpls[tool.name] = tool;
657
782
  }
658
- console.log(`[mighty-mark] Fleet tools registered: ${tools.map((t) => t.name).join(", ")}`);
783
+ console.log(`[mighty-mark] Fleet tools hot-swapped: ${tools.map((t) => t.name).join(", ")}`);
659
784
  fleetReceive(bus, {
660
785
  methods: [
661
786
  "fleet/broadcast", "fleet/ping", "fleet/pong", "task/assign",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiassesstech/mighty-mark",
3
- "version": "0.3.27",
3
+ "version": "0.3.29",
4
4
  "description": "System Health Sentinel for AI Assess Tech Fleet — autonomous monitoring, watchdog recovery, and fleet infrastructure oversight.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",