@timmeck/brain-core 2.36.63 → 2.36.65

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 (41) hide show
  1. package/command-center.html +59 -2
  2. package/dist/action/handlers/index.d.ts +2 -0
  3. package/dist/action/handlers/index.js +1 -0
  4. package/dist/action/handlers/index.js.map +1 -1
  5. package/dist/action/handlers/mission-handler.d.ts +17 -0
  6. package/dist/action/handlers/mission-handler.js +49 -0
  7. package/dist/action/handlers/mission-handler.js.map +1 -0
  8. package/dist/action/index.d.ts +2 -2
  9. package/dist/action/index.js +1 -1
  10. package/dist/action/index.js.map +1 -1
  11. package/dist/dashboard/command-center-server.d.ts +1 -0
  12. package/dist/dashboard/command-center-server.js +13 -1
  13. package/dist/dashboard/command-center-server.js.map +1 -1
  14. package/dist/governance/engine-registry.d.ts +61 -0
  15. package/dist/governance/engine-registry.js +301 -0
  16. package/dist/governance/engine-registry.js.map +1 -0
  17. package/dist/governance/governance-layer.d.ts +75 -0
  18. package/dist/governance/governance-layer.js +231 -0
  19. package/dist/governance/governance-layer.js.map +1 -0
  20. package/dist/governance/index.d.ts +8 -0
  21. package/dist/governance/index.js +5 -0
  22. package/dist/governance/index.js.map +1 -0
  23. package/dist/governance/loop-detector.d.ts +46 -0
  24. package/dist/governance/loop-detector.js +266 -0
  25. package/dist/governance/loop-detector.js.map +1 -0
  26. package/dist/governance/runtime-influence-tracker.d.ts +50 -0
  27. package/dist/governance/runtime-influence-tracker.js +163 -0
  28. package/dist/governance/runtime-influence-tracker.js.map +1 -0
  29. package/dist/index.d.ts +9 -1
  30. package/dist/index.js +6 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/metacognition/evolution-engine.d.ts +3 -0
  33. package/dist/metacognition/evolution-engine.js +25 -1
  34. package/dist/metacognition/evolution-engine.js.map +1 -1
  35. package/dist/narrative/narrative-engine.d.ts +4 -0
  36. package/dist/narrative/narrative-engine.js +17 -0
  37. package/dist/narrative/narrative-engine.js.map +1 -1
  38. package/dist/research/research-orchestrator.d.ts +12 -0
  39. package/dist/research/research-orchestrator.js +124 -5
  40. package/dist/research/research-orchestrator.js.map +1 -1
  41. package/package.json +1 -1
@@ -345,6 +345,28 @@ canvas{display:block;width:100%;height:100%}
345
345
  </div>
346
346
  </div>
347
347
 
348
+ <!-- Governance -->
349
+ <div class="section">
350
+ <div class="section-title"><span class="icon">&#x2696;</span> Engine Governance</div>
351
+ <div class="card" id="governanceCard">
352
+ <div class="grid grid-3" style="text-align:center">
353
+ <div>
354
+ <div style="font-size:11px;color:var(--text-dim)">Engines</div>
355
+ <div id="govEngineCount" style="font-size:18px;font-weight:700">--</div>
356
+ </div>
357
+ <div>
358
+ <div style="font-size:11px;color:var(--text-dim)">Active Loops</div>
359
+ <div id="govLoopCount" style="font-size:18px;font-weight:700;color:var(--success)">--</div>
360
+ </div>
361
+ <div>
362
+ <div style="font-size:11px;color:var(--text-dim)">Gov Actions</div>
363
+ <div id="govActionCount" style="font-size:18px;font-weight:700">--</div>
364
+ </div>
365
+ </div>
366
+ <div id="govDetails" style="margin-top:8px;font-size:12px;color:var(--text-dim)"></div>
367
+ </div>
368
+ </div>
369
+
348
370
  <!-- Error Log -->
349
371
  <div class="section">
350
372
  <div class="section-title"><span class="icon">&#x26A0;</span> <span data-t="Letzte Fehler & Warnungen">Letzte Fehler & Warnungen</span> <span id="errorCount" style="color:var(--text-dim);font-weight:400;font-size:12px"></span></div>
@@ -870,7 +892,8 @@ const state = {
870
892
  llm:null, thoughts:[], connected:false, lastThoughtTime:0,
871
893
  errors:null, selfmod:null, missions:null, knowledge:null, debates:null,
872
894
  emotional:null, attention:null,
873
- desires:null, teaching:null, calibration:null
895
+ desires:null, teaching:null, calibration:null,
896
+ governance:null
874
897
  };
875
898
 
876
899
  // ── i18n ──────────────────────────────────────────────────
@@ -1060,6 +1083,7 @@ function connectSSE() {
1060
1083
  es.addEventListener('desires', e => { state.desires = JSON.parse(e.data); renderDesires(); });
1061
1084
  es.addEventListener('teaching', e => { state.teaching = JSON.parse(e.data); renderTeaching(); });
1062
1085
  es.addEventListener('calibration', e => { state.calibration = JSON.parse(e.data); renderCalibration(); });
1086
+ es.addEventListener('governance', e => { state.governance = JSON.parse(e.data); renderGovernance(); });
1063
1087
  es.onerror = () => { state.connected = false; updateConnection(); };
1064
1088
  }
1065
1089
 
@@ -1086,12 +1110,13 @@ async function loadInitial() {
1086
1110
  state.desires = data.desires;
1087
1111
  state.teaching = data.teaching;
1088
1112
  state.calibration = data.calibration;
1113
+ state.governance = data.governance;
1089
1114
  if (data.thoughts) { state.thoughts = data.thoughts; renderThoughts(); }
1090
1115
  renderEcosystem(); renderEngines(); renderWatchdog(); renderPlugins();
1091
1116
  renderBorg(); renderAnalytics(); renderLLM(); renderErrors();
1092
1117
  renderSelfMod(); renderMissions(); renderRepoAbsorber(); renderIntelligence(); renderKnowledge(); renderDebates();
1093
1118
  renderGuardrails(); renderRoadmaps(); renderCreativeInsights(); renderForgeWidgets();
1094
- renderDesires(); renderTeaching(); renderCalibration();
1119
+ renderDesires(); renderTeaching(); renderCalibration(); renderGovernance();
1095
1120
  } catch {}
1096
1121
  }
1097
1122
 
@@ -2330,6 +2355,38 @@ function renderCalibration() {
2330
2355
  </div>`;
2331
2356
  }
2332
2357
 
2358
+ // ── Governance ───────────────────────────────────────────
2359
+ function renderGovernance() {
2360
+ const d = state.governance; if (!d) return;
2361
+ const engineEl = document.getElementById('govEngineCount');
2362
+ const loopEl = document.getElementById('govLoopCount');
2363
+ const actionEl = document.getElementById('govActionCount');
2364
+ const detailsEl = document.getElementById('govDetails');
2365
+
2366
+ if (engineEl) engineEl.textContent = String(d.registry?.totalEngines ?? d.engineCount ?? '--');
2367
+ if (loopEl) {
2368
+ const loops = d.loops?.activeDetections ?? d.loopCount ?? 0;
2369
+ loopEl.textContent = String(loops);
2370
+ loopEl.style.color = loops > 0 ? 'var(--orange)' : 'var(--green)';
2371
+ }
2372
+ if (actionEl) actionEl.textContent = String(d.actions?.activeActions ?? d.actionCount ?? 0);
2373
+
2374
+ if (detailsEl) {
2375
+ const parts = [];
2376
+ if (d.registry?.enabledEngines != null) parts.push(`${d.registry.enabledEngines} enabled`);
2377
+ if (d.actions?.throttledEngines?.length) parts.push(`Throttled: ${d.actions.throttledEngines.join(', ')}`);
2378
+ if (d.actions?.isolatedEngines?.length) parts.push(`<span style="color:var(--red)">Isolated: ${d.actions.isolatedEngines.join(', ')}</span>`);
2379
+ if (d.loops?.recentDetections?.length) {
2380
+ const recent = d.loops.recentDetections.slice(0, 3);
2381
+ for (const loop of recent) {
2382
+ const sevCol = loop.severity === 'critical' ? 'var(--red)' : loop.severity === 'high' ? 'var(--orange)' : 'var(--yellow)';
2383
+ parts.push(`<span style="color:${sevCol}">${loop.loopType}: ${loop.enginesInvolved || loop.engines_involved || '?'}</span>`);
2384
+ }
2385
+ }
2386
+ detailsEl.innerHTML = parts.join(' · ');
2387
+ }
2388
+ }
2389
+
2333
2390
  // ── Chat ──────────────────────────────────────────────────
2334
2391
  const chatSessionId = 'dashboard-' + Date.now().toString(36);
2335
2392
  function toggleChat() {
@@ -6,3 +6,5 @@ export { createCreativeSeedHandler } from './creative-seed-handler.js';
6
6
  export type { CreativeSeedPayload, CreativeSeedHandlerDeps, CreativeSeedHandlerResult } from './creative-seed-handler.js';
7
7
  export { createAdjustParameterHandler } from './adjust-parameter-handler.js';
8
8
  export type { AdjustParameterPayload, AdjustParameterHandlerDeps, AdjustParameterHandlerResult } from './adjust-parameter-handler.js';
9
+ export { createMissionHandler } from './mission-handler.js';
10
+ export type { MissionHandlerDeps, MissionHandlerResult } from './mission-handler.js';
@@ -2,4 +2,5 @@ export { createTradeHandler } from './trade-handler.js';
2
2
  export { createContentHandler } from './content-handler.js';
3
3
  export { createCreativeSeedHandler } from './creative-seed-handler.js';
4
4
  export { createAdjustParameterHandler } from './adjust-parameter-handler.js';
5
+ export { createMissionHandler } from './mission-handler.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface MissionHandlerDeps {
2
+ createMission: (topic: string, mode: string) => {
3
+ id?: number;
4
+ topic: string;
5
+ status: string;
6
+ };
7
+ }
8
+ export interface MissionHandlerResult {
9
+ started: boolean;
10
+ topic: string;
11
+ missionId: number | null;
12
+ }
13
+ /**
14
+ * Creates an ActionBridge handler for `start_mission` actions.
15
+ * Translates ContradictionResolver desires into MissionEngine missions.
16
+ */
17
+ export declare function createMissionHandler(deps: MissionHandlerDeps): (payload: Record<string, unknown>) => Promise<MissionHandlerResult>;
@@ -0,0 +1,49 @@
1
+ import { getLogger } from '../../utils/logger.js';
2
+ // ── Handler Factory ──────────────────────────────────────────
3
+ const log = getLogger();
4
+ /**
5
+ * Creates an ActionBridge handler for `start_mission` actions.
6
+ * Translates ContradictionResolver desires into MissionEngine missions.
7
+ */
8
+ export function createMissionHandler(deps) {
9
+ return async (payload) => {
10
+ const desireKey = payload.desireKey ?? '';
11
+ const description = payload.description ?? '';
12
+ // Extract topic from desireKey (e.g. "contradiction_hypothesis_vs_a" → "hypothesis vs a")
13
+ let topic = desireKey
14
+ .replace(/^contradiction_/, '')
15
+ .replace(/_/g, ' ');
16
+ // Fallback: extract from description using "X" vs "Y" pattern
17
+ if (topic.length < 3 || topic === desireKey) {
18
+ const match = description.match(/"([^"]+)"\s*vs\s*"([^"]+)"/);
19
+ if (match) {
20
+ topic = `${match[1]} vs ${match[2]}`;
21
+ }
22
+ else if (description.length > 0) {
23
+ topic = description.substring(0, 80);
24
+ }
25
+ else {
26
+ topic = 'general research';
27
+ }
28
+ }
29
+ log.info(`[mission-handler] Starting mission for topic="${topic}" (desireKey=${desireKey})`);
30
+ try {
31
+ const mission = deps.createMission(topic, 'quick');
32
+ log.info(`[mission-handler] Mission #${mission.id ?? 0} started: "${topic}"`);
33
+ return {
34
+ started: true,
35
+ topic,
36
+ missionId: mission.id ?? null,
37
+ };
38
+ }
39
+ catch (err) {
40
+ log.warn(`[mission-handler] Failed to start mission: ${err.message}`);
41
+ return {
42
+ started: false,
43
+ topic,
44
+ missionId: null,
45
+ };
46
+ }
47
+ };
48
+ }
49
+ //# sourceMappingURL=mission-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-handler.js","sourceRoot":"","sources":["../../../src/action/handlers/mission-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAclD,gEAAgE;AAEhE,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC3D,OAAO,KAAK,EAAE,OAAgC,EAAiC,EAAE;QAC/E,MAAM,SAAS,GAAI,OAAO,CAAC,SAAoB,IAAI,EAAE,CAAC;QACtD,MAAM,WAAW,GAAI,OAAO,CAAC,WAAsB,IAAI,EAAE,CAAC;QAE1D,0FAA0F;QAC1F,IAAI,KAAK,GAAG,SAAS;aAClB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEtB,8DAA8D;QAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,kBAAkB,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,iDAAiD,KAAK,gBAAgB,SAAS,GAAG,CAAC,CAAC;QAE7F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC;YAE9E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK;gBACL,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { ActionBridgeEngine, runActionBridgeMigration } from './action-bridge.js';
2
2
  export type { ProposedAction, ActionOutcome, ActionBridgeConfig, ActionBridgeStatus, } from './action-bridge.js';
3
- export { createTradeHandler, createContentHandler, createCreativeSeedHandler, createAdjustParameterHandler } from './handlers/index.js';
4
- export type { TradeActionPayload, TradeHandlerDeps, TradeHandlerResult, ContentHandlerDeps, ContentHandlerResult, CreativeSeedPayload, CreativeSeedHandlerDeps, CreativeSeedHandlerResult, AdjustParameterPayload, AdjustParameterHandlerDeps, AdjustParameterHandlerResult, } from './handlers/index.js';
3
+ export { createTradeHandler, createContentHandler, createCreativeSeedHandler, createAdjustParameterHandler, createMissionHandler } from './handlers/index.js';
4
+ export type { TradeActionPayload, TradeHandlerDeps, TradeHandlerResult, ContentHandlerDeps, ContentHandlerResult, CreativeSeedPayload, CreativeSeedHandlerDeps, CreativeSeedHandlerResult, AdjustParameterPayload, AdjustParameterHandlerDeps, AdjustParameterHandlerResult, MissionHandlerDeps, MissionHandlerResult, } from './handlers/index.js';
@@ -1,3 +1,3 @@
1
1
  export { ActionBridgeEngine, runActionBridgeMigration } from './action-bridge.js';
2
- export { createTradeHandler, createContentHandler, createCreativeSeedHandler, createAdjustParameterHandler } from './handlers/index.js';
2
+ export { createTradeHandler, createContentHandler, createCreativeSeedHandler, createAdjustParameterHandler, createMissionHandler } from './handlers/index.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAMlF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAMlF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -45,6 +45,7 @@ export interface CommandCenterOptions {
45
45
  getTeachingStatus?: () => unknown;
46
46
  getTeachingHistory?: (limit?: number) => unknown;
47
47
  getCalibrationStatus?: () => unknown;
48
+ getGovernanceStatus?: () => unknown;
48
49
  chatMessage?: (sessionId: string, content: string) => Promise<unknown>;
49
50
  chatHistory?: (sessionId: string) => unknown;
50
51
  chatStatus?: () => unknown;
@@ -408,6 +408,17 @@ export class CommandCenterServer {
408
408
  }
409
409
  catch { /* ignore */ }
410
410
  }, 30_000));
411
+ // Governance (30s)
412
+ this.timers.push(setInterval(() => {
413
+ if (this.clients.size === 0)
414
+ return;
415
+ if (!this.options.getGovernanceStatus)
416
+ return;
417
+ try {
418
+ this.broadcast('governance', this.options.getGovernanceStatus());
419
+ }
420
+ catch { /* ignore */ }
421
+ }, 30_000));
411
422
  // Heartbeat (30s)
412
423
  this.timers.push(setInterval(() => {
413
424
  if (this.clients.size > 0) {
@@ -515,7 +526,8 @@ export class CommandCenterServer {
515
526
  history: this.options.getTeachingHistory?.(20) ?? [],
516
527
  } : null;
517
528
  const calibration = this.options.getCalibrationStatus?.() ?? null;
518
- this.json(res, { ecosystem, engines: engineResults, watchdog, plugins, borg, analytics, llm, thoughts, errors, selfmod, missions, knowledge, debates, intelligence, repoAbsorber, emotional, guardrailHealth, roadmaps, creativeInsights, desires, teaching, calibration });
529
+ const governance = this.options.getGovernanceStatus?.() ?? null;
530
+ this.json(res, { ecosystem, engines: engineResults, watchdog, plugins, borg, analytics, llm, thoughts, errors, selfmod, missions, knowledge, debates, intelligence, repoAbsorber, emotional, guardrailHealth, roadmaps, creativeInsights, desires, teaching, calibration, governance });
519
531
  }
520
532
  catch (err) {
521
533
  this.json(res, { error: err.message }, 500);
@@ -1 +1 @@
1
- {"version":3,"file":"command-center-server.js","sourceRoot":"","sources":["../../src/dashboard/command-center-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-center-server.js","sourceRoot":"","sources":["../../src/dashboard/command-center-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * EngineRegistry — Declarative engine profiles with dependency tracking.
3
+ * Each engine gets a formal profile: reads, writes, emits, subscribes, risk, invariants.
4
+ */
5
+ import type Database from 'better-sqlite3';
6
+ export interface EngineProfile {
7
+ id: string;
8
+ reads: string[];
9
+ writes: string[];
10
+ emits: string[];
11
+ subscribes: string[];
12
+ frequency: 'every_cycle' | 'every_N' | 'on_demand';
13
+ frequencyN: number;
14
+ riskClass: 'low' | 'medium' | 'high';
15
+ expectedEffects: string[];
16
+ invariants: string[];
17
+ enabled: boolean;
18
+ }
19
+ export interface EngineRegistryStatus {
20
+ totalEngines: number;
21
+ enabledEngines: number;
22
+ disabledEngines: number;
23
+ riskDistribution: Record<string, number>;
24
+ dependencyEdges: number;
25
+ }
26
+ export declare function runEngineRegistryMigration(db: Database.Database): void;
27
+ export declare class EngineRegistry {
28
+ private db;
29
+ private cache;
30
+ private log;
31
+ constructor(db: Database.Database);
32
+ /** Register or update an engine profile. */
33
+ register(profile: EngineProfile): void;
34
+ /** Get a single engine profile. */
35
+ get(id: string): EngineProfile | undefined;
36
+ /** List all registered engine profiles. */
37
+ list(): EngineProfile[];
38
+ /** List only enabled engine profiles. */
39
+ listEnabled(): EngineProfile[];
40
+ /**
41
+ * Build a dependency graph: engine → engines it depends on.
42
+ * Engine A depends on Engine B if A.reads intersects B.writes.
43
+ */
44
+ getDependencyGraph(): Map<string, string[]>;
45
+ /** Get reverse dependencies: engine → engines that depend on it. */
46
+ getReverseDependencyGraph(): Map<string, string[]>;
47
+ /** Enable an engine. */
48
+ enable(id: string): void;
49
+ /** Disable an engine. */
50
+ disable(id: string): void;
51
+ /** Get overall status. */
52
+ getStatus(): EngineRegistryStatus;
53
+ /** Find engines by risk class. */
54
+ getByRisk(riskClass: 'low' | 'medium' | 'high'): EngineProfile[];
55
+ /** Find engines that write to a specific resource. */
56
+ findWriters(resource: string): EngineProfile[];
57
+ /** Find engines that read from a specific resource. */
58
+ findReaders(resource: string): EngineProfile[];
59
+ private loadAll;
60
+ }
61
+ export declare function getDefaultEngineProfiles(): EngineProfile[];