hackmyagent 0.16.5 → 0.16.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/.integrity-manifest.json +1 -1
  2. package/dist/arp/crypto/hybrid-signing.d.ts +107 -0
  3. package/dist/arp/crypto/hybrid-signing.d.ts.map +1 -0
  4. package/dist/arp/crypto/hybrid-signing.js +321 -0
  5. package/dist/arp/crypto/hybrid-signing.js.map +1 -0
  6. package/dist/arp/crypto/index.d.ts +13 -0
  7. package/dist/arp/crypto/index.d.ts.map +1 -0
  8. package/dist/arp/crypto/index.js +33 -0
  9. package/dist/arp/crypto/index.js.map +1 -0
  10. package/dist/arp/crypto/manifest-loader.d.ts +117 -0
  11. package/dist/arp/crypto/manifest-loader.d.ts.map +1 -0
  12. package/dist/arp/crypto/manifest-loader.js +361 -0
  13. package/dist/arp/crypto/manifest-loader.js.map +1 -0
  14. package/dist/arp/crypto/types.d.ts +69 -0
  15. package/dist/arp/crypto/types.d.ts.map +1 -0
  16. package/dist/arp/crypto/types.js +11 -0
  17. package/dist/arp/crypto/types.js.map +1 -0
  18. package/dist/arp/index.d.ts +27 -0
  19. package/dist/arp/index.d.ts.map +1 -1
  20. package/dist/arp/index.js +94 -1
  21. package/dist/arp/index.js.map +1 -1
  22. package/dist/arp/intelligence/behavioral-risk-server.d.ts +82 -0
  23. package/dist/arp/intelligence/behavioral-risk-server.d.ts.map +1 -0
  24. package/dist/arp/intelligence/behavioral-risk-server.js +258 -0
  25. package/dist/arp/intelligence/behavioral-risk-server.js.map +1 -0
  26. package/dist/arp/intelligence/behavioral-risk.d.ts +217 -0
  27. package/dist/arp/intelligence/behavioral-risk.d.ts.map +1 -0
  28. package/dist/arp/intelligence/behavioral-risk.js +429 -0
  29. package/dist/arp/intelligence/behavioral-risk.js.map +1 -0
  30. package/dist/arp/intelligence/coordinator.d.ts +93 -2
  31. package/dist/arp/intelligence/coordinator.d.ts.map +1 -1
  32. package/dist/arp/intelligence/coordinator.js +281 -1
  33. package/dist/arp/intelligence/coordinator.js.map +1 -1
  34. package/dist/arp/intelligence/guard-anomaly.d.ts +349 -0
  35. package/dist/arp/intelligence/guard-anomaly.d.ts.map +1 -0
  36. package/dist/arp/intelligence/guard-anomaly.js +399 -0
  37. package/dist/arp/intelligence/guard-anomaly.js.map +1 -0
  38. package/dist/arp/intelligence/nanomind-l1.d.ts +37 -0
  39. package/dist/arp/intelligence/nanomind-l1.d.ts.map +1 -1
  40. package/dist/arp/intelligence/nanomind-l1.js +78 -0
  41. package/dist/arp/intelligence/nanomind-l1.js.map +1 -1
  42. package/dist/arp/intelligence/verify-classification.d.ts +124 -0
  43. package/dist/arp/intelligence/verify-classification.d.ts.map +1 -0
  44. package/dist/arp/intelligence/verify-classification.js +329 -0
  45. package/dist/arp/intelligence/verify-classification.js.map +1 -0
  46. package/dist/arp/proxy/server.d.ts +38 -8
  47. package/dist/arp/proxy/server.d.ts.map +1 -1
  48. package/dist/arp/proxy/server.js +89 -0
  49. package/dist/arp/proxy/server.js.map +1 -1
  50. package/dist/arp/types.d.ts +228 -1
  51. package/dist/arp/types.d.ts.map +1 -1
  52. package/dist/cli.js +85 -18
  53. package/dist/cli.js.map +1 -1
  54. package/dist/nanomind-core/compiler/semantic-compiler.d.ts.map +1 -1
  55. package/dist/nanomind-core/compiler/semantic-compiler.js +170 -10
  56. package/dist/nanomind-core/compiler/semantic-compiler.js.map +1 -1
  57. package/dist/nanomind-core/compiler/source-code-preprocessor.d.ts +64 -0
  58. package/dist/nanomind-core/compiler/source-code-preprocessor.d.ts.map +1 -0
  59. package/dist/nanomind-core/compiler/source-code-preprocessor.js +656 -0
  60. package/dist/nanomind-core/compiler/source-code-preprocessor.js.map +1 -0
  61. package/dist/nanomind-core/ingestion/artifact-parser.d.ts.map +1 -1
  62. package/dist/nanomind-core/ingestion/artifact-parser.js +15 -6
  63. package/dist/nanomind-core/ingestion/artifact-parser.js.map +1 -1
  64. package/package.json +3 -1
@@ -4,6 +4,7 @@ exports.IntelligenceCoordinator = void 0;
4
4
  const budget_1 = require("./budget");
5
5
  const adapters_1 = require("./adapters");
6
6
  const anomaly_1 = require("./anomaly");
7
+ const behavioral_risk_1 = require("./behavioral-risk");
7
8
  const SEVERITY_ORDER = ['info', 'low', 'medium', 'high', 'critical'];
8
9
  /**
9
10
  * The 3-Layer Intelligence Coordinator.
@@ -15,12 +16,15 @@ const SEVERITY_ORDER = ['info', 'low', 'medium', 'high', 'critical'];
15
16
  * 99% of events never reach L2. Cost is ~$0.01/day for most agents.
16
17
  */
17
18
  class IntelligenceCoordinator {
18
- constructor(arpConfig, dataDir) {
19
+ constructor(arpConfig, dataDir, manifest = null, behavioralRiskSource = null, guardAnomaly = null) {
19
20
  this.adapter = null;
20
21
  this.batchQueue = [];
21
22
  this.config = arpConfig.intelligence ?? {};
22
23
  this.budget = new budget_1.BudgetController(dataDir, this.config);
23
24
  this.anomaly = new anomaly_1.AnomalyDetector();
25
+ this.manifest = manifest;
26
+ this.behavioralRiskSource = behavioralRiskSource;
27
+ this.guardAnomaly = guardAnomaly;
24
28
  // Build agent context for LLM prompts
25
29
  this.agentContext = buildAgentContext(arpConfig);
26
30
  // Initialize LLM adapter if intelligence is enabled
@@ -39,12 +43,79 @@ class IntelligenceCoordinator {
39
43
  }
40
44
  }
41
45
  }
46
+ /**
47
+ * Replace or clear the capability manifest used for the comply gate.
48
+ * Exposed so the hosting runtime (e.g. the ARP proxy) can reload the
49
+ * manifest without tearing down the coordinator.
50
+ */
51
+ setCapabilityManifest(manifest) {
52
+ this.manifest = manifest;
53
+ }
54
+ /** The currently installed manifest, or null if none is set. */
55
+ getCapabilityManifest() {
56
+ return this.manifest;
57
+ }
58
+ /**
59
+ * Replace or clear the behavioral risk source. Exposed so a hosting
60
+ * runtime can swap from an in-process source to a unix socket source
61
+ * (or vice versa) without tearing down the coordinator.
62
+ */
63
+ setBehavioralRiskSource(source) {
64
+ this.behavioralRiskSource = source;
65
+ }
66
+ /** The currently installed behavioral risk source, or null. */
67
+ getBehavioralRiskSource() {
68
+ return this.behavioralRiskSource;
69
+ }
70
+ /**
71
+ * Replace or clear the guard anomaly detector. Exposed so a
72
+ * hosting runtime can hot-swap the drift model (for example to
73
+ * install a refreshed baseline from the Registry) without tearing
74
+ * down the coordinator.
75
+ */
76
+ setGuardAnomaly(guardAnomaly) {
77
+ this.guardAnomaly = guardAnomaly;
78
+ }
79
+ /** The currently installed guard anomaly detector, or null. */
80
+ getGuardAnomaly() {
81
+ return this.guardAnomaly;
82
+ }
42
83
  /**
43
84
  * Analyze an event through the 3-layer stack.
44
85
  * Mutates the event's category, severity, and classifiedBy fields.
45
86
  * Returns the LLM assessment if L2 was invoked.
46
87
  */
47
88
  async analyze(event) {
89
+ // Guard anomaly (classification distribution drift) detection. Runs
90
+ // FIRST so the drift window observes every classified event,
91
+ // including those the comply gate will reject below. A burst of
92
+ // attempted prohibited-class calls IS the drift signal we want to
93
+ // catch, and short-circuiting before recording would blind the
94
+ // detector to attacks. Pure local computation, no IO, bounded
95
+ // memory; safe to run before any short-circuit. Record-and-lift
96
+ // policy: the status is always written, severity is only raised
97
+ // on the `drift` branch.
98
+ if (this.guardAnomaly) {
99
+ applyGuardAnomaly(event, this.guardAnomaly);
100
+ }
101
+ // L0-comply: capability manifest gate. Runs before L1 so a classified
102
+ // event that violates the comply envelope short-circuits the stack and
103
+ // does not pollute the anomaly baseline or burn L2 budget. Inert when no
104
+ // manifest is installed, or when the event carries no classification.
105
+ if (this.manifest && applyComplyGate(event, this.manifest)) {
106
+ return null;
107
+ }
108
+ // Behavioral risk fusion. Runs AFTER the comply gate (a denied event
109
+ // should not burn an IPC round-trip) and BEFORE L1 statistical (so
110
+ // the behavioral signal can raise severity before L1 records its
111
+ // baseline). Bounded by a timeout enforced inside the source; every
112
+ // error path resolves to an `unavailable` result. Ignored when no
113
+ // source is attached.
114
+ if (this.behavioralRiskSource) {
115
+ const timeoutMs = this.config.behavioralRiskTimeoutMs ?? behavioral_risk_1.DEFAULT_BEHAVIORAL_RISK_TIMEOUT_MS;
116
+ const riskResult = await this.behavioralRiskSource.getBehavioralRiskSignal(event, timeoutMs);
117
+ applyBehavioralRisk(event, riskResult);
118
+ }
48
119
  // L0: Already classified by the monitor that emitted it
49
120
  // L1: Statistical anomaly detection (free)
50
121
  const anomalyScore = this.anomaly.score(event);
@@ -303,4 +374,213 @@ function parseAssessment(content, tokens, cost) {
303
374
  function severityIndex(severity) {
304
375
  return SEVERITY_ORDER.indexOf(severity);
305
376
  }
377
+ /**
378
+ * Extract a classification label from an event's `data` bag. The coordinator
379
+ * recognizes `data.classification` as the canonical field (what
380
+ * NanoMind-Guard writes). Returns null when the event is not tagged with a
381
+ * classifier output, in which case the comply gate is inert.
382
+ */
383
+ function getEventClassification(event) {
384
+ const raw = event.data?.classification;
385
+ return typeof raw === 'string' && raw.length > 0 ? raw : null;
386
+ }
387
+ /**
388
+ * Evaluate a classified event against the manifest's comply envelope and
389
+ * mutate the event in place when a policy deny fires. Returns `true` when
390
+ * the gate denied and the caller should short-circuit the rest of the
391
+ * analyze() stack; `false` when the event passed through (either because it
392
+ * carries no classification, or because the class is on the permitted list).
393
+ *
394
+ * Parse-to-deny ordering (CR-001):
395
+ * 1. Classification on `prohibited_classes` denies first, even if it also
396
+ * appears on the permitted list. The deny list takes precedence.
397
+ * 2. Classification on `permitted_classes` passes through.
398
+ * 3. Any other classification is treated as unknown and denied via the
399
+ * same `on_violation` action. The default of "unknown is denied" is
400
+ * the parse-to-deny invariant documented in CR-001.
401
+ */
402
+ function applyComplyGate(event, manifest) {
403
+ const classification = getEventClassification(event);
404
+ if (classification === null) {
405
+ // No classifier output on this event; comply gate cannot interpret it.
406
+ // Leaving it alone is intentional: the manifest governs classified
407
+ // traffic only, and we do not invent a class to deny on.
408
+ return false;
409
+ }
410
+ const { permitted_classes, prohibited_classes, on_violation } = manifest.comply;
411
+ let reason = null;
412
+ if (prohibited_classes.includes(classification)) {
413
+ reason = 'prohibited';
414
+ }
415
+ else if (!permitted_classes.includes(classification)) {
416
+ reason = 'unknown';
417
+ }
418
+ if (reason === null)
419
+ return false;
420
+ const decision = {
421
+ classification,
422
+ reason,
423
+ action: on_violation,
424
+ };
425
+ event.data.comply = decision;
426
+ event.classifiedBy = 'L0-comply';
427
+ applyComplyAction(event, on_violation);
428
+ return true;
429
+ }
430
+ /**
431
+ * Map a `ComplyOnViolation` action to concrete event category/severity
432
+ * mutations. Severity is only ever raised, never lowered, so a previously
433
+ * escalated event keeps its higher level. `log` is intentionally a no-op
434
+ * beyond the `comply` decision record already written by the caller.
435
+ */
436
+ function applyComplyAction(event, action) {
437
+ switch (action) {
438
+ case 'log':
439
+ // Decision is recorded on event.data.comply; no category/severity
440
+ // mutation so downstream rule engines can still classify.
441
+ return;
442
+ case 'alert':
443
+ event.category = raiseCategory(event.category, 'violation');
444
+ event.severity = raiseSeverity(event.severity, 'medium');
445
+ return;
446
+ case 'pause':
447
+ event.category = raiseCategory(event.category, 'violation');
448
+ event.severity = raiseSeverity(event.severity, 'high');
449
+ return;
450
+ case 'kill':
451
+ event.category = 'threat';
452
+ event.severity = 'critical';
453
+ return;
454
+ case 'deny':
455
+ // Proxy-level denial in coordinator terms is equivalent to a critical
456
+ // threat: the event must not be allowed to propagate normally.
457
+ event.category = 'threat';
458
+ event.severity = 'critical';
459
+ return;
460
+ }
461
+ }
462
+ const CATEGORY_ORDER = [
463
+ 'normal',
464
+ 'anomaly',
465
+ 'violation',
466
+ 'threat',
467
+ ];
468
+ function raiseCategory(current, floor) {
469
+ return CATEGORY_ORDER.indexOf(current) >= CATEGORY_ORDER.indexOf(floor)
470
+ ? current
471
+ : floor;
472
+ }
473
+ function raiseSeverity(current, floor) {
474
+ return severityIndex(current) >= severityIndex(floor) ? current : floor;
475
+ }
476
+ /**
477
+ * Bands the behavioral risk score is sorted into, matched to severity
478
+ * floors raised on the event when the band fires. The score ranges come
479
+ * from NanoMindL1's response table; they are deliberately mirrored here
480
+ * rather than imported, so the coordinator's policy can drift
481
+ * independently of the twin's internal action labels if needed.
482
+ *
483
+ * >= 0.8 : critical -> event.category >= threat, severity >= critical
484
+ * >= 0.6 : high -> event.category >= violation, severity >= high
485
+ * >= 0.4 : elevated -> event.category >= anomaly, severity >= medium
486
+ * < 0.4 : low -> no mutation, record only
487
+ */
488
+ function bandForScore(score) {
489
+ if (score >= 0.8)
490
+ return 'critical';
491
+ if (score >= 0.6)
492
+ return 'high';
493
+ if (score >= 0.4)
494
+ return 'elevated';
495
+ return 'low';
496
+ }
497
+ /**
498
+ * Fuse a `BehavioralRiskResult` into an ARPEvent. Writes a structured
499
+ * record to `event.data.behavioralRisk` in both branches so downstream
500
+ * audit can distinguish a healthy low score from an IPC outage. On the
501
+ * `ok` branch, raises category and severity floors according to the
502
+ * band. On the `unavailable` branch, records the code and leaves
503
+ * category/severity untouched (record-and-ignore policy).
504
+ *
505
+ * `classifiedBy` is only rewritten to `L1-behavioral-risk` when the
506
+ * event has not already been classified by a stricter layer; the L0
507
+ * labels stay as-is so the origin of the decision is preserved.
508
+ */
509
+ function applyBehavioralRisk(event, result) {
510
+ if (result.status === 'unavailable') {
511
+ const record = {
512
+ status: 'unavailable',
513
+ code: result.code,
514
+ };
515
+ event.data.behavioralRisk = record;
516
+ return;
517
+ }
518
+ const { score, action, source } = result.signal;
519
+ const band = bandForScore(score);
520
+ const record = {
521
+ status: 'ok',
522
+ score,
523
+ action,
524
+ source,
525
+ band,
526
+ };
527
+ event.data.behavioralRisk = record;
528
+ if (band === 'critical') {
529
+ event.category = 'threat';
530
+ event.severity = 'critical';
531
+ if (event.classifiedBy === 'L0-rules') {
532
+ event.classifiedBy = 'L1-behavioral-risk';
533
+ }
534
+ return;
535
+ }
536
+ if (band === 'high') {
537
+ event.category = raiseCategory(event.category, 'violation');
538
+ event.severity = raiseSeverity(event.severity, 'high');
539
+ if (event.classifiedBy === 'L0-rules') {
540
+ event.classifiedBy = 'L1-behavioral-risk';
541
+ }
542
+ return;
543
+ }
544
+ if (band === 'elevated') {
545
+ event.category = raiseCategory(event.category, 'anomaly');
546
+ event.severity = raiseSeverity(event.severity, 'medium');
547
+ if (event.classifiedBy === 'L0-rules') {
548
+ event.classifiedBy = 'L1-behavioral-risk';
549
+ }
550
+ return;
551
+ }
552
+ // Low band: record only, no mutation.
553
+ }
554
+ /**
555
+ * Record a classified event's label into the guard anomaly detector
556
+ * and fuse the resulting drift status into the event. Always writes
557
+ * `event.data.guardAnomaly` with the current status. Only the
558
+ * `drift` branch raises category to `anomaly` and severity to
559
+ * `medium`; `baseline-pending` and `normal` are record-only.
560
+ *
561
+ * `classifiedBy` is only rewritten to `L1-guard-anomaly` when the
562
+ * prior layer was `L0-rules`, preserving the origin of any stricter
563
+ * decision already on the event. The comply gate runs AFTER this
564
+ * helper, so on a denied event the comply gate will overwrite
565
+ * `classifiedBy` to `L0-comply`, which correctly reflects the
566
+ * strictest decider.
567
+ *
568
+ * Skips silently on events with no classification label: drift is
569
+ * defined over classified traffic, and inventing a synthetic label
570
+ * would corrupt the baseline.
571
+ */
572
+ function applyGuardAnomaly(event, detector) {
573
+ const classification = getEventClassification(event);
574
+ if (classification === null)
575
+ return;
576
+ const status = detector.record(classification);
577
+ event.data.guardAnomaly = status;
578
+ if (status.status === 'drift') {
579
+ event.category = raiseCategory(event.category, 'anomaly');
580
+ event.severity = raiseSeverity(event.severity, 'medium');
581
+ if (event.classifiedBy === 'L0-rules') {
582
+ event.classifiedBy = 'L1-guard-anomaly';
583
+ }
584
+ }
585
+ }
306
586
  //# sourceMappingURL=coordinator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/arp/intelligence/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/arp/intelligence/coordinator.ts"],"names":[],"mappings":"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"}