hackmyagent 0.12.4 → 0.12.6

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.
@@ -32,7 +32,29 @@ export declare class TMEClassifier {
32
32
  private tokenizerPath;
33
33
  private onnxSession;
34
34
  private useOnnx;
35
+ private needsDownload;
36
+ private downloadPromise;
35
37
  constructor(modelDir?: string);
38
+ /**
39
+ * Download a single file from HuggingFace, following 302 redirects.
40
+ * Uses only Node.js built-ins (https, fs, crypto).
41
+ */
42
+ private static downloadFile;
43
+ /**
44
+ * Compute SHA-256 hash of a file using streaming.
45
+ */
46
+ private static computeHash;
47
+ /**
48
+ * Download the NanoMind TME model files from HuggingFace.
49
+ * Verifies SHA-256 integrity of each file. Cleans up on failure.
50
+ * Returns true if download succeeded, false otherwise.
51
+ */
52
+ static downloadModel(targetDir?: string): Promise<boolean>;
53
+ /**
54
+ * Ensure the model is available. Downloads from HuggingFace if needed.
55
+ * Call this from async contexts before classifyAsync().
56
+ */
57
+ ensureModel(): Promise<void>;
36
58
  private onnxReady;
37
59
  private onnxLoading;
38
60
  /**
@@ -40,7 +62,7 @@ export declare class TMEClassifier {
40
62
  */
41
63
  load(): boolean;
42
64
  private loadOnnx;
43
- /** Wait for ONNX to be ready (call before classify for neural inference) */
65
+ /** Wait for model download (if needed) and ONNX to be ready */
44
66
  ensureReady(): Promise<void>;
45
67
  /**
46
68
  * Classify text using vocabulary-based scoring.
@@ -1 +1 @@
1
- {"version":3,"file":"tme-classifier.d.ts","sourceRoot":"","sources":["../../../src/nanomind-core/inference/tme-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,CAAC,EAAE,MAAM;IAsC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,IAAI,IAAI,OAAO;YAmBD,QAAQ;IAUtB,4EAA4E;IACtE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAiCzC;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgD7D,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CA8Cd;AAOD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
1
+ {"version":3,"file":"tme-classifier.d.ts","sourceRoot":"","sources":["../../../src/nanomind-core/inference/tme-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsBH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAiC;gBAE5C,QAAQ,CAAC,EAAE,MAAM;IA6C7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B;;;;OAIG;WACU,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmChE;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBlC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,IAAI,IAAI,OAAO;YAmBD,QAAQ;IAUtB,+DAA+D;IACzD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAiCzC;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmD7D,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CA8Cd;AAOD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
@@ -11,11 +11,24 @@
11
11
  *
12
12
  * Security: model file integrity verified before loading.
13
13
  */
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
18
  exports.TMEClassifier = void 0;
16
19
  exports.getTMEClassifier = getTMEClassifier;
17
20
  const node_fs_1 = require("node:fs");
18
21
  const node_path_1 = require("node:path");
22
+ const node_crypto_1 = require("node:crypto");
23
+ const node_os_1 = require("node:os");
24
+ const node_https_1 = __importDefault(require("node:https"));
25
+ const HF_BASE = 'https://huggingface.co/opena2a/nanomind-security-classifier/resolve/main';
26
+ const MODEL_FILES = [
27
+ { name: 'tokenizer.json', sha256: '4095fd6fd3ae765b2bcfba0b03d59e8efa4fb96d6b92a20e3b362e497ea8dec5' },
28
+ { name: 'nanomind-tme.onnx', sha256: '93450d5ec31a3ede7aec5be7c0cf8ff3914c4b2c831a0ab822a8999c88714794' },
29
+ { name: 'nanomind-tme.onnx.data', sha256: 'e63ea7b5d89eda823a5c958b8f5d9a3f0e16e956895496d8d09a4b400d911f96' },
30
+ ];
31
+ const DOWNLOAD_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), '.nanomind', 'models');
19
32
  const CLASSES = [
20
33
  'exfiltration', 'injection', 'privilege_escalation', 'persistence',
21
34
  'credential_abuse', 'lateral_movement', 'social_engineering',
@@ -33,17 +46,21 @@ class TMEClassifier {
33
46
  this.loaded = false;
34
47
  this.onnxSession = null;
35
48
  this.useOnnx = false;
49
+ this.needsDownload = false;
50
+ this.downloadPromise = null;
36
51
  this.onnxReady = false;
37
52
  this.onnxLoading = null;
38
53
  // Look for model in standard locations (ordered by preference)
39
- const home = require('os').homedir();
54
+ const home = (0, node_os_1.homedir)();
40
55
  const locations = [
41
56
  modelDir,
42
57
  (0, node_path_1.join)(process.cwd(), 'models'),
43
58
  (0, node_path_1.join)(__dirname, '..', '..', '..', 'models'),
44
59
  (0, node_path_1.join)(home, '.nanomind', 'models'),
45
60
  (0, node_path_1.join)(home, '.opena2a', 'nanomind', 'models'),
46
- // Development: nanomind training repo (monorepo sibling)
61
+ // Development: nanomind training repo (monorepo sibling, newest first)
62
+ (0, node_path_1.join)(__dirname, '..', '..', '..', '..', 'nanomind', 'training', 'models-tme-v4'),
63
+ (0, node_path_1.join)(__dirname, '..', '..', '..', '..', 'nanomind', 'training', 'models-tme-v3'),
47
64
  (0, node_path_1.join)(__dirname, '..', '..', '..', '..', 'nanomind', 'training', 'models-tme-v2'),
48
65
  (0, node_path_1.join)(__dirname, '..', '..', '..', '..', 'nanomind', 'training', 'models-tme'),
49
66
  (0, node_path_1.join)(__dirname, '..', '..', '..', '..', 'nanomind', 'training', 'models'),
@@ -69,6 +86,128 @@ class TMEClassifier {
69
86
  break;
70
87
  }
71
88
  }
89
+ // If no model found locally, mark for auto-download
90
+ if (!this.tokenizerPath) {
91
+ this.needsDownload = true;
92
+ }
93
+ }
94
+ /**
95
+ * Download a single file from HuggingFace, following 302 redirects.
96
+ * Uses only Node.js built-ins (https, fs, crypto).
97
+ */
98
+ static downloadFile(url, destPath) {
99
+ return new Promise((resolve, reject) => {
100
+ const follow = (targetUrl) => {
101
+ node_https_1.default.get(targetUrl, (response) => {
102
+ if (response.statusCode && response.statusCode >= 300 && response.statusCode < 400) {
103
+ const location = response.headers.location;
104
+ if (!location) {
105
+ reject(new Error('Redirect with no location header'));
106
+ return;
107
+ }
108
+ response.resume();
109
+ // Handle relative redirects by resolving against the request URL
110
+ const resolved = location.startsWith('http') ? location : new URL(location, targetUrl).href;
111
+ follow(resolved);
112
+ return;
113
+ }
114
+ if (response.statusCode !== 200) {
115
+ response.resume();
116
+ reject(new Error(`HTTP ${response.statusCode} for ${targetUrl}`));
117
+ return;
118
+ }
119
+ const file = (0, node_fs_1.createWriteStream)(destPath);
120
+ response.pipe(file);
121
+ file.on('finish', () => { file.close(); resolve(); });
122
+ file.on('error', (err) => { file.close(); reject(err); });
123
+ }).on('error', reject);
124
+ };
125
+ follow(url);
126
+ });
127
+ }
128
+ /**
129
+ * Compute SHA-256 hash of a file using streaming.
130
+ */
131
+ static computeHash(filePath) {
132
+ return new Promise((resolve, reject) => {
133
+ const hash = (0, node_crypto_1.createHash)('sha256');
134
+ const stream = (0, node_fs_1.createReadStream)(filePath);
135
+ stream.on('data', (chunk) => hash.update(chunk));
136
+ stream.on('end', () => resolve(hash.digest('hex')));
137
+ stream.on('error', reject);
138
+ });
139
+ }
140
+ /**
141
+ * Download the NanoMind TME model files from HuggingFace.
142
+ * Verifies SHA-256 integrity of each file. Cleans up on failure.
143
+ * Returns true if download succeeded, false otherwise.
144
+ */
145
+ static async downloadModel(targetDir) {
146
+ const dir = targetDir ?? DOWNLOAD_DIR;
147
+ try {
148
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
149
+ }
150
+ catch {
151
+ return false;
152
+ }
153
+ console.error('Downloading NanoMind security model (5.5MB)...');
154
+ for (const file of MODEL_FILES) {
155
+ const dest = (0, node_path_1.join)(dir, file.name);
156
+ if ((0, node_fs_1.existsSync)(dest))
157
+ continue;
158
+ const url = `${HF_BASE}/${file.name}`;
159
+ try {
160
+ await TMEClassifier.downloadFile(url, dest);
161
+ // Verify integrity
162
+ const hash = await TMEClassifier.computeHash(dest);
163
+ if (file.sha256 && hash !== file.sha256) {
164
+ console.error(` Integrity check failed for ${file.name}. Removing.`);
165
+ try {
166
+ (0, node_fs_1.unlinkSync)(dest);
167
+ }
168
+ catch { /* ignore */ }
169
+ return false;
170
+ }
171
+ }
172
+ catch (err) {
173
+ console.error(` Failed to download ${file.name}: ${err?.message ?? 'unknown error'}`);
174
+ try {
175
+ (0, node_fs_1.unlinkSync)(dest);
176
+ }
177
+ catch { /* ignore */ }
178
+ return false;
179
+ }
180
+ }
181
+ console.error('Model ready. Using neural inference for deep scanning.');
182
+ return true;
183
+ }
184
+ /**
185
+ * Ensure the model is available. Downloads from HuggingFace if needed.
186
+ * Call this from async contexts before classifyAsync().
187
+ */
188
+ async ensureModel() {
189
+ if (!this.needsDownload)
190
+ return;
191
+ if (this.downloadPromise) {
192
+ await this.downloadPromise;
193
+ return;
194
+ }
195
+ this.downloadPromise = TMEClassifier.downloadModel();
196
+ const ok = await this.downloadPromise;
197
+ this.downloadPromise = null;
198
+ if (ok) {
199
+ // Point paths to the freshly downloaded model
200
+ this.tokenizerPath = (0, node_path_1.join)(DOWNLOAD_DIR, 'tokenizer.json');
201
+ this.modelPath = (0, node_path_1.join)(DOWNLOAD_DIR, 'nanomind-tme.onnx');
202
+ this.useOnnx = true;
203
+ this.needsDownload = false;
204
+ this.loaded = false; // Force re-load with new paths
205
+ }
206
+ else {
207
+ // Download failed; fall back to vocab scoring silently
208
+ console.error('Model download unavailable. Using vocabulary-based scoring.');
209
+ this.needsDownload = false;
210
+ }
72
211
  }
73
212
  /**
74
213
  * Load the tokenizer. Kicks off async ONNX model load if available.
@@ -101,8 +240,10 @@ class TMEClassifier {
101
240
  this.useOnnx = false;
102
241
  }
103
242
  }
104
- /** Wait for ONNX to be ready (call before classify for neural inference) */
243
+ /** Wait for model download (if needed) and ONNX to be ready */
105
244
  async ensureReady() {
245
+ if (this.needsDownload)
246
+ await this.ensureModel();
106
247
  if (this.onnxLoading)
107
248
  await this.onnxLoading;
108
249
  }
@@ -146,6 +287,9 @@ class TMEClassifier {
146
287
  * Use this from async contexts like the Semantic Compiler.
147
288
  */
148
289
  async classifyAsync(text) {
290
+ // Auto-download model from HuggingFace if no local files found
291
+ if (this.needsDownload)
292
+ await this.ensureModel();
149
293
  if (!this.load()) {
150
294
  return { intentClass: 'benign', attackClass: 'none', confidence: 0.5, topClasses: [] };
151
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tme-classifier.js","sourceRoot":"","sources":["../../../src/nanomind-core/inference/tme-classifier.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AA6QH,4CAKC;AAhRD,qCAAmD;AACnD,yCAAiC;AAGjC,MAAM,OAAO,GAAG;IACd,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa;IAClE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB;IAC5D,kBAAkB,EAAE,QAAQ;CAC7B,CAAC;AASF;;;;;GAKG;AACH,MAAa,aAAa;IAQxB,YAAY,QAAiB;QAPrB,UAAK,GAA2B,EAAE,CAAC;QACnC,WAAM,GAAG,KAAK,CAAC;QAGf,gBAAW,GAAQ,IAAI,CAAC;QACxB,YAAO,GAAG,KAAK,CAAC;QAwChB,cAAS,GAAG,KAAK,CAAC;QAClB,gBAAW,GAAyB,IAAI,CAAC;QAtC/C,+DAA+D;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG;YAChB,QAAQ;YACR,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7B,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;YAC3C,IAAA,gBAAI,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC;YACjC,IAAA,gBAAI,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC5C,yDAAyD;YACzD,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;YAChF,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;YAC7E,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YACzE,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC;SACvE,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAC9C,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;gBACrD,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAKD;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QAEzE,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YAEnE,iFAAiF;YACjF,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnC,gDAAgD;QAChD,sEAAsE;QACtE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE/C,2EAA2E;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAE5B,6BAA6B;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC/E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,WAAW,GAAqC,QAAQ,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YACpD,WAAW,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;QAChE,CAAC;QAED,OAAO;YACL,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;YAC9D,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,MAAM,CAAC,MAAM,GAAG,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC;gBAE9D,UAAU;gBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACtE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE3B,IAAI,WAAW,GAAqC,QAAQ,CAAC;gBAC7D,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;oBACxD,WAAW,GAAG,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;gBAClE,CAAC;gBAED,OAAO;oBACL,WAAW;oBACX,WAAW,EAAE,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;oBAClE,UAAU,EAAE,QAAQ,CAAC,KAAK;oBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,MAAgB;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,IAAI,GAAG,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjD,oEAAoE;QACpE,MAAM,aAAa,GAA6B;YAC9C,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,CAAC;YAC9P,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;YACvJ,oBAAoB,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,CAAC;YACjI,WAAW,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;YACxH,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;YACpJ,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,CAAC;YAC7H,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;YAClI,gBAAgB,EAAE,CAAC,eAAe,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAC3H,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,uCAAuC;gBACvC,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAEnE,4CAA4C;QAC5C,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAExB,wBAAwB;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF;AA7OD,sCA6OC;AAED;;GAEG;AACH,IAAI,SAAS,GAAyB,IAAI,CAAC;AAE3C,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"tme-classifier.js","sourceRoot":"","sources":["../../../src/nanomind-core/inference/tme-classifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * NanoMind Orchestrator
3
+ *
4
+ * Shared entry point for integrating NanoMind semantic analysis into
5
+ * any HMA command. Extracts the pattern previously inlined in the
6
+ * `secure` command handler so all commands use the same flow:
7
+ *
8
+ * 1. Check flags (staticOnly, ci -> skip NanoMind)
9
+ * 2. Auto-detect daemon availability
10
+ * 3. Run scanner-bridge (compile ASTs, run analyzers)
11
+ * 4. Merge findings using defense-in-depth rules
12
+ * 5. Return merged results + stats
13
+ *
14
+ * Defense-in-depth: static findings can NEVER be suppressed, only upgraded.
15
+ */
16
+ import type { SecurityFinding } from '../hardening/security-check.js';
17
+ export interface OrchestrationOptions {
18
+ staticOnly?: boolean;
19
+ ci?: boolean;
20
+ deep?: boolean;
21
+ silent?: boolean;
22
+ }
23
+ export interface OrchestrationResult {
24
+ mergedFindings: SecurityFinding[];
25
+ nanomindUsed: boolean;
26
+ compiledArtifacts: number;
27
+ newSemanticFindings: number;
28
+ integrityStatus: string;
29
+ }
30
+ /**
31
+ * Run NanoMind semantic analysis and merge with existing findings.
32
+ * Safe to call from any command. Gracefully degrades if NanoMind
33
+ * is unavailable (returns original findings unchanged).
34
+ */
35
+ export declare function orchestrateNanoMind(targetDir: string, existingFindings: SecurityFinding[], options?: OrchestrationOptions): Promise<OrchestrationResult>;
36
+ //# sourceMappingURL=orchestrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrate.d.ts","sourceRoot":"","sources":["../../src/nanomind-core/orchestrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,eAAe,EAAE,EACnC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAgD9B"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * NanoMind Orchestrator
4
+ *
5
+ * Shared entry point for integrating NanoMind semantic analysis into
6
+ * any HMA command. Extracts the pattern previously inlined in the
7
+ * `secure` command handler so all commands use the same flow:
8
+ *
9
+ * 1. Check flags (staticOnly, ci -> skip NanoMind)
10
+ * 2. Auto-detect daemon availability
11
+ * 3. Run scanner-bridge (compile ASTs, run analyzers)
12
+ * 4. Merge findings using defense-in-depth rules
13
+ * 5. Return merged results + stats
14
+ *
15
+ * Defense-in-depth: static findings can NEVER be suppressed, only upgraded.
16
+ */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || (function () {
34
+ var ownKeys = function(o) {
35
+ ownKeys = Object.getOwnPropertyNames || function (o) {
36
+ var ar = [];
37
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
+ return ar;
39
+ };
40
+ return ownKeys(o);
41
+ };
42
+ return function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ })();
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.orchestrateNanoMind = orchestrateNanoMind;
52
+ /**
53
+ * Run NanoMind semantic analysis and merge with existing findings.
54
+ * Safe to call from any command. Gracefully degrades if NanoMind
55
+ * is unavailable (returns original findings unchanged).
56
+ */
57
+ async function orchestrateNanoMind(targetDir, existingFindings, options = {}) {
58
+ const { staticOnly = false, ci = false, silent = false } = options;
59
+ // Skip NanoMind only when explicitly opted out
60
+ // CI mode still runs NanoMind (deterministic, no cost, better results)
61
+ if (staticOnly) {
62
+ return {
63
+ mergedFindings: [...existingFindings],
64
+ nanomindUsed: false,
65
+ compiledArtifacts: 0,
66
+ newSemanticFindings: 0,
67
+ integrityStatus: 'SKIPPED',
68
+ };
69
+ }
70
+ try {
71
+ const { runNanoMindScan } = await Promise.resolve().then(() => __importStar(require('./scanner-bridge.js')));
72
+ const nmResult = await runNanoMindScan(targetDir, existingFindings);
73
+ const newFindings = nmResult.astFindings.filter(f => !f.passed).length;
74
+ if (!silent && newFindings > 0) {
75
+ process.stderr.write(`NanoMind: ${nmResult.compiledArtifacts} artifact(s) compiled, ${newFindings} semantic finding(s) added\n`);
76
+ }
77
+ if (!silent && nmResult.integrityStatus !== 'CLEAN') {
78
+ process.stderr.write(` Integrity: ${nmResult.integrityStatus}\n`);
79
+ }
80
+ return {
81
+ mergedFindings: nmResult.mergedFindings,
82
+ nanomindUsed: nmResult.nanomindAvailable,
83
+ compiledArtifacts: nmResult.compiledArtifacts,
84
+ newSemanticFindings: newFindings,
85
+ integrityStatus: nmResult.integrityStatus,
86
+ };
87
+ }
88
+ catch {
89
+ // NanoMind unavailable -- static results are still valid
90
+ return {
91
+ mergedFindings: [...existingFindings],
92
+ nanomindUsed: false,
93
+ compiledArtifacts: 0,
94
+ newSemanticFindings: 0,
95
+ integrityStatus: 'UNAVAILABLE',
96
+ };
97
+ }
98
+ }
99
+ //# sourceMappingURL=orchestrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/nanomind-core/orchestrate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH,kDAoDC;AAzDD;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,gBAAmC,EACnC,UAAgC,EAAE;IAElC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnE,+CAA+C;IAC/C,uEAAuE;IACvE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,cAAc,EAAE,CAAC,GAAG,gBAAgB,CAAC;YACrC,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;QAChE,MAAM,QAAQ,GAAuB,MAAM,eAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAExF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAEvE,IAAI,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,QAAQ,CAAC,iBAAiB,0BAA0B,WAAW,8BAA8B,CAC3G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO;YACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,YAAY,EAAE,QAAQ,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,mBAAmB,EAAE,WAAW;YAChC,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC1C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO;YACL,cAAc,EAAE,CAAC,GAAG,gBAAgB,CAAC;YACrC,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,aAAa;SAC/B,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-bridge.d.ts","sourceRoot":"","sources":["../../src/nanomind-core/scanner-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,gCAAgC,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA0CxE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,eAAe,EAAE,GAClC,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAsID;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,eAAe,EAAE,EACjC,WAAW,EAAE,UAAU,EAAE,GACxB,eAAe,EAAE,CAkDnB"}
1
+ {"version":3,"file":"scanner-bridge.d.ts","sourceRoot":"","sources":["../../src/nanomind-core/scanner-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,gCAAgC,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA4CxE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,eAAe,EAAE,GAClC,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AA0ID;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,eAAe,EAAE,EACjC,WAAW,EAAE,UAAU,EAAE,GACxB,eAAe,EAAE,CAkDnB"}
@@ -25,6 +25,8 @@ const capability_analyzer_js_1 = require("./analyzers/capability-analyzer.js");
25
25
  const credential_analyzer_js_1 = require("./analyzers/credential-analyzer.js");
26
26
  const governance_analyzer_js_1 = require("./analyzers/governance-analyzer.js");
27
27
  const scope_analyzer_js_1 = require("./analyzers/scope-analyzer.js");
28
+ const prompt_analyzer_js_1 = require("./analyzers/prompt-analyzer.js");
29
+ const code_analyzer_js_1 = require("./analyzers/code-analyzer.js");
28
30
  const defense_in_depth_js_1 = require("./security/defense-in-depth.js");
29
31
  const integrity_verifier_js_1 = require("./security/integrity-verifier.js");
30
32
  // ============================================================================
@@ -198,6 +200,9 @@ function runAllAnalyzers(ast, verifier) {
198
200
  findings.push(...(0, credential_analyzer_js_1.analyzeCredentials)(ast, verifier));
199
201
  findings.push(...(0, governance_analyzer_js_1.analyzeGovernance)(ast, verifier));
200
202
  findings.push(...(0, scope_analyzer_js_1.analyzeScope)(ast, verifier));
203
+ // Prompt and code analyzers: jailbreak susceptibility, injection patterns, etc.
204
+ findings.push(...(0, prompt_analyzer_js_1.analyzePrompt)(ast, verifier));
205
+ findings.push(...(0, code_analyzer_js_1.analyzeCode)(ast, verifier));
201
206
  return findings;
202
207
  }
203
208
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-bridge.js","sourceRoot":"","sources":["../../src/nanomind-core/scanner-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner-bridge.js","sourceRoot":"","sources":["../../src/nanomind-core/scanner-bridge.ts"],"names":[],"mappings":"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"}
@@ -106,11 +106,20 @@ export declare class SoulScanner {
106
106
  */
107
107
  checkControl(content: string, def: ControlDef): boolean;
108
108
  /**
109
- * LLM-powered semantic analysis for a single control.
110
- * Uses claude CLI first, falls back to Anthropic API.
111
- * Returns true if the LLM determines the content addresses the control.
109
+ * Check if deep analysis is available.
110
+ * Prefers NanoMind (free, local) over LLM (paid, cloud).
111
+ */
112
+ private isDeepAnalysisAvailable;
113
+ /**
114
+ * @deprecated Use isDeepAnalysisAvailable() instead.
112
115
  */
113
116
  private isLlmAvailable;
117
+ /**
118
+ * Semantic analysis for a single control.
119
+ * Tier 1: NanoMind local inference (free, fast)
120
+ * Tier 2: Claude CLI (if available)
121
+ * Tier 3: Anthropic API (if key set)
122
+ */
114
123
  private analyzeControlDeep;
115
124
  /**
116
125
  * Calculate grade from score, applying critical floor if needed.
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/soul/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/soul/scanner.ts"],"names":[],"mappings":"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"}
@@ -447,22 +447,42 @@ class SoulScanner {
447
447
  return false;
448
448
  }
449
449
  /**
450
- * LLM-powered semantic analysis for a single control.
451
- * Uses claude CLI first, falls back to Anthropic API.
452
- * Returns true if the LLM determines the content addresses the control.
450
+ * Check if deep analysis is available.
451
+ * Prefers NanoMind (free, local) over LLM (paid, cloud).
452
+ */
453
+ isDeepAnalysisAvailable() {
454
+ // NanoMind is always available (local inference)
455
+ return true;
456
+ }
457
+ /**
458
+ * @deprecated Use isDeepAnalysisAvailable() instead.
453
459
  */
454
460
  isLlmAvailable() {
455
- if (process.env.ANTHROPIC_API_KEY)
456
- return true;
457
- try {
458
- const claudePath = (0, child_process_1.execSync)('which claude 2>/dev/null', { encoding: 'utf-8' }).trim();
459
- return !!claudePath;
460
- }
461
- catch {
462
- return false;
463
- }
461
+ return this.isDeepAnalysisAvailable();
464
462
  }
463
+ /**
464
+ * Semantic analysis for a single control.
465
+ * Tier 1: NanoMind local inference (free, fast)
466
+ * Tier 2: Claude CLI (if available)
467
+ * Tier 3: Anthropic API (if key set)
468
+ */
465
469
  async analyzeControlDeep(content, def) {
470
+ // Tier 1: NanoMind local semantic analysis
471
+ try {
472
+ const { SemanticCompiler } = await Promise.resolve().then(() => __importStar(require('../nanomind-core/compiler/semantic-compiler.js')));
473
+ const compiler = new SemanticCompiler({ useNanoMind: true });
474
+ const result = await compiler.compile(content, 'SOUL.md');
475
+ if (result.ast) {
476
+ const governance = result.ast.declaredConstraints || [];
477
+ const keywords = def.keywords.map(k => k.toLowerCase());
478
+ const govText = governance.map((c) => `${c.domain || ''} ${c.description || ''}`).join(' ').toLowerCase();
479
+ const matched = keywords.some(k => govText.includes(k));
480
+ if (matched)
481
+ return true;
482
+ }
483
+ }
484
+ catch { /* NanoMind unavailable, fall through */ }
485
+ // Tier 2+3: LLM fallback for ambiguous cases
466
486
  const prompt = `Does the following AI agent governance text address the control "${def.name}" (${def.id})? This control checks for: ${def.keywords.slice(0, 3).join(', ')}. Answer with YES or NO only.\n\n---\n${content.slice(0, 3000)}\n---`;
467
487
  // Try claude CLI first
468
488
  try {