@vheins/local-memory-mcp 0.9.15 → 0.9.17
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/{chunk-67MYUFAJ.js → chunk-M7JX3RQI.js} +99 -62
- package/dist/dashboard/public/assets/{index-IqveMUDr.css → index-CLpwNtkR.css} +1 -1
- package/dist/dashboard/public/assets/{index-RrbRzO3W.js → index-sf-Fpcw9.js} +3 -3
- package/dist/dashboard/public/index.html +2 -2
- package/dist/dashboard/server.js +10 -8
- package/dist/mcp/server.js +23 -9
- package/dist/prompts/task-memory-executor.md +1 -1
- package/package.json +1 -1
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-sf-Fpcw9.js"></script>
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CLpwNtkR.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<div id="app"></div>
|
package/dist/dashboard/server.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
createFileSink,
|
|
11
11
|
listResources,
|
|
12
12
|
logger
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-M7JX3RQI.js";
|
|
14
14
|
|
|
15
15
|
// src/dashboard/server.ts
|
|
16
16
|
import express from "express";
|
|
@@ -531,7 +531,9 @@ var MemoriesController = class {
|
|
|
531
531
|
};
|
|
532
532
|
await db.withWrite(() => {
|
|
533
533
|
db.memories.update(id, updates);
|
|
534
|
-
db.actions.logAction("update", existing.scope?.repo || attributes.repo || "", {
|
|
534
|
+
db.actions.logAction("update", existing.scope?.repo || attributes.repo || "", {
|
|
535
|
+
memoryId: id
|
|
536
|
+
});
|
|
535
537
|
});
|
|
536
538
|
res.json(jsonApiRes({ message: "Updated" }, "status"));
|
|
537
539
|
} catch (err) {
|
|
@@ -590,10 +592,7 @@ var MemoriesController = class {
|
|
|
590
592
|
if (action === "delete") {
|
|
591
593
|
n = db.memories.bulkDeleteMemories(ids);
|
|
592
594
|
} else if (action === "update" || action === "archive") {
|
|
593
|
-
n = db.memories.bulkUpdateMemories(
|
|
594
|
-
ids,
|
|
595
|
-
updates || { status: action === "archive" ? "archived" : "active" }
|
|
596
|
-
);
|
|
595
|
+
n = db.memories.bulkUpdateMemories(ids, updates || { status: action === "archive" ? "archived" : "active" });
|
|
597
596
|
} else {
|
|
598
597
|
throw new Error("Invalid action");
|
|
599
598
|
}
|
|
@@ -977,7 +976,8 @@ var StandardsController = class {
|
|
|
977
976
|
const updates = {};
|
|
978
977
|
if (attributes.title !== void 0) updates.title = attributes.title;
|
|
979
978
|
if (attributes.content !== void 0) updates.content = attributes.content;
|
|
980
|
-
if (attributes.parent_id !== void 0)
|
|
979
|
+
if (attributes.parent_id !== void 0)
|
|
980
|
+
updates.parent_id = attributes.parent_id === null ? null : attributes.parent_id;
|
|
981
981
|
if (attributes.context !== void 0) updates.context = attributes.context;
|
|
982
982
|
if (attributes.version !== void 0) updates.version = attributes.version;
|
|
983
983
|
if (attributes.language !== void 0) updates.language = attributes.language || null;
|
|
@@ -1200,7 +1200,9 @@ function startServer() {
|
|
|
1200
1200
|
});
|
|
1201
1201
|
server.on("error", (err) => {
|
|
1202
1202
|
if (err.code === "EADDRINUSE") {
|
|
1203
|
-
console.log(
|
|
1203
|
+
console.log(
|
|
1204
|
+
`${(/* @__PURE__ */ new Date()).toISOString()} DASHBOARD_ALREADY_RUNNING Dashboard already running on port ${PORT}. Exiting.`
|
|
1205
|
+
);
|
|
1204
1206
|
process.exit(0);
|
|
1205
1207
|
}
|
|
1206
1208
|
throw err;
|
package/dist/mcp/server.js
CHANGED
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
toContextSlug,
|
|
58
58
|
updateSessionFromInitialize,
|
|
59
59
|
updateSessionRoots
|
|
60
|
-
} from "../chunk-
|
|
60
|
+
} from "../chunk-M7JX3RQI.js";
|
|
61
61
|
|
|
62
62
|
// src/mcp/server.ts
|
|
63
63
|
import readline from "readline";
|
|
@@ -217,11 +217,7 @@ var McpContentSchema = z.discriminatedUnion("type", [
|
|
|
217
217
|
})
|
|
218
218
|
]);
|
|
219
219
|
function createMcpResponse(data, summary, options) {
|
|
220
|
-
const {
|
|
221
|
-
structuredContentPathHint,
|
|
222
|
-
contentSummary,
|
|
223
|
-
includeSerializedStructuredContent = false
|
|
224
|
-
} = options || {};
|
|
220
|
+
const { structuredContentPathHint, contentSummary, includeSerializedStructuredContent = false } = options || {};
|
|
225
221
|
void includeSerializedStructuredContent;
|
|
226
222
|
let finalData = data;
|
|
227
223
|
if (data && typeof data === "object") {
|
|
@@ -521,7 +517,8 @@ async function handleMemorySearch(params, db2, vectors2) {
|
|
|
521
517
|
candidates = candidates.map((c) => {
|
|
522
518
|
let boost = 0;
|
|
523
519
|
if (currentBranch && c.memory.scope.branch === currentBranch) boost += 0.1;
|
|
524
|
-
if (currentPath && c.memory.scope.folder && currentPath.includes(c.memory.scope.folder.toLowerCase()))
|
|
520
|
+
if (currentPath && c.memory.scope.folder && currentPath.includes(c.memory.scope.folder.toLowerCase()))
|
|
521
|
+
boost += 0.15;
|
|
525
522
|
if (currentPath && c.memory.scope.language) {
|
|
526
523
|
const ext = currentPath.split(".").pop();
|
|
527
524
|
if (ext && ext.includes(c.memory.scope.language.toLowerCase())) boost += 0.1;
|
|
@@ -2163,7 +2160,19 @@ async function handleStandardSearch(params, db2, vectors2) {
|
|
|
2163
2160
|
version: validated.version,
|
|
2164
2161
|
topConfidence: paginatedResults[0]?.confidence
|
|
2165
2162
|
});
|
|
2166
|
-
const COLUMNS = [
|
|
2163
|
+
const COLUMNS = [
|
|
2164
|
+
"code",
|
|
2165
|
+
"id",
|
|
2166
|
+
"title",
|
|
2167
|
+
"context",
|
|
2168
|
+
"language",
|
|
2169
|
+
"scope",
|
|
2170
|
+
"tags",
|
|
2171
|
+
"confidence",
|
|
2172
|
+
"score",
|
|
2173
|
+
"matched_terms",
|
|
2174
|
+
"updated_at"
|
|
2175
|
+
];
|
|
2167
2176
|
const rows = paginatedResults.map(({ standard, confidence, finalScore, matchedTerms }) => [
|
|
2168
2177
|
standard.code ?? "-",
|
|
2169
2178
|
standard.id,
|
|
@@ -2440,7 +2449,12 @@ function createRouter(db2, vectors2, options) {
|
|
|
2440
2449
|
};
|
|
2441
2450
|
}
|
|
2442
2451
|
case "prompts/get": {
|
|
2443
|
-
return getPrompt(
|
|
2452
|
+
return getPrompt(
|
|
2453
|
+
params?.name,
|
|
2454
|
+
params?.arguments || {},
|
|
2455
|
+
db2,
|
|
2456
|
+
getSessionContext?.()
|
|
2457
|
+
);
|
|
2444
2458
|
}
|
|
2445
2459
|
case "completion/complete":
|
|
2446
2460
|
return complete(params, db2, getSessionContext?.());
|
|
@@ -27,7 +27,7 @@ agent: Task Executor
|
|
|
27
27
|
3. **Claim**: Use `task-claim` with `task_code` or `task_id` before implementation.
|
|
28
28
|
4. **Start**: `task-update` status to `in_progress` (MUST transition: `pending` → `in_progress`). Add agent/role metadata.
|
|
29
29
|
5. **Research**: Call `memory-search` (Hybrid Search) and hydrate relevant results with `memory-detail`.
|
|
30
|
-
6. **Standards**: Call `standard-search` for language/stack/repo
|
|
30
|
+
6. **Standards (MANDATORY PER TASK)**: Call `standard-search` for every task inside the execution loop before implementation, using the task intent plus inferred language/stack/repo as filters. This is required even for decomposed tasks and sub-agent assignments, so each task execution remains aligned with current standards. Apply only relevant standards and hydrate details when needed.
|
|
31
31
|
7. **Execute**:
|
|
32
32
|
- **Trace**: Inspect logic, call sites, and docs. DO NOT infer from file presence.
|
|
33
33
|
- **Logic**: Implement per description/intent.
|