@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.
- package/build/package.json +2 -2
- package/build/src/_cli/_commands/find-duplicates.command.js +41 -16
- package/build/src/_cli/_commands/scan-projects.command.js +113 -113
- package/build/src/_cli/_commands/scan.command.js +2 -0
- package/build/src/_cli/_commands/serve.command.js +110 -10
- package/build/src/_cli/_services/fam-client.service.js +25 -1
- package/build/src/_cli/register-commands.js +28 -0
- package/build/src/_collections/config-catalog.const.js +152 -33
- package/build/src/_collections/error-codes.const.js +2 -0
- package/build/src/_collections/fam-console.util.js +38 -260
- package/build/src/_collections/fam-db-models.const.js +2 -0
- package/build/src/_collections/fam-entry-bootstrap.util.js +20 -6
- package/build/src/_collections/fam-error-context.util.js +1 -0
- package/build/src/_collections/fam-mcp-bridge.util.js +15 -1
- package/build/src/_collections/fam-operation-queue.service.js +85 -0
- package/build/src/_collections/fam-project-discovery.util.js +148 -0
- package/build/src/_collections/fam-request-origin.util.js +41 -0
- package/build/src/_collections/fam-retry.util.js +48 -0
- package/build/src/_collections/fam-scan-progress-sink.service.js +26 -0
- package/build/src/_collections/title.const.js +26 -26
- package/build/src/_enums/fam-rule-scope.type-enum.js +25 -0
- package/build/src/_models/data-models/fam-entry.data-model.js +29 -0
- package/build/src/_models/data-models/fam-memory.data-model.js +5 -0
- package/build/src/_models/data-models/fam-rules.data-model.js +24 -0
- package/build/src/_models/data-models/fam-scan-job.data-model.js +73 -0
- package/build/src/_models/data-models/fam-scope.data-model.js +9 -0
- package/build/src/_modules/capture/_services/fam-auto-capture.control-service.js +1 -1
- package/build/src/_modules/embedding/_services/fam-dedup-warn.control-service.js +40 -0
- package/build/src/_modules/embedding/_services/fam-duplicate-scan.control-service.js +74 -16
- package/build/src/_modules/embedding/_services/fam-embedding-bootstrap.control-service.js +50 -0
- package/build/src/_modules/embedding/_services/fam-embedding-pipeline.control-service.js +32 -6
- package/build/src/_modules/embedding/_services/fam-embedding.control-service.js +142 -9
- package/build/src/_modules/embedding/_services/fam-entry.data-service.js +32 -1
- package/build/src/_modules/embedding/_services/fam-hydration-coordinator.control-service.js +159 -0
- package/build/src/_modules/embedding/_services/fam-lmstudio-embedding.provider.js +41 -4
- package/build/src/_modules/embedding/_services/fam-vector-search.control-service.js +67 -12
- package/build/src/_modules/embedding/index.js +5 -1
- package/build/src/_modules/ingest/_collections/fam-file-routing.util.js +10 -0
- package/build/src/_modules/ingest/_collections/fam-frontmatter.util.js +134 -0
- package/build/src/_modules/ingest/_collections/fam-project-identity.util.js +30 -0
- package/build/src/_modules/ingest/_collections/fam-scan-progress.util.js +5 -2
- package/build/src/_modules/ingest/_collections/fam-scan-summary.util.js +55 -29
- package/build/src/_modules/ingest/_collections/fam-split-chunker.util.js +139 -0
- package/build/src/_modules/ingest/_models/interfaces/fam-scan-job.interface.js +2 -0
- package/build/src/_modules/ingest/_services/fam-chunker.control-service.js +10 -0
- package/build/src/_modules/ingest/_services/fam-delta-compare.util.js +68 -1
- package/build/src/_modules/ingest/_services/fam-ingest-run.data-service.js +1 -1
- package/build/src/_modules/ingest/_services/fam-ingest.control-service.js +177 -37
- package/build/src/_modules/ingest/_services/fam-scan-job.control-service.js +429 -0
- package/build/src/_modules/ingest/_services/fam-scan-job.data-service.js +34 -0
- package/build/src/_modules/ingest/_services/fam-scan.control-service.js +6 -4
- package/build/src/_modules/ingest/index.js +6 -1
- package/build/src/_modules/mcp/_collections/fam-core-tools.const.js +1 -1
- package/build/src/_modules/mcp/_services/fam-capability-registry.service.js +264 -41
- package/build/src/_modules/mcp/_services/fam-read-tool.service.js +71 -1
- package/build/src/_modules/mcp/_services/fam-write-tool.service.js +36 -0
- package/build/src/_modules/migration/_services/fam-claude-mem-import.control-service.js +1 -1
- package/build/src/_modules/retrieval/_collections/fam-lexical-match.util.js +69 -0
- package/build/src/_modules/retrieval/_collections/fam-memory-activation.util.js +66 -0
- package/build/src/_modules/retrieval/_collections/fam-rule-injection.util.js +125 -0
- package/build/src/_modules/retrieval/_collections/fam-rule-propagation.util.js +95 -0
- package/build/src/_modules/retrieval/_collections/fam-rule-scope-context.util.js +74 -0
- package/build/src/_modules/retrieval/_services/fam-global-rule.control-service.js +82 -0
- package/build/src/_modules/retrieval/_services/fam-memory-cold-search.control-service.js +121 -0
- package/build/src/_modules/retrieval/_services/fam-memory-dormancy.control-service.js +99 -0
- package/build/src/_modules/retrieval/_services/fam-memory-reactivation.control-service.js +68 -0
- package/build/src/_modules/retrieval/_services/fam-retrieval-candidate.data-service.js +15 -2
- package/build/src/_modules/retrieval/_services/fam-retrieval.control-service.js +197 -5
- package/build/src/_modules/retrieval/_services/fam-rule-injection.control-service.js +102 -0
- package/build/src/_modules/retrieval/index.js +12 -1
- package/build/src/_modules/scope-reference/_collections/fam-scope-maintenance.util.js +134 -0
- package/build/src/_modules/scope-reference/_services/fam-scope-maintenance.control-service.js +423 -0
- package/build/src/_modules/scope-reference/_services/fam-scope-resolver.control-service.js +2 -2
- package/build/src/_modules/scope-reference/_services/fam-scope.data-service.js +25 -0
- package/build/src/_modules/scope-reference/index.js +4 -1
- package/build/src/_routes/server/api/api.controller.js +324 -23
- package/build/src/_routes/server/api/fam-doctor.control-service.js +156 -0
- package/build/src/_routes/server/config/config.control-service.js +2 -2
- package/build/src/app.server.js +29 -27
- package/client-dist/{chunk-YXHWCJ5O.js → chunk-GF3FJP7E.js} +71 -71
- package/client-dist/chunk-NMUCMQY6.js +1 -0
- package/client-dist/favicon.ico +0 -0
- package/client-dist/index.html +3 -3
- package/client-dist/main-YK4YIVAQ.js +2 -0
- package/package.json +2 -2
- package/build/src/_cli/_collections/fam-project-discovery.util.js +0 -98
- package/build/src/_collections/fam-heap-guard.control-service.js +0 -176
- package/client-dist/chunk-I77GXVAQ.js +0 -1
- package/client-dist/main-PJPEDVJT.js +0 -2
package/build/src/app.server.js
CHANGED
|
@@ -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
|
-
//
|
|
123
|
-
//
|
|
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
|