@futdevpro/fdp-agent-memory 1.1.21 → 1.1.112

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 (89) hide show
  1. package/build/package.json +2 -2
  2. package/build/src/_cli/_commands/find-duplicates.command.js +41 -16
  3. package/build/src/_cli/_commands/scan-projects.command.js +113 -113
  4. package/build/src/_cli/_commands/scan.command.js +2 -0
  5. package/build/src/_cli/_commands/serve.command.js +110 -10
  6. package/build/src/_cli/_services/fam-client.service.js +25 -1
  7. package/build/src/_cli/register-commands.js +28 -0
  8. package/build/src/_collections/config-catalog.const.js +152 -33
  9. package/build/src/_collections/error-codes.const.js +2 -0
  10. package/build/src/_collections/fam-console.util.js +38 -260
  11. package/build/src/_collections/fam-db-models.const.js +2 -0
  12. package/build/src/_collections/fam-entry-bootstrap.util.js +20 -6
  13. package/build/src/_collections/fam-error-context.util.js +1 -0
  14. package/build/src/_collections/fam-mcp-bridge.util.js +15 -1
  15. package/build/src/_collections/fam-operation-queue.service.js +85 -0
  16. package/build/src/_collections/fam-project-discovery.util.js +148 -0
  17. package/build/src/_collections/fam-request-origin.util.js +41 -0
  18. package/build/src/_collections/fam-retry.util.js +48 -0
  19. package/build/src/_collections/fam-scan-progress-sink.service.js +26 -0
  20. package/build/src/_collections/title.const.js +26 -26
  21. package/build/src/_enums/fam-rule-scope.type-enum.js +25 -0
  22. package/build/src/_models/data-models/fam-entry.data-model.js +29 -0
  23. package/build/src/_models/data-models/fam-memory.data-model.js +5 -0
  24. package/build/src/_models/data-models/fam-rules.data-model.js +24 -0
  25. package/build/src/_models/data-models/fam-scan-job.data-model.js +73 -0
  26. package/build/src/_models/data-models/fam-scope.data-model.js +9 -0
  27. package/build/src/_modules/capture/_services/fam-auto-capture.control-service.js +1 -1
  28. package/build/src/_modules/embedding/_services/fam-dedup-warn.control-service.js +40 -0
  29. package/build/src/_modules/embedding/_services/fam-duplicate-scan.control-service.js +74 -16
  30. package/build/src/_modules/embedding/_services/fam-embedding-bootstrap.control-service.js +50 -0
  31. package/build/src/_modules/embedding/_services/fam-embedding-pipeline.control-service.js +32 -6
  32. package/build/src/_modules/embedding/_services/fam-embedding.control-service.js +142 -9
  33. package/build/src/_modules/embedding/_services/fam-entry.data-service.js +32 -1
  34. package/build/src/_modules/embedding/_services/fam-hydration-coordinator.control-service.js +159 -0
  35. package/build/src/_modules/embedding/_services/fam-lmstudio-embedding.provider.js +41 -4
  36. package/build/src/_modules/embedding/_services/fam-vector-search.control-service.js +67 -12
  37. package/build/src/_modules/embedding/index.js +5 -1
  38. package/build/src/_modules/ingest/_collections/fam-file-routing.util.js +10 -0
  39. package/build/src/_modules/ingest/_collections/fam-frontmatter.util.js +134 -0
  40. package/build/src/_modules/ingest/_collections/fam-project-identity.util.js +30 -0
  41. package/build/src/_modules/ingest/_collections/fam-scan-progress.util.js +5 -2
  42. package/build/src/_modules/ingest/_collections/fam-scan-summary.util.js +55 -29
  43. package/build/src/_modules/ingest/_collections/fam-split-chunker.util.js +139 -0
  44. package/build/src/_modules/ingest/_models/interfaces/fam-scan-job.interface.js +2 -0
  45. package/build/src/_modules/ingest/_services/fam-chunker.control-service.js +10 -0
  46. package/build/src/_modules/ingest/_services/fam-delta-compare.util.js +68 -1
  47. package/build/src/_modules/ingest/_services/fam-ingest-run.data-service.js +1 -1
  48. package/build/src/_modules/ingest/_services/fam-ingest.control-service.js +177 -37
  49. package/build/src/_modules/ingest/_services/fam-scan-job.control-service.js +429 -0
  50. package/build/src/_modules/ingest/_services/fam-scan-job.data-service.js +34 -0
  51. package/build/src/_modules/ingest/_services/fam-scan.control-service.js +6 -4
  52. package/build/src/_modules/ingest/index.js +6 -1
  53. package/build/src/_modules/mcp/_collections/fam-core-tools.const.js +1 -1
  54. package/build/src/_modules/mcp/_services/fam-capability-registry.service.js +264 -41
  55. package/build/src/_modules/mcp/_services/fam-read-tool.service.js +71 -1
  56. package/build/src/_modules/mcp/_services/fam-write-tool.service.js +36 -0
  57. package/build/src/_modules/migration/_services/fam-claude-mem-import.control-service.js +1 -1
  58. package/build/src/_modules/retrieval/_collections/fam-lexical-match.util.js +69 -0
  59. package/build/src/_modules/retrieval/_collections/fam-memory-activation.util.js +66 -0
  60. package/build/src/_modules/retrieval/_collections/fam-rule-injection.util.js +125 -0
  61. package/build/src/_modules/retrieval/_collections/fam-rule-propagation.util.js +95 -0
  62. package/build/src/_modules/retrieval/_collections/fam-rule-scope-context.util.js +74 -0
  63. package/build/src/_modules/retrieval/_services/fam-global-rule.control-service.js +82 -0
  64. package/build/src/_modules/retrieval/_services/fam-memory-cold-search.control-service.js +121 -0
  65. package/build/src/_modules/retrieval/_services/fam-memory-dormancy.control-service.js +99 -0
  66. package/build/src/_modules/retrieval/_services/fam-memory-reactivation.control-service.js +68 -0
  67. package/build/src/_modules/retrieval/_services/fam-retrieval-candidate.data-service.js +15 -2
  68. package/build/src/_modules/retrieval/_services/fam-retrieval.control-service.js +197 -5
  69. package/build/src/_modules/retrieval/_services/fam-rule-injection.control-service.js +102 -0
  70. package/build/src/_modules/retrieval/index.js +12 -1
  71. package/build/src/_modules/scope-reference/_collections/fam-scope-maintenance.util.js +134 -0
  72. package/build/src/_modules/scope-reference/_services/fam-scope-maintenance.control-service.js +423 -0
  73. package/build/src/_modules/scope-reference/_services/fam-scope-resolver.control-service.js +2 -2
  74. package/build/src/_modules/scope-reference/_services/fam-scope.data-service.js +25 -0
  75. package/build/src/_modules/scope-reference/index.js +4 -1
  76. package/build/src/_routes/server/api/api.controller.js +324 -23
  77. package/build/src/_routes/server/api/fam-doctor.control-service.js +156 -0
  78. package/build/src/_routes/server/config/config.control-service.js +2 -2
  79. package/build/src/app.server.js +29 -27
  80. package/client-dist/{chunk-YXHWCJ5O.js → chunk-GF3FJP7E.js} +71 -71
  81. package/client-dist/chunk-NMUCMQY6.js +1 -0
  82. package/client-dist/favicon.ico +0 -0
  83. package/client-dist/index.html +3 -3
  84. package/client-dist/main-YK4YIVAQ.js +2 -0
  85. package/package.json +2 -2
  86. package/build/src/_cli/_collections/fam-project-discovery.util.js +0 -98
  87. package/build/src/_collections/fam-heap-guard.control-service.js +0 -176
  88. package/client-dist/chunk-I77GXVAQ.js +0 -1
  89. package/client-dist/main-PJPEDVJT.js +0 -2
@@ -12,8 +12,6 @@ const errors_controller_1 = require("./_routes/server/errors/errors.controller")
12
12
  const errors_control_service_1 = require("./_routes/server/errors/errors.control-service");
13
13
  const server_status_controller_1 = require("./_routes/server/server-status/server-status.controller");
14
14
  const embedding_1 = require("./_modules/embedding");
15
- const config_control_service_1 = require("./_routes/server/config/config.control-service");
16
- const fam_heap_guard_control_service_1 = require("./_collections/fam-heap-guard.control-service");
17
15
  const environment_1 = require("./environments/environment");
18
16
  const title_const_1 = require("./_collections/title.const");
19
17
  /**
@@ -54,6 +52,33 @@ class App extends nts_dynamo_1.DyNTS_App {
54
52
  // lokális) lekérdezhetővé teszi → az agent IS olvashatja REST-en (nem csak a tmp-fájlból). Install + enable.
55
53
  nts_dynamo_1.DyNTS_global_settings.log_settings.logs_endpoint = { enabled: true };
56
54
  logs_1.DyNTS_Logs_Service.getInstance().install();
55
+ // OOM-hibakezelés a BEDROCK `DyNTS_MemoryGuard`-ból (a base App auto-installálja a startup-ban). FAM-specifikus
56
+ // hangolás. **LELET (2026-06-22, L6 full-workspace scan):** a GC-fraction-alapú kritikusság ÖNMAGÁBAN
57
+ // FALSE-POSITIVE a bulk-embedding alatt — a guard 33–43% heap-nél (5–7 GB / 16 GB, rengeteg szabad) lőtt ki,
58
+ // mert a tömeges embedding természetes throughput-churn-je GC-fraction 100%-ra ugratja. Ez NEM OOM-precursor:
59
+ // a GC-thrash CSAK a heap-plafon közelében (~≥85%) valódi OOM-jel (akkor nem tud felszabadítani). 43% heap-en a
60
+ // V8-nak 9+ GB tartaléka van. Az `exitOnSustainedCritical` ezért egészséges szervert ölt → ~100s rehidratálás
61
+ // (most 248k vektor) → a scan-CLI a holt-ablakban projekteket veszít (L6: 36/49 „szerver-down"). **JAVÍTÁS:** a
62
+ // GC-fraction-küszöböt ELÉRHETETLENRE tesszük (`gcCriticalFraction: 1.01`, `gcWarningFraction: 0.95`) → a guard a
63
+ // HEAP-%-ra támaszkodik (heap-warn 80 / heap-crit 90), aminek itt hatalmas tartaléka van (43% csúcs). A valódi
64
+ // heap-OOM-védelem + graceful-exit(137) MEGMARAD (csak genuine heap≥90%-nál lép ki, a kriptikus 134 helyett),
65
+ // de a scan-embedding GC-thrash-ét IGNORÁLJA. **TODO (bedrock, futás után):** a GC-kritikusságot heap-%-hez
66
+ // KÖTNI (`gcCriticalMinHeapPct`, pl. ≥75%) — akkor a GC-jel újra bekapcsolható, mert csak a plafon közelében hat.
67
+ nts_dynamo_1.DyNTS_global_settings.memoryGuard = {
68
+ enabled: true,
69
+ pollIntervalMs: 3000,
70
+ heapWarningThreshold: 80,
71
+ heapCriticalThreshold: 90,
72
+ recoveryMargin: 10,
73
+ maxHistoryCount: 100,
74
+ gcWarningFraction: 0.95,
75
+ gcCriticalFraction: 1.01,
76
+ installCrashHandlers: true,
77
+ exitOnSustainedCritical: true,
78
+ sustainedCriticalPolls: 3,
79
+ exitCode: 137,
80
+ bootGraceMs: 120000,
81
+ };
57
82
  }
58
83
  getGlobalServiceCollection() {
59
84
  return {
@@ -119,34 +144,11 @@ class App extends nts_dynamo_1.DyNTS_App {
119
144
  * át, amit a write/scan path (MP-4/MP-5) hív mentés után. Lásd a `_modules/embedding` modul-doksit.
120
145
  */
121
146
  async postProcess() {
122
- // Heap-guard (OOM-hibakezelés) a DB/config UTÁN, a (memória-igényes) pool-hidratálás ELŐTT telepítve, hogy
123
- // a boot-növekedést is figyelje. A küszöbök a config-ból (memory.*), majd crash-handler + watchdog. Best-effort.
124
- await this.installHeapGuard();
147
+ // Az OOM-hibakezelést (DyNTS_MemoryGuard) a base App auto-installálja a startup-ban, a FAM-hangolással
148
+ // (overrideDynamoNTSGlobalSettings DyNTS_global_settings.memoryGuard) itt nincs külön teendő.
125
149
  await embedding_1.FAM_EmbeddingBootstrap_ControlService.getInstance().boot();
126
150
  fsm_dynamo_1.DyFM_Log.S_info(`UI is available at: localhost:${environment_1.env.httpPort}/api/app`);
127
151
  }
128
- /** A heap-guard küszöbeinek beolvasása a config-ból + telepítés. A config-hiba NEM buktatja a bootot (default-ok). */
129
- async installHeapGuard() {
130
- try {
131
- const config = config_control_service_1.FAM_Config_ControlService.getInstance();
132
- const num = async (key) => {
133
- const resolved = await config.resolve(key, {});
134
- return typeof resolved.value === 'number' ? resolved.value : undefined;
135
- };
136
- const enabledResolved = await config.resolve('memory.guardEnabled', {});
137
- fam_heap_guard_control_service_1.FAM_HeapGuard_ControlService.getInstance().configure({
138
- enabled: typeof enabledResolved.value === 'boolean' ? enabledResolved.value : undefined,
139
- warnRatio: await num('memory.warnRatio'),
140
- shedRatio: await num('memory.shedRatio'),
141
- exitRatio: await num('memory.exitRatio'),
142
- pollMs: await num('memory.pollMs'),
143
- });
144
- }
145
- catch (error) {
146
- fsm_dynamo_1.DyFM_Log.warn(`[heap-guard] config-olvasás sikertelen, default küszöbök: ${error?.message}`);
147
- }
148
- fam_heap_guard_control_service_1.FAM_HeapGuard_ControlService.getInstance().install();
149
- }
150
152
  getGlobalErrorHandler() {
151
153
  return async (err, req, res, issuer) => {
152
154
  // No-silent-failure (dsgn-008): minden hibát persistálunk a `fam_errors` tárba a