@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.4") {
85
- pkgVersion = "0.18.4";
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 params = [repo, taskCode];
1900
- const ownerClause = owner ? "t.owner = ? AND " : "";
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
- params.unshift(owner);
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: "Organization/namespace (e.g., GitHub org or username)"
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
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",
@@ -16,7 +16,7 @@ import {
16
16
  handleTaskClaim,
17
17
  listResources,
18
18
  logger
19
- } from "../chunk-54JHDLYJ.js";
19
+ } from "../chunk-N7K2MMB2.js";
20
20
 
21
21
  // src/dashboard/server.ts
22
22
  import express from "express";
@@ -63,7 +63,7 @@ import {
63
63
  toContextSlug,
64
64
  updateSessionFromInitialize,
65
65
  updateSessionRoots
66
- } from "../chunk-54JHDLYJ.js";
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)✅
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.18.4",
3
+ "version": "0.18.6",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",