@vheins/local-memory-mcp 0.18.4 → 0.18.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.
|
@@ -81,8 +81,8 @@ function loadServerInstructions() {
|
|
|
81
81
|
// src/mcp/capabilities.ts
|
|
82
82
|
var __dirname2 = path2.dirname(fileURLToPath2(import.meta.url));
|
|
83
83
|
var pkgVersion = "0.1.0";
|
|
84
|
-
if ("0.18.
|
|
85
|
-
pkgVersion = "0.18.
|
|
84
|
+
if ("0.18.6") {
|
|
85
|
+
pkgVersion = "0.18.6";
|
|
86
86
|
} else {
|
|
87
87
|
let searchDir = __dirname2;
|
|
88
88
|
for (let i = 0; i < 5; i++) {
|
|
@@ -1896,20 +1896,22 @@ var TaskEntity = class extends BaseEntity {
|
|
|
1896
1896
|
});
|
|
1897
1897
|
}
|
|
1898
1898
|
getTaskByCode(owner, repo, taskCode) {
|
|
1899
|
-
const
|
|
1900
|
-
|
|
1899
|
+
const baseQuery = `SELECT t.*, d.task_code as depends_on_code, p.task_code as parent_code,
|
|
1900
|
+
${this.coordinationSelect("t")}
|
|
1901
|
+
FROM tasks t
|
|
1902
|
+
LEFT JOIN tasks d ON t.depends_on = d.id
|
|
1903
|
+
LEFT JOIN tasks p ON t.parent_id = p.id `;
|
|
1904
|
+
let row;
|
|
1901
1905
|
if (owner) {
|
|
1902
|
-
|
|
1906
|
+
row = this.get(baseQuery + `WHERE t.owner = ? AND t.repo = ? AND t.task_code = ?`, [
|
|
1907
|
+
owner,
|
|
1908
|
+
repo,
|
|
1909
|
+
taskCode
|
|
1910
|
+
]);
|
|
1911
|
+
}
|
|
1912
|
+
if (!row) {
|
|
1913
|
+
row = this.get(baseQuery + `WHERE t.repo = ? AND t.task_code = ?`, [repo, taskCode]);
|
|
1903
1914
|
}
|
|
1904
|
-
const row = this.get(
|
|
1905
|
-
`SELECT t.*, d.task_code as depends_on_code, p.task_code as parent_code,
|
|
1906
|
-
${this.coordinationSelect("t")}
|
|
1907
|
-
FROM tasks t
|
|
1908
|
-
LEFT JOIN tasks d ON t.depends_on = d.id
|
|
1909
|
-
LEFT JOIN tasks p ON t.parent_id = p.id
|
|
1910
|
-
WHERE ${ownerClause}t.repo = ? AND t.task_code = ?`,
|
|
1911
|
-
params
|
|
1912
|
-
);
|
|
1913
1915
|
return row ? {
|
|
1914
1916
|
...this.rowToTask(row),
|
|
1915
1917
|
comments: this.all(
|
|
@@ -4068,7 +4070,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4068
4070
|
inputSchema: {
|
|
4069
4071
|
type: "object",
|
|
4070
4072
|
properties: {
|
|
4071
|
-
owner: {
|
|
4073
|
+
owner: {
|
|
4074
|
+
type: "string",
|
|
4075
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4076
|
+
},
|
|
4072
4077
|
repo: { type: "string", description: "Repository/project name. Optional when a single MCP root is active." },
|
|
4073
4078
|
objective: { type: "string", minLength: 5, description: "Question or synthesis objective." },
|
|
4074
4079
|
current_file_path: {
|
|
@@ -4117,7 +4122,7 @@ var TOOL_DEFINITIONS = [
|
|
|
4117
4122
|
properties: {
|
|
4118
4123
|
owner: {
|
|
4119
4124
|
type: "string",
|
|
4120
|
-
description: "
|
|
4125
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4121
4126
|
},
|
|
4122
4127
|
repo: {
|
|
4123
4128
|
type: "string",
|
|
@@ -4191,7 +4196,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4191
4196
|
inputSchema: {
|
|
4192
4197
|
type: "object",
|
|
4193
4198
|
properties: {
|
|
4194
|
-
owner: {
|
|
4199
|
+
owner: {
|
|
4200
|
+
type: "string",
|
|
4201
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4202
|
+
},
|
|
4195
4203
|
repo: { type: "string", description: "Repository name" },
|
|
4196
4204
|
id: { type: "string", format: "uuid", description: "Task ID (optional if task_code is provided)" },
|
|
4197
4205
|
task_code: { type: "string", description: "Task code (e.g. TASK-001) (optional if id is provided)" },
|
|
@@ -4254,7 +4262,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4254
4262
|
scope: {
|
|
4255
4263
|
type: "object",
|
|
4256
4264
|
properties: {
|
|
4257
|
-
owner: {
|
|
4265
|
+
owner: {
|
|
4266
|
+
type: "string",
|
|
4267
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4268
|
+
},
|
|
4258
4269
|
repo: { type: "string", description: "Repository/project name" },
|
|
4259
4270
|
branch: { type: "string", description: "Git branch this memory relates to" },
|
|
4260
4271
|
folder: { type: "string", description: "Subdirectory within the repo" },
|
|
@@ -4303,7 +4314,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4303
4314
|
scope: {
|
|
4304
4315
|
type: "object",
|
|
4305
4316
|
properties: {
|
|
4306
|
-
owner: {
|
|
4317
|
+
owner: {
|
|
4318
|
+
type: "string",
|
|
4319
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4320
|
+
},
|
|
4307
4321
|
repo: { type: "string", description: "Repository/project name" },
|
|
4308
4322
|
branch: { type: "string", description: "Git branch this memory relates to" },
|
|
4309
4323
|
folder: { type: "string", description: "Subdirectory within the repo" },
|
|
@@ -4444,7 +4458,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4444
4458
|
description: "Search keyword to match against memory titles and content"
|
|
4445
4459
|
},
|
|
4446
4460
|
prompt: { type: "string", description: "Natural language prompt for semantic search" },
|
|
4447
|
-
owner: {
|
|
4461
|
+
owner: {
|
|
4462
|
+
type: "string",
|
|
4463
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4464
|
+
},
|
|
4448
4465
|
repo: { type: "string", description: "Repository/project name" },
|
|
4449
4466
|
current_tags: {
|
|
4450
4467
|
type: "array",
|
|
@@ -4472,7 +4489,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4472
4489
|
scope: {
|
|
4473
4490
|
type: "object",
|
|
4474
4491
|
properties: {
|
|
4475
|
-
owner: {
|
|
4492
|
+
owner: {
|
|
4493
|
+
type: "string",
|
|
4494
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4495
|
+
},
|
|
4476
4496
|
repo: { type: "string", description: "Repository/project name" },
|
|
4477
4497
|
branch: { type: "string", description: "Git branch filter" },
|
|
4478
4498
|
folder: { type: "string", description: "Subdirectory filter" },
|
|
@@ -4528,7 +4548,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4528
4548
|
inputSchema: {
|
|
4529
4549
|
type: "object",
|
|
4530
4550
|
properties: {
|
|
4531
|
-
owner: {
|
|
4551
|
+
owner: {
|
|
4552
|
+
type: "string",
|
|
4553
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4554
|
+
},
|
|
4532
4555
|
repo: { type: "string", description: "Repository/project name" },
|
|
4533
4556
|
signals: {
|
|
4534
4557
|
type: "array",
|
|
@@ -4657,7 +4680,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4657
4680
|
inputSchema: {
|
|
4658
4681
|
type: "object",
|
|
4659
4682
|
properties: {
|
|
4660
|
-
owner: {
|
|
4683
|
+
owner: {
|
|
4684
|
+
type: "string",
|
|
4685
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4686
|
+
},
|
|
4661
4687
|
repo: { type: "string", description: "Repository/project name (required)" },
|
|
4662
4688
|
limit: {
|
|
4663
4689
|
type: "number",
|
|
@@ -4731,7 +4757,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4731
4757
|
inputSchema: {
|
|
4732
4758
|
type: "object",
|
|
4733
4759
|
properties: {
|
|
4734
|
-
owner: {
|
|
4760
|
+
owner: {
|
|
4761
|
+
type: "string",
|
|
4762
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4763
|
+
},
|
|
4735
4764
|
repo: { type: "string", description: "Repository/project name" },
|
|
4736
4765
|
task_code: { type: "string", description: "Unique task code (e.g. TASK-001) (Required for single task)" },
|
|
4737
4766
|
phase: { type: "string", description: "Project phase (Required for single task)" },
|
|
@@ -4844,7 +4873,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4844
4873
|
inputSchema: {
|
|
4845
4874
|
type: "object",
|
|
4846
4875
|
properties: {
|
|
4847
|
-
owner: {
|
|
4876
|
+
owner: {
|
|
4877
|
+
type: "string",
|
|
4878
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4879
|
+
},
|
|
4848
4880
|
repo: { type: "string", description: "Repository name" },
|
|
4849
4881
|
id: { type: "string", format: "uuid", description: "Task ID (for single update)" },
|
|
4850
4882
|
ids: { type: "array", items: { type: "string", format: "uuid" }, description: "Task IDs (for bulk update)" },
|
|
@@ -4937,7 +4969,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4937
4969
|
inputSchema: {
|
|
4938
4970
|
type: "object",
|
|
4939
4971
|
properties: {
|
|
4940
|
-
owner: {
|
|
4972
|
+
owner: {
|
|
4973
|
+
type: "string",
|
|
4974
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
4975
|
+
},
|
|
4941
4976
|
repo: { type: "string", description: "Repository name" },
|
|
4942
4977
|
id: {
|
|
4943
4978
|
type: "string",
|
|
@@ -4975,7 +5010,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4975
5010
|
inputSchema: {
|
|
4976
5011
|
type: "object",
|
|
4977
5012
|
properties: {
|
|
4978
|
-
owner: {
|
|
5013
|
+
owner: {
|
|
5014
|
+
type: "string",
|
|
5015
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5016
|
+
},
|
|
4979
5017
|
repo: {
|
|
4980
5018
|
type: "string",
|
|
4981
5019
|
description: "Repository/project name (required)"
|
|
@@ -5052,7 +5090,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5052
5090
|
inputSchema: {
|
|
5053
5091
|
type: "object",
|
|
5054
5092
|
properties: {
|
|
5055
|
-
owner: {
|
|
5093
|
+
owner: {
|
|
5094
|
+
type: "string",
|
|
5095
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5096
|
+
},
|
|
5056
5097
|
repo: { type: "string", description: "Repository/project name" },
|
|
5057
5098
|
query: {
|
|
5058
5099
|
type: "string",
|
|
@@ -5110,7 +5151,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5110
5151
|
inputSchema: {
|
|
5111
5152
|
type: "object",
|
|
5112
5153
|
properties: {
|
|
5113
|
-
owner: {
|
|
5154
|
+
owner: {
|
|
5155
|
+
type: "string",
|
|
5156
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5157
|
+
},
|
|
5114
5158
|
repo: { type: "string", description: "Repository/project name" },
|
|
5115
5159
|
from_agent: { type: "string", description: "Agent creating the handoff" },
|
|
5116
5160
|
to_agent: { type: "string", description: "Optional target agent" },
|
|
@@ -5185,7 +5229,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5185
5229
|
inputSchema: {
|
|
5186
5230
|
type: "object",
|
|
5187
5231
|
properties: {
|
|
5188
|
-
owner: {
|
|
5232
|
+
owner: {
|
|
5233
|
+
type: "string",
|
|
5234
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5235
|
+
},
|
|
5189
5236
|
repo: { type: "string", description: "Repository/project name" },
|
|
5190
5237
|
status: { type: "string", enum: ["pending", "accepted", "rejected", "expired"] },
|
|
5191
5238
|
from_agent: { type: "string" },
|
|
@@ -5235,7 +5282,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5235
5282
|
inputSchema: {
|
|
5236
5283
|
type: "object",
|
|
5237
5284
|
properties: {
|
|
5238
|
-
owner: {
|
|
5285
|
+
owner: {
|
|
5286
|
+
type: "string",
|
|
5287
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5288
|
+
},
|
|
5239
5289
|
repo: { type: "string", description: "Repository/project name" },
|
|
5240
5290
|
task_id: {
|
|
5241
5291
|
type: "string",
|
|
@@ -5279,7 +5329,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5279
5329
|
inputSchema: {
|
|
5280
5330
|
type: "object",
|
|
5281
5331
|
properties: {
|
|
5282
|
-
owner: {
|
|
5332
|
+
owner: {
|
|
5333
|
+
type: "string",
|
|
5334
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5335
|
+
},
|
|
5283
5336
|
repo: { type: "string", description: "Repository/project name" },
|
|
5284
5337
|
agent: { type: "string", description: "Optional agent filter" },
|
|
5285
5338
|
active_only: { type: "boolean", description: "When true, return only unreleased claims" },
|
|
@@ -5328,7 +5381,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5328
5381
|
inputSchema: {
|
|
5329
5382
|
type: "object",
|
|
5330
5383
|
properties: {
|
|
5331
|
-
owner: {
|
|
5384
|
+
owner: {
|
|
5385
|
+
type: "string",
|
|
5386
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5387
|
+
},
|
|
5332
5388
|
repo: { type: "string", description: "Repository name" },
|
|
5333
5389
|
task_id: {
|
|
5334
5390
|
type: "string",
|
|
@@ -5366,7 +5422,10 @@ var TOOL_DEFINITIONS = [
|
|
|
5366
5422
|
inputSchema: {
|
|
5367
5423
|
type: "object",
|
|
5368
5424
|
properties: {
|
|
5369
|
-
owner: {
|
|
5425
|
+
owner: {
|
|
5426
|
+
type: "string",
|
|
5427
|
+
description: "GitHub repository owner (username or organization). For repo 'vheins/my-repo', owner='vheins'. CRITICAL: this is the GitHub owner, NOT the agent name. Do NOT use the calling agent's name."
|
|
5428
|
+
},
|
|
5370
5429
|
name: { type: "string", minLength: 3, maxLength: 255, description: "Human-readable standard name" },
|
|
5371
5430
|
content: {
|
|
5372
5431
|
type: "string",
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
toContextSlug,
|
|
64
64
|
updateSessionFromInitialize,
|
|
65
65
|
updateSessionRoots
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-N7K2MMB2.js";
|
|
67
67
|
|
|
68
68
|
// src/mcp/server.ts
|
|
69
69
|
import readline from "readline";
|
|
@@ -2818,6 +2818,11 @@ function normalizeToolArguments(args, session2) {
|
|
|
2818
2818
|
const repoVal2 = nextArgs.repo || "";
|
|
2819
2819
|
const parsed = parseRepoInput(repoVal2, void 0);
|
|
2820
2820
|
nextArgs.owner = parsed.owner || inferOwnerFromSession(session2) || "";
|
|
2821
|
+
if (nextArgs.owner && !repoVal2.includes("/")) {
|
|
2822
|
+
console.warn(
|
|
2823
|
+
`[router] owner inferred from session (${nextArgs.owner}) \u2014 may be incorrect. Agents should pass explicit owner/repo.`
|
|
2824
|
+
);
|
|
2825
|
+
}
|
|
2821
2826
|
}
|
|
2822
2827
|
if (scope && !scope.owner) {
|
|
2823
2828
|
const repoVal2 = scope.repo || nextArgs.repo || "";
|
|
@@ -14,6 +14,19 @@ All data (memories, tasks, handoffs, claims) is scoped by **owner/repo**:
|
|
|
14
14
|
|
|
15
15
|
Pass both `owner` and `repo` whenever a tool requires them. The `owner/repo` pair forms the unique data boundary.
|
|
16
16
|
|
|
17
|
+
### Owner Rule (CRITICAL)
|
|
18
|
+
|
|
19
|
+
The `owner` field MUST be the GitHub username or organization that OWNS the repository. For example:
|
|
20
|
+
|
|
21
|
+
- Repo `vheins/sentinel-agent` → owner=`vheins`
|
|
22
|
+
- Repo `my-org/my-project` → owner=`my-org`
|
|
23
|
+
|
|
24
|
+
NEVER use the agent's name (e.g., `sentinel`, `test-executor`, `claude`) as the owner.
|
|
25
|
+
NEVER guess the owner from the working directory path.
|
|
26
|
+
If unsure, use `owner/repo` format for the `repo` parameter (e.g., `repo='vheins/sentinel-agent'`) — the server will extract the owner automatically.
|
|
27
|
+
|
|
28
|
+
Violation: tasks created with a wrong owner will be invisible to other agents querying with the correct owner.
|
|
29
|
+
|
|
17
30
|
## Session Start Mode
|
|
18
31
|
|
|
19
32
|
Entry=orient → hydrate → ready Guard: S(N) req S(N-1)✅
|