claude-memory-layer 2.4.4 → 2.4.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.
- package/dist/cli/index.js +2 -2
- package/dist/core/index.js +1 -1
- package/dist/hooks/codex-session-import-worker.js +1 -1
- package/dist/hooks/codex-session-start.js +4 -4
- package/dist/hooks/codex-session-start.js.map +2 -2
- package/dist/hooks/codex-user-prompt-submit.js +9 -6
- package/dist/hooks/codex-user-prompt-submit.js.map +2 -2
- package/dist/hooks/post-tool-use.js +1 -1
- package/dist/hooks/semantic-daemon.js +1 -1
- package/dist/hooks/session-end.js +1 -1
- package/dist/hooks/session-start.js +4 -4
- package/dist/hooks/session-start.js.map +2 -2
- package/dist/hooks/stop.js +1 -1
- package/dist/hooks/user-prompt-submit.js +9 -6
- package/dist/hooks/user-prompt-submit.js.map +2 -2
- package/dist/index.js +1 -1
- package/dist/mcp/index.js +170 -167
- package/dist/mcp/index.js.map +3 -3
- package/dist/server/api/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/services/lesson-host-service.js +8 -5
- package/dist/services/lesson-host-service.js.map +2 -2
- package/dist/services/memory-service.js +1 -1
- package/package.json +2 -2
- package/scripts/postinstall-embedding-backend.cjs +1 -1
- package/.env.example +0 -7
|
@@ -260,7 +260,7 @@ function emptyLatencyAggregate() {
|
|
|
260
260
|
return { count: 0, failedCount: 0, totalMs: 0, maxMs: 0 };
|
|
261
261
|
}
|
|
262
262
|
function runtimeVersion() {
|
|
263
|
-
const value = "2.4.
|
|
263
|
+
const value = "2.4.6"?.trim();
|
|
264
264
|
return sanitizeRuntimeVersion(value || "development");
|
|
265
265
|
}
|
|
266
266
|
function sanitizeRuntimeVersion(value) {
|
|
@@ -20172,10 +20172,12 @@ function isExplicitlyProhibitedLessonQuery(query) {
|
|
|
20172
20172
|
}
|
|
20173
20173
|
function lessonScoringQuery(query) {
|
|
20174
20174
|
const korean = /^(?:도구\s*호출|파일\s*(?:수정|변경))(?:(?:\s*[/·,]\s*|\s*(?:및|와|과)\s*)(?:도구\s*호출|파일\s*(?:수정|변경)))*(?:은|는|을|를)?\s*(?:하지\s*마(?:세요|십시오|라)|금지)$/u;
|
|
20175
|
+
const readOnly = /^(?:읽기\s*전용으로\s*확인하고\s*)?(?:파일(?:\s*(?:수정|변경))?|설치|교훈\s*저장)(?:(?:\s*[/·,]\s*|\s*(?:및|와|과)\s*)(?:파일(?:\s*(?:수정|변경))?|설치|교훈\s*저장))*(?:은|는|을|를)?\s*하지\s*마(?:세요|십시오|라)$/u;
|
|
20176
|
+
const privateOutput = /^(?:인증정보|(?:대화\s*)?로그\s*전체)(?:(?:\s*[/·,]\s*|\s*(?:나|이나|및|와|과)\s*)(?:인증정보|(?:대화\s*)?로그\s*전체))*(?:은|는|을|를)?\s*출력하지\s*마(?:세요|십시오|라)$/u;
|
|
20175
20177
|
const english = /^(?:please\s+)?(?:do[ -]+not|don't|never)\s+(?:(?:call|use|invoke)\s+tools|(?:edit|modify|change)\s+files)(?:\s+(?:or|and)\s+(?:(?:call|use|invoke)\s+tools|(?:edit|modify|change)\s+files))*$/iu;
|
|
20176
20178
|
return query.split(/(?<=[.!?;])(?=\s)|[\r\n]+/u).filter((clause) => {
|
|
20177
20179
|
const statement = clause.trim().replace(/[.!?;]$/, "").trim();
|
|
20178
|
-
return !korean.test(statement) && !english.test(statement);
|
|
20180
|
+
return !korean.test(statement) && !english.test(statement) && !readOnly.test(statement) && !privateOutput.test(statement);
|
|
20179
20181
|
}).join(" ");
|
|
20180
20182
|
}
|
|
20181
20183
|
var lessonSymbolTokens = (value) => value.match(/\b[A-Za-z][A-Za-z0-9_$]*(?:[./:-][A-Za-z0-9_$]+)*/g) ?? [];
|
|
@@ -20194,10 +20196,11 @@ function scoreLessonEvidence(query, lesson) {
|
|
|
20194
20196
|
if (queriedSymbols.some((symbol) => !contentSymbols.has(symbol))) return null;
|
|
20195
20197
|
const exactSubject = hasExactLessonSubject(query, lesson);
|
|
20196
20198
|
if (!exactSubject && !hasQueryMemoryAlignment(query, content, 2)) return null;
|
|
20197
|
-
const
|
|
20198
|
-
const
|
|
20199
|
+
const lessonTerms = (value) => [...new Set(meaningfulTerms(value).map((term) => term === "\uBC84\uC804" || term === "versions" ? "version" : term))];
|
|
20200
|
+
const queryTerms2 = lessonTerms(query);
|
|
20201
|
+
const contentTerms = new Set(lessonTerms(content));
|
|
20199
20202
|
const overlap = queryTerms2.filter((term) => contentTerms.has(term)).length;
|
|
20200
|
-
if (!exactSubject && overlap < Math.min(3, queryTerms2.length)) return null;
|
|
20203
|
+
if (!exactSubject && (queryTerms2.length === 0 || overlap < Math.min(3, queryTerms2.length))) return null;
|
|
20201
20204
|
const coverage = exactSubject ? 1 : overlap / Math.max(1, Math.min(queryTerms2.length, 8));
|
|
20202
20205
|
const anchors = identifierAnchors(query);
|
|
20203
20206
|
const lowered = content.toLowerCase();
|
|
@@ -20926,7 +20929,7 @@ async function main(options = {}) {
|
|
|
20926
20929
|
triggerType: "user_prompt",
|
|
20927
20930
|
deliveryClient,
|
|
20928
20931
|
requestId: retrievalRequestId,
|
|
20929
|
-
runtimeVersion: "2.4.
|
|
20932
|
+
runtimeVersion: "2.4.6",
|
|
20930
20933
|
outcomeDiagnostics
|
|
20931
20934
|
});
|
|
20932
20935
|
} catch {
|