@vheins/local-memory-mcp 0.8.33 → 0.8.35
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.
|
@@ -3,8 +3,8 @@ import { fileURLToPath } from "url";
|
|
|
3
3
|
import path from "path";
|
|
4
4
|
var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
var pkgVersion = "0.1.0";
|
|
6
|
-
if ("0.8.
|
|
7
|
-
pkgVersion = "0.8.
|
|
6
|
+
if ("0.8.35") {
|
|
7
|
+
pkgVersion = "0.8.35";
|
|
8
8
|
} else {
|
|
9
9
|
let searchDir = __dirname;
|
|
10
10
|
for (let i = 0; i < 5; i++) {
|
|
@@ -3235,7 +3235,7 @@ var TOOL_DEFINITIONS = [
|
|
|
3235
3235
|
{
|
|
3236
3236
|
name: "task-list",
|
|
3237
3237
|
title: "Task List",
|
|
3238
|
-
description: "PRIMARY navigation and search tool for tasks. Returns a compact tabular list of tasks (id, task_code, title, status, priority). Defaults to in_progress and pending tasks. Use 'query' to filter by code, title, or description. Use 'status' (comma-separated) for specific filters. AGENTS: call this once at start, pick ONE task, then call task-detail.",
|
|
3238
|
+
description: "PRIMARY navigation and search tool for tasks. Returns a compact tabular list of tasks (id, task_code, title, status, priority, updated_at). Defaults to in_progress and pending tasks. Use 'query' to filter by code, title, or description. Use 'status' (comma-separated) for specific filters. AGENTS: call this once at start, pick ONE task, then call task-detail.",
|
|
3239
3239
|
annotations: {
|
|
3240
3240
|
readOnlyHint: true,
|
|
3241
3241
|
idempotentHint: true,
|
|
@@ -3292,12 +3292,12 @@ var TOOL_DEFINITIONS = [
|
|
|
3292
3292
|
columns: {
|
|
3293
3293
|
type: "array",
|
|
3294
3294
|
items: { type: "string" },
|
|
3295
|
-
description: "Column names in order: id, task_code, title, status, priority, comments_count"
|
|
3295
|
+
description: "Column names in order: id, task_code, title, status, priority, updated_at, comments_count"
|
|
3296
3296
|
},
|
|
3297
3297
|
rows: {
|
|
3298
3298
|
type: "array",
|
|
3299
3299
|
items: { type: "array" },
|
|
3300
|
-
description: "Each row: [id, task_code, title, status, priority, comments_count]. Use task-detail to fetch full task."
|
|
3300
|
+
description: "Each row: [id, task_code, title, status, priority, updated_at, comments_count]. Use task-detail to fetch full task."
|
|
3301
3301
|
}
|
|
3302
3302
|
},
|
|
3303
3303
|
required: ["columns", "rows"]
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
setLogLevel,
|
|
44
44
|
updateSessionFromInitialize,
|
|
45
45
|
updateSessionRoots
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-AVXRAI57.js";
|
|
47
47
|
|
|
48
48
|
// src/mcp/server.ts
|
|
49
49
|
import readline from "readline";
|
|
@@ -754,9 +754,10 @@ function buildTaskListSummary(repo, count, status, phase, search, tasksByStatus)
|
|
|
754
754
|
if (items.length > 0) {
|
|
755
755
|
parts.push("");
|
|
756
756
|
parts.push(`${capitalize3(taskStatus)}:`);
|
|
757
|
-
parts.push("- code|status|priority|title");
|
|
757
|
+
parts.push("- code|status|priority|last_updated|title");
|
|
758
758
|
for (const t of items) {
|
|
759
|
-
|
|
759
|
+
const lastUpdated = t.updated_at ? t.updated_at.slice(0, 16).replace("T", " ") : "never";
|
|
760
|
+
parts.push(`- ${t.task_code}|${t.status}|${t.priority}|${lastUpdated}|${t.title}`);
|
|
760
761
|
}
|
|
761
762
|
}
|
|
762
763
|
}
|
|
@@ -858,13 +859,14 @@ async function handleTaskList(args, storage) {
|
|
|
858
859
|
}
|
|
859
860
|
const tasks = storage.tasks.getTasksByMultipleStatuses(repo, statuses, limit, offset, query);
|
|
860
861
|
const filteredTasks = phase ? tasks.filter((t) => t.phase.toLowerCase() === phase.toLowerCase()) : tasks;
|
|
861
|
-
const COLUMNS = ["id", "task_code", "title", "status", "priority", "comments_count"];
|
|
862
|
+
const COLUMNS = ["id", "task_code", "title", "status", "priority", "updated_at", "comments_count"];
|
|
862
863
|
const rows = filteredTasks.map((t) => [
|
|
863
864
|
t.id,
|
|
864
865
|
t.task_code,
|
|
865
866
|
t.title,
|
|
866
867
|
t.status,
|
|
867
868
|
t.priority,
|
|
869
|
+
t.updated_at,
|
|
868
870
|
t.comments_count || 0
|
|
869
871
|
]);
|
|
870
872
|
const structuredData = {
|
|
@@ -19,7 +19,8 @@ agent: Task Executor
|
|
|
19
19
|
## 2. EXECUTION LOOP
|
|
20
20
|
1. **Parallelism & Sub-Agents**:
|
|
21
21
|
- **MANDATORY**: Tasks MUST be delegated to sub-agents if the current agent has sub-agent capabilities.
|
|
22
|
-
- **
|
|
22
|
+
- **Decomposition**: If a task is too broad, the agent is allowed to decompose it into multiple tasks (via `task-create`) and delegate them to sub-agents.
|
|
23
|
+
- **Spawn Limit**: The total number of parallel sub-agents MUST NOT exceed 4. Each sub-agent executes EXACTLY ONE task at a time.
|
|
23
24
|
- **Fallback**: If the current agent CANNOT spawn sub-agents, it MUST execute tasks sequentially (exactly ONE concurrent task) until the queue is clear.
|
|
24
25
|
2. **Hydrate**: Fetch full context via `task-detail` for the assigned task.
|
|
25
26
|
3. **Start**: `task-update` status to `in_progress` (MUST transition: `pending` → `in_progress`). Add agent/role metadata.
|