@vheins/local-memory-mcp 0.19.5 → 0.19.7
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-ZSGQQS5F.js → chunk-M47LSTGD.js} +310 -138
- package/dist/dashboard/server.js +1 -1
- package/dist/mcp/server.js +36 -16
- package/package.json +1 -1
|
@@ -1070,7 +1070,15 @@ var BaseEntity = class {
|
|
|
1070
1070
|
status: r.status || "active",
|
|
1071
1071
|
is_global: r.is_global === 1,
|
|
1072
1072
|
tags: this.safeJSONParse(r.tags, []),
|
|
1073
|
-
metadata:
|
|
1073
|
+
metadata: (() => {
|
|
1074
|
+
const meta = this.safeJSONParse(r.metadata, {});
|
|
1075
|
+
delete meta.structuredData;
|
|
1076
|
+
return meta;
|
|
1077
|
+
})(),
|
|
1078
|
+
structuredData: (() => {
|
|
1079
|
+
const meta = this.safeJSONParse(r.metadata, {});
|
|
1080
|
+
return meta.structuredData ?? void 0;
|
|
1081
|
+
})()
|
|
1074
1082
|
};
|
|
1075
1083
|
}
|
|
1076
1084
|
rowToTask(row) {
|
|
@@ -1162,6 +1170,7 @@ var VALID_COLUMNS = /* @__PURE__ */ new Set([
|
|
|
1162
1170
|
]);
|
|
1163
1171
|
var MemoryEntity = class extends BaseEntity {
|
|
1164
1172
|
insert(entry) {
|
|
1173
|
+
const mergedMeta = this.mergeStructuredData(entry.metadata, entry.structuredData);
|
|
1165
1174
|
this.run(
|
|
1166
1175
|
`INSERT INTO memories (
|
|
1167
1176
|
id, code, repo, owner, type, title, content, importance, folder, language,
|
|
@@ -1186,7 +1195,7 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1186
1195
|
entry.status || "active",
|
|
1187
1196
|
entry.is_global ? 1 : 0,
|
|
1188
1197
|
entry.tags ? JSON.stringify(entry.tags) : null,
|
|
1189
|
-
|
|
1198
|
+
mergedMeta ? JSON.stringify(mergedMeta) : null,
|
|
1190
1199
|
entry.agent || "unknown",
|
|
1191
1200
|
entry.role || "unknown",
|
|
1192
1201
|
entry.model || "unknown",
|
|
@@ -1194,6 +1203,9 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1194
1203
|
]
|
|
1195
1204
|
);
|
|
1196
1205
|
}
|
|
1206
|
+
mergeStructuredData(metadata, structuredData) {
|
|
1207
|
+
return { ...metadata, structuredData: structuredData ?? {} };
|
|
1208
|
+
}
|
|
1197
1209
|
update(id, updates) {
|
|
1198
1210
|
const fields = [];
|
|
1199
1211
|
const values = [];
|
|
@@ -1219,6 +1231,12 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1219
1231
|
fields.push("language = ?");
|
|
1220
1232
|
values.push(scope.language);
|
|
1221
1233
|
}
|
|
1234
|
+
} else if (k === "structuredData") {
|
|
1235
|
+
const existingRow = this.get("SELECT metadata FROM memories WHERE id = ?", [id]);
|
|
1236
|
+
const existingMeta = existingRow ? this.safeJSONParse(existingRow.metadata, {}) : {};
|
|
1237
|
+
const merged = { ...existingMeta, structuredData: val };
|
|
1238
|
+
fields.push("metadata = ?");
|
|
1239
|
+
values.push(JSON.stringify(merged));
|
|
1222
1240
|
} else if (k === "tags" || k === "metadata") {
|
|
1223
1241
|
fields.push(`${k} = ?`);
|
|
1224
1242
|
values.push(JSON.stringify(val));
|
|
@@ -1322,6 +1340,7 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1322
1340
|
return this.transaction(() => {
|
|
1323
1341
|
let count = 0;
|
|
1324
1342
|
for (const entry of entries) {
|
|
1343
|
+
const mergedMeta = this.mergeStructuredData(entry.metadata, entry.structuredData);
|
|
1325
1344
|
this.run(
|
|
1326
1345
|
`INSERT INTO memories (
|
|
1327
1346
|
id, repo, owner, type, title, content, importance, folder, language,
|
|
@@ -1345,7 +1364,7 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1345
1364
|
entry.status || "active",
|
|
1346
1365
|
entry.is_global ? 1 : 0,
|
|
1347
1366
|
entry.tags ? JSON.stringify(entry.tags) : null,
|
|
1348
|
-
|
|
1367
|
+
mergedMeta ? JSON.stringify(mergedMeta) : null,
|
|
1349
1368
|
entry.agent || "unknown",
|
|
1350
1369
|
entry.role || "unknown",
|
|
1351
1370
|
entry.model || "unknown",
|
|
@@ -3479,6 +3498,10 @@ function inferRepoFromSession(session) {
|
|
|
3479
3498
|
if (roots.length === 1) {
|
|
3480
3499
|
return path3.basename(roots[0]);
|
|
3481
3500
|
}
|
|
3501
|
+
if (roots.length === 0) {
|
|
3502
|
+
const cwd = process.cwd();
|
|
3503
|
+
return path3.basename(cwd);
|
|
3504
|
+
}
|
|
3482
3505
|
return void 0;
|
|
3483
3506
|
}
|
|
3484
3507
|
function inferOwnerFromSession(session) {
|
|
@@ -3489,6 +3512,13 @@ function inferOwnerFromSession(session) {
|
|
|
3489
3512
|
return parts[parts.length - 2];
|
|
3490
3513
|
}
|
|
3491
3514
|
}
|
|
3515
|
+
if (roots.length === 0) {
|
|
3516
|
+
const cwd = process.cwd();
|
|
3517
|
+
const parts = cwd.split(path3.sep).filter(Boolean);
|
|
3518
|
+
if (parts.length >= 2) {
|
|
3519
|
+
return parts[parts.length - 2];
|
|
3520
|
+
}
|
|
3521
|
+
}
|
|
3492
3522
|
return void 0;
|
|
3493
3523
|
}
|
|
3494
3524
|
|
|
@@ -3595,9 +3625,12 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3595
3625
|
properties: {
|
|
3596
3626
|
owner: {
|
|
3597
3627
|
type: "string",
|
|
3598
|
-
description: "Organization/namespace (e.g., GitHub org or username)"
|
|
3628
|
+
description: "Organization/namespace (e.g., GitHub org or username)."
|
|
3629
|
+
},
|
|
3630
|
+
repo: {
|
|
3631
|
+
type: "string",
|
|
3632
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Optional when a single MCP root is active."
|
|
3599
3633
|
},
|
|
3600
|
-
repo: { type: "string", description: "Repository/project name. Optional when a single MCP root is active." },
|
|
3601
3634
|
objective: { type: "string", minLength: 5, description: "Question or synthesis objective." },
|
|
3602
3635
|
current_file_path: {
|
|
3603
3636
|
type: "string",
|
|
@@ -3651,7 +3684,7 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3651
3684
|
properties: {
|
|
3652
3685
|
code: { type: "string", description: "Short memory code." },
|
|
3653
3686
|
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
3654
|
-
repo: { type: "string", description: "Repository/project name." },
|
|
3687
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
3655
3688
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON details." }
|
|
3656
3689
|
}
|
|
3657
3690
|
}
|
|
@@ -3713,7 +3746,7 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3713
3746
|
type: "object",
|
|
3714
3747
|
properties: {
|
|
3715
3748
|
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3716
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
3749
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')" },
|
|
3717
3750
|
branch: { type: "string", description: "Git branch this memory relates to" },
|
|
3718
3751
|
folder: { type: "string", description: "Subdirectory within the repo" },
|
|
3719
3752
|
language: { type: "string", description: "Programming language (e.g., 'typescript', 'python')" }
|
|
@@ -3771,7 +3804,7 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3771
3804
|
type: "object",
|
|
3772
3805
|
properties: {
|
|
3773
3806
|
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3774
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
3807
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')" },
|
|
3775
3808
|
branch: { type: "string", description: "Git branch this memory relates to" },
|
|
3776
3809
|
folder: { type: "string", description: "Subdirectory within the repo" },
|
|
3777
3810
|
language: { type: "string", description: "Programming language" }
|
|
@@ -3860,8 +3893,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3860
3893
|
title: "By ID",
|
|
3861
3894
|
required: ["owner", "repo", "id"],
|
|
3862
3895
|
properties: {
|
|
3863
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3864
|
-
repo: { type: "string", description: "Repository name" },
|
|
3896
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
3897
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
3865
3898
|
id: { type: "string", format: "uuid", description: "Memory entry ID." },
|
|
3866
3899
|
type: { type: "string", enum: ["code_fact", "decision", "mistake", "pattern", "task_archive"] },
|
|
3867
3900
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
@@ -3886,8 +3919,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3886
3919
|
title: "By code",
|
|
3887
3920
|
required: ["owner", "repo", "code"],
|
|
3888
3921
|
properties: {
|
|
3889
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3890
|
-
repo: { type: "string", description: "Repository name" },
|
|
3922
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
3923
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
3891
3924
|
code: { type: "string", maxLength: 20, description: "Short memory code." },
|
|
3892
3925
|
type: { type: "string", enum: ["code_fact", "decision", "mistake", "pattern", "task_archive"] },
|
|
3893
3926
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
@@ -3943,8 +3976,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3943
3976
|
description: "Search keyword to match against memory titles and content"
|
|
3944
3977
|
},
|
|
3945
3978
|
prompt: { type: "string", description: "Natural language prompt for semantic search" },
|
|
3946
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3947
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
3979
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
3980
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
3948
3981
|
current_tags: {
|
|
3949
3982
|
type: "array",
|
|
3950
3983
|
items: { type: "string" },
|
|
@@ -3972,7 +4005,7 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
3972
4005
|
type: "object",
|
|
3973
4006
|
properties: {
|
|
3974
4007
|
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
3975
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
4008
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')" },
|
|
3976
4009
|
branch: { type: "string", description: "Git branch filter" },
|
|
3977
4010
|
folder: { type: "string", description: "Subdirectory filter" },
|
|
3978
4011
|
language: { type: "string", description: "Programming language filter" }
|
|
@@ -4027,8 +4060,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4027
4060
|
inputSchema: {
|
|
4028
4061
|
type: "object",
|
|
4029
4062
|
properties: {
|
|
4030
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4031
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
4063
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4064
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4032
4065
|
signals: {
|
|
4033
4066
|
type: "array",
|
|
4034
4067
|
items: { type: "string", maxLength: 200 },
|
|
@@ -4067,8 +4100,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4067
4100
|
title: "By single ID",
|
|
4068
4101
|
required: ["owner", "repo", "id"],
|
|
4069
4102
|
properties: {
|
|
4070
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4071
|
-
repo: { type: "string", description: "Repository name." },
|
|
4103
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4104
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4072
4105
|
id: { type: "string", format: "uuid", description: "Memory entry ID to delete." },
|
|
4073
4106
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4074
4107
|
}
|
|
@@ -4077,8 +4110,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4077
4110
|
title: "By bulk IDs",
|
|
4078
4111
|
required: ["owner", "repo", "ids"],
|
|
4079
4112
|
properties: {
|
|
4080
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4081
|
-
repo: { type: "string", description: "Repository name." },
|
|
4113
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4114
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4082
4115
|
ids: {
|
|
4083
4116
|
type: "array",
|
|
4084
4117
|
items: { type: "string", format: "uuid" },
|
|
@@ -4092,8 +4125,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4092
4125
|
title: "By single code",
|
|
4093
4126
|
required: ["owner", "repo", "code"],
|
|
4094
4127
|
properties: {
|
|
4095
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4096
|
-
repo: { type: "string", description: "Repository name." },
|
|
4128
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4129
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4097
4130
|
code: { type: "string", maxLength: 20, description: "Short memory code." },
|
|
4098
4131
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4099
4132
|
}
|
|
@@ -4102,8 +4135,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4102
4135
|
title: "By bulk codes",
|
|
4103
4136
|
required: ["owner", "repo", "codes"],
|
|
4104
4137
|
properties: {
|
|
4105
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4106
|
-
repo: { type: "string", description: "Repository name." },
|
|
4138
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4139
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4107
4140
|
codes: {
|
|
4108
4141
|
type: "array",
|
|
4109
4142
|
items: { type: "string", maxLength: 20 },
|
|
@@ -4141,8 +4174,8 @@ var MEMORY_TOOL_DEFINITIONS = [
|
|
|
4141
4174
|
inputSchema: {
|
|
4142
4175
|
type: "object",
|
|
4143
4176
|
properties: {
|
|
4144
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4145
|
-
repo: { type: "string", description: "Repository/project name (
|
|
4177
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
4178
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4146
4179
|
limit: {
|
|
4147
4180
|
type: "number",
|
|
4148
4181
|
minimum: 1,
|
|
@@ -4220,10 +4253,13 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4220
4253
|
inputSchema: {
|
|
4221
4254
|
type: "object",
|
|
4222
4255
|
properties: {
|
|
4223
|
-
owner: {
|
|
4256
|
+
owner: {
|
|
4257
|
+
type: "string",
|
|
4258
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4259
|
+
},
|
|
4224
4260
|
repo: {
|
|
4225
4261
|
type: "string",
|
|
4226
|
-
description: "Repository name.
|
|
4262
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4227
4263
|
},
|
|
4228
4264
|
task_code: { type: "string" },
|
|
4229
4265
|
phase: { type: "string" },
|
|
@@ -4246,7 +4282,7 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4246
4282
|
doc_path: { type: "string" },
|
|
4247
4283
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4248
4284
|
},
|
|
4249
|
-
required: [
|
|
4285
|
+
required: []
|
|
4250
4286
|
},
|
|
4251
4287
|
outputSchema: {
|
|
4252
4288
|
type: "object",
|
|
@@ -4270,10 +4306,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4270
4306
|
oneOf: [
|
|
4271
4307
|
{
|
|
4272
4308
|
title: "By ID",
|
|
4273
|
-
required: ["
|
|
4309
|
+
required: ["id"],
|
|
4274
4310
|
properties: {
|
|
4275
|
-
owner: {
|
|
4276
|
-
|
|
4311
|
+
owner: {
|
|
4312
|
+
type: "string",
|
|
4313
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4314
|
+
},
|
|
4315
|
+
repo: {
|
|
4316
|
+
type: "string",
|
|
4317
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4318
|
+
},
|
|
4277
4319
|
id: { type: "string", format: "uuid", description: "Task ID" },
|
|
4278
4320
|
structured: {
|
|
4279
4321
|
type: "boolean",
|
|
@@ -4284,10 +4326,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4284
4326
|
},
|
|
4285
4327
|
{
|
|
4286
4328
|
title: "By task_code",
|
|
4287
|
-
required: ["
|
|
4329
|
+
required: ["task_code"],
|
|
4288
4330
|
properties: {
|
|
4289
|
-
owner: {
|
|
4290
|
-
|
|
4331
|
+
owner: {
|
|
4332
|
+
type: "string",
|
|
4333
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4334
|
+
},
|
|
4335
|
+
repo: {
|
|
4336
|
+
type: "string",
|
|
4337
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4338
|
+
},
|
|
4291
4339
|
task_code: {
|
|
4292
4340
|
type: "string",
|
|
4293
4341
|
description: "Task code (e.g. PERF-1, TASK-001). Use instead of 'id' for string code lookup."
|
|
@@ -4301,10 +4349,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4301
4349
|
},
|
|
4302
4350
|
{
|
|
4303
4351
|
title: "By task_codes",
|
|
4304
|
-
required: ["
|
|
4352
|
+
required: ["task_codes"],
|
|
4305
4353
|
properties: {
|
|
4306
|
-
owner: {
|
|
4307
|
-
|
|
4354
|
+
owner: {
|
|
4355
|
+
type: "string",
|
|
4356
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4357
|
+
},
|
|
4358
|
+
repo: {
|
|
4359
|
+
type: "string",
|
|
4360
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4361
|
+
},
|
|
4308
4362
|
task_codes: {
|
|
4309
4363
|
type: "array",
|
|
4310
4364
|
items: { type: "string" },
|
|
@@ -4333,8 +4387,14 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4333
4387
|
inputSchema: {
|
|
4334
4388
|
type: "object",
|
|
4335
4389
|
properties: {
|
|
4336
|
-
owner: {
|
|
4337
|
-
|
|
4390
|
+
owner: {
|
|
4391
|
+
type: "string",
|
|
4392
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4393
|
+
},
|
|
4394
|
+
repo: {
|
|
4395
|
+
type: "string",
|
|
4396
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4397
|
+
},
|
|
4338
4398
|
task_code: { type: "string", description: "Unique task code (e.g. TASK-001) (Required for single task)" },
|
|
4339
4399
|
phase: { type: "string", description: "Project phase (Required for single task)" },
|
|
4340
4400
|
title: {
|
|
@@ -4415,7 +4475,7 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4415
4475
|
},
|
|
4416
4476
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4417
4477
|
},
|
|
4418
|
-
required: [
|
|
4478
|
+
required: []
|
|
4419
4479
|
},
|
|
4420
4480
|
outputSchema: {
|
|
4421
4481
|
type: "object",
|
|
@@ -4448,10 +4508,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4448
4508
|
oneOf: [
|
|
4449
4509
|
{
|
|
4450
4510
|
title: "By ID",
|
|
4451
|
-
required: ["
|
|
4511
|
+
required: ["id"],
|
|
4452
4512
|
properties: {
|
|
4453
|
-
owner: {
|
|
4454
|
-
|
|
4513
|
+
owner: {
|
|
4514
|
+
type: "string",
|
|
4515
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4516
|
+
},
|
|
4517
|
+
repo: {
|
|
4518
|
+
type: "string",
|
|
4519
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4520
|
+
},
|
|
4455
4521
|
id: { type: "string", format: "uuid", description: "Task ID (for single update)" },
|
|
4456
4522
|
phase: { type: "string" },
|
|
4457
4523
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
@@ -4511,10 +4577,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4511
4577
|
},
|
|
4512
4578
|
{
|
|
4513
4579
|
title: "By IDs",
|
|
4514
|
-
required: ["
|
|
4580
|
+
required: ["ids"],
|
|
4515
4581
|
properties: {
|
|
4516
|
-
owner: {
|
|
4517
|
-
|
|
4582
|
+
owner: {
|
|
4583
|
+
type: "string",
|
|
4584
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4585
|
+
},
|
|
4586
|
+
repo: {
|
|
4587
|
+
type: "string",
|
|
4588
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4589
|
+
},
|
|
4518
4590
|
ids: {
|
|
4519
4591
|
type: "array",
|
|
4520
4592
|
items: { type: "string", format: "uuid" },
|
|
@@ -4578,10 +4650,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4578
4650
|
},
|
|
4579
4651
|
{
|
|
4580
4652
|
title: "By task_code",
|
|
4581
|
-
required: ["
|
|
4653
|
+
required: ["task_code"],
|
|
4582
4654
|
properties: {
|
|
4583
|
-
owner: {
|
|
4584
|
-
|
|
4655
|
+
owner: {
|
|
4656
|
+
type: "string",
|
|
4657
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4658
|
+
},
|
|
4659
|
+
repo: {
|
|
4660
|
+
type: "string",
|
|
4661
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4662
|
+
},
|
|
4585
4663
|
task_code: { type: "string" },
|
|
4586
4664
|
phase: { type: "string" },
|
|
4587
4665
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
@@ -4641,10 +4719,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4641
4719
|
},
|
|
4642
4720
|
{
|
|
4643
4721
|
title: "By task_codes",
|
|
4644
|
-
required: ["
|
|
4722
|
+
required: ["task_codes"],
|
|
4645
4723
|
properties: {
|
|
4646
|
-
owner: {
|
|
4647
|
-
|
|
4724
|
+
owner: {
|
|
4725
|
+
type: "string",
|
|
4726
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4727
|
+
},
|
|
4728
|
+
repo: {
|
|
4729
|
+
type: "string",
|
|
4730
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4731
|
+
},
|
|
4648
4732
|
task_codes: {
|
|
4649
4733
|
type: "array",
|
|
4650
4734
|
items: { type: "string" },
|
|
@@ -4742,20 +4826,32 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4742
4826
|
oneOf: [
|
|
4743
4827
|
{
|
|
4744
4828
|
title: "By ID",
|
|
4745
|
-
required: ["
|
|
4829
|
+
required: ["id"],
|
|
4746
4830
|
properties: {
|
|
4747
|
-
owner: {
|
|
4748
|
-
|
|
4831
|
+
owner: {
|
|
4832
|
+
type: "string",
|
|
4833
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4834
|
+
},
|
|
4835
|
+
repo: {
|
|
4836
|
+
type: "string",
|
|
4837
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4838
|
+
},
|
|
4749
4839
|
id: { type: "string", format: "uuid", description: "Task ID (for single deletion)" },
|
|
4750
4840
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4751
4841
|
}
|
|
4752
4842
|
},
|
|
4753
4843
|
{
|
|
4754
4844
|
title: "By IDs",
|
|
4755
|
-
required: ["
|
|
4845
|
+
required: ["ids"],
|
|
4756
4846
|
properties: {
|
|
4757
|
-
owner: {
|
|
4758
|
-
|
|
4847
|
+
owner: {
|
|
4848
|
+
type: "string",
|
|
4849
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4850
|
+
},
|
|
4851
|
+
repo: {
|
|
4852
|
+
type: "string",
|
|
4853
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4854
|
+
},
|
|
4759
4855
|
ids: {
|
|
4760
4856
|
type: "array",
|
|
4761
4857
|
items: { type: "string", format: "uuid" },
|
|
@@ -4766,10 +4862,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4766
4862
|
},
|
|
4767
4863
|
{
|
|
4768
4864
|
title: "By task_code",
|
|
4769
|
-
required: ["
|
|
4865
|
+
required: ["task_code"],
|
|
4770
4866
|
properties: {
|
|
4771
|
-
owner: {
|
|
4772
|
-
|
|
4867
|
+
owner: {
|
|
4868
|
+
type: "string",
|
|
4869
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4870
|
+
},
|
|
4871
|
+
repo: {
|
|
4872
|
+
type: "string",
|
|
4873
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4874
|
+
},
|
|
4773
4875
|
task_code: {
|
|
4774
4876
|
type: "string",
|
|
4775
4877
|
description: "Task code (e.g. PERF-1, TASK-001). Use instead of 'id' for string code lookup."
|
|
@@ -4779,10 +4881,16 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4779
4881
|
},
|
|
4780
4882
|
{
|
|
4781
4883
|
title: "By task_codes",
|
|
4782
|
-
required: ["
|
|
4884
|
+
required: ["task_codes"],
|
|
4783
4885
|
properties: {
|
|
4784
|
-
owner: {
|
|
4785
|
-
|
|
4886
|
+
owner: {
|
|
4887
|
+
type: "string",
|
|
4888
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4889
|
+
},
|
|
4890
|
+
repo: {
|
|
4891
|
+
type: "string",
|
|
4892
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4893
|
+
},
|
|
4786
4894
|
task_codes: {
|
|
4787
4895
|
type: "array",
|
|
4788
4896
|
items: { type: "string" },
|
|
@@ -4819,10 +4927,13 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4819
4927
|
inputSchema: {
|
|
4820
4928
|
type: "object",
|
|
4821
4929
|
properties: {
|
|
4822
|
-
owner: {
|
|
4930
|
+
owner: {
|
|
4931
|
+
type: "string",
|
|
4932
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
4933
|
+
},
|
|
4823
4934
|
repo: {
|
|
4824
4935
|
type: "string",
|
|
4825
|
-
description: "Repository/project name (
|
|
4936
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
4826
4937
|
},
|
|
4827
4938
|
status: {
|
|
4828
4939
|
type: "string",
|
|
@@ -4856,7 +4967,7 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4856
4967
|
description: "If true, returns structured JSON without the text content summary."
|
|
4857
4968
|
}
|
|
4858
4969
|
},
|
|
4859
|
-
required: [
|
|
4970
|
+
required: []
|
|
4860
4971
|
},
|
|
4861
4972
|
outputSchema: {
|
|
4862
4973
|
type: "object",
|
|
@@ -4896,8 +5007,14 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4896
5007
|
inputSchema: {
|
|
4897
5008
|
type: "object",
|
|
4898
5009
|
properties: {
|
|
4899
|
-
owner: {
|
|
4900
|
-
|
|
5010
|
+
owner: {
|
|
5011
|
+
type: "string",
|
|
5012
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5013
|
+
},
|
|
5014
|
+
repo: {
|
|
5015
|
+
type: "string",
|
|
5016
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5017
|
+
},
|
|
4901
5018
|
query: {
|
|
4902
5019
|
type: "string",
|
|
4903
5020
|
minLength: 1,
|
|
@@ -4910,7 +5027,7 @@ var TASK_TOOL_DEFINITIONS = [
|
|
|
4910
5027
|
offset: { type: "number", minimum: 0, default: 0 },
|
|
4911
5028
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
4912
5029
|
},
|
|
4913
|
-
required: ["
|
|
5030
|
+
required: ["query"]
|
|
4914
5031
|
},
|
|
4915
5032
|
outputSchema: {
|
|
4916
5033
|
type: "object",
|
|
@@ -4958,8 +5075,8 @@ var HANDOFF_TOOL_DEFINITIONS = [
|
|
|
4958
5075
|
inputSchema: {
|
|
4959
5076
|
type: "object",
|
|
4960
5077
|
properties: {
|
|
4961
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
4962
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
5078
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5079
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
4963
5080
|
from_agent: { type: "string", description: "Agent creating the handoff" },
|
|
4964
5081
|
to_agent: { type: "string", description: "Optional target agent" },
|
|
4965
5082
|
task_id: { type: "string", format: "uuid", description: "Optional task id to associate" },
|
|
@@ -5033,8 +5150,8 @@ var HANDOFF_TOOL_DEFINITIONS = [
|
|
|
5033
5150
|
inputSchema: {
|
|
5034
5151
|
type: "object",
|
|
5035
5152
|
properties: {
|
|
5036
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5037
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
5153
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5154
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5038
5155
|
status: { type: "string", enum: ["pending", "accepted", "rejected", "expired"] },
|
|
5039
5156
|
from_agent: { type: "string" },
|
|
5040
5157
|
to_agent: { type: "string" },
|
|
@@ -5083,8 +5200,8 @@ var HANDOFF_TOOL_DEFINITIONS = [
|
|
|
5083
5200
|
inputSchema: {
|
|
5084
5201
|
type: "object",
|
|
5085
5202
|
properties: {
|
|
5086
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5087
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
5203
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5204
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5088
5205
|
task_id: {
|
|
5089
5206
|
type: "string",
|
|
5090
5207
|
format: "uuid",
|
|
@@ -5127,8 +5244,8 @@ var HANDOFF_TOOL_DEFINITIONS = [
|
|
|
5127
5244
|
inputSchema: {
|
|
5128
5245
|
type: "object",
|
|
5129
5246
|
properties: {
|
|
5130
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5131
|
-
repo: { type: "string", description: "Repository/project name" },
|
|
5247
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5248
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5132
5249
|
agent: { type: "string", description: "Optional agent filter" },
|
|
5133
5250
|
active_only: { type: "boolean", description: "When true, return only unreleased claims" },
|
|
5134
5251
|
limit: { type: "number", minimum: 1, maximum: 100, default: 20 },
|
|
@@ -5176,8 +5293,8 @@ var HANDOFF_TOOL_DEFINITIONS = [
|
|
|
5176
5293
|
inputSchema: {
|
|
5177
5294
|
type: "object",
|
|
5178
5295
|
properties: {
|
|
5179
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5180
|
-
repo: { type: "string", description: "Repository name" },
|
|
5296
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5297
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5181
5298
|
task_id: {
|
|
5182
5299
|
type: "string",
|
|
5183
5300
|
format: "uuid",
|
|
@@ -5226,7 +5343,7 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5226
5343
|
properties: {
|
|
5227
5344
|
code: { type: "string", description: "Short standard code (e.g. 'A3KPQ2')." },
|
|
5228
5345
|
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5229
|
-
repo: { type: "string", description: "Repository/project name." },
|
|
5346
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5230
5347
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON details." }
|
|
5231
5348
|
}
|
|
5232
5349
|
}
|
|
@@ -5250,8 +5367,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5250
5367
|
title: "By single ID",
|
|
5251
5368
|
required: ["owner", "repo", "id"],
|
|
5252
5369
|
properties: {
|
|
5253
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5254
|
-
repo: { type: "string", description: "Repository name." },
|
|
5370
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5371
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5255
5372
|
id: { type: "string", format: "uuid", description: "Coding standard ID to delete." },
|
|
5256
5373
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
5257
5374
|
}
|
|
@@ -5260,8 +5377,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5260
5377
|
title: "By bulk IDs",
|
|
5261
5378
|
required: ["owner", "repo", "ids"],
|
|
5262
5379
|
properties: {
|
|
5263
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5264
|
-
repo: { type: "string", description: "Repository name." },
|
|
5380
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5381
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5265
5382
|
ids: {
|
|
5266
5383
|
type: "array",
|
|
5267
5384
|
items: { type: "string", format: "uuid" },
|
|
@@ -5275,8 +5392,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5275
5392
|
title: "By single code",
|
|
5276
5393
|
required: ["owner", "repo", "code"],
|
|
5277
5394
|
properties: {
|
|
5278
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5279
|
-
repo: { type: "string", description: "Repository name." },
|
|
5395
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5396
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5280
5397
|
code: { type: "string", maxLength: 20, description: "Short standard code." },
|
|
5281
5398
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON result." }
|
|
5282
5399
|
}
|
|
@@ -5285,8 +5402,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5285
5402
|
title: "By bulk codes",
|
|
5286
5403
|
required: ["owner", "repo", "codes"],
|
|
5287
5404
|
properties: {
|
|
5288
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5289
|
-
repo: { type: "string", description: "Repository name." },
|
|
5405
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5406
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5290
5407
|
codes: {
|
|
5291
5408
|
type: "array",
|
|
5292
5409
|
items: { type: "string", maxLength: 20 },
|
|
@@ -5325,7 +5442,7 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5325
5442
|
inputSchema: {
|
|
5326
5443
|
type: "object",
|
|
5327
5444
|
properties: {
|
|
5328
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5445
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5329
5446
|
name: { type: "string", minLength: 3, maxLength: 255, description: "Human-readable standard name" },
|
|
5330
5447
|
content: {
|
|
5331
5448
|
type: "string",
|
|
@@ -5346,7 +5463,7 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5346
5463
|
},
|
|
5347
5464
|
repo: {
|
|
5348
5465
|
type: "string",
|
|
5349
|
-
description: "Repository name for repo-specific standards. Omit only for global standards."
|
|
5466
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Required for repo-specific standards. Omit only for global standards."
|
|
5350
5467
|
},
|
|
5351
5468
|
is_global: { type: "boolean", description: "Whether standard applies globally or repo-specific" },
|
|
5352
5469
|
tags: {
|
|
@@ -5449,8 +5566,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5449
5566
|
title: "By ID",
|
|
5450
5567
|
required: ["owner", "repo", "id"],
|
|
5451
5568
|
properties: {
|
|
5452
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5453
|
-
repo: { type: "string", description: "Repository name" },
|
|
5569
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5570
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5454
5571
|
id: { type: "string", format: "uuid", description: "Standard ID to update." },
|
|
5455
5572
|
code: { type: "string", maxLength: 20, description: "Short standard code." },
|
|
5456
5573
|
name: { type: "string", minLength: 3, maxLength: 255 },
|
|
@@ -5472,8 +5589,8 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5472
5589
|
title: "By code",
|
|
5473
5590
|
required: ["owner", "repo", "code"],
|
|
5474
5591
|
properties: {
|
|
5475
|
-
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)" },
|
|
5476
|
-
repo: { type: "string", description: "Repository name" },
|
|
5592
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5593
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp')." },
|
|
5477
5594
|
code: { type: "string", maxLength: 20, description: "Short standard code." },
|
|
5478
5595
|
id: { type: "string", format: "uuid", description: "Standard ID." },
|
|
5479
5596
|
name: { type: "string", minLength: 3, maxLength: 255 },
|
|
@@ -5515,6 +5632,7 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5515
5632
|
inputSchema: {
|
|
5516
5633
|
type: "object",
|
|
5517
5634
|
properties: {
|
|
5635
|
+
owner: { type: "string", description: "Organization/namespace (e.g., GitHub org or username)." },
|
|
5518
5636
|
query: { type: "string", description: "Search query (optional, searches title/content)" },
|
|
5519
5637
|
stack: {
|
|
5520
5638
|
type: "array",
|
|
@@ -5529,7 +5647,7 @@ var STANDARD_TOOL_DEFINITIONS = [
|
|
|
5529
5647
|
language: { type: "string", description: "Programming language filter" },
|
|
5530
5648
|
context: { type: "string", description: "Context/category filter" },
|
|
5531
5649
|
version: { type: "string", description: "Version filter" },
|
|
5532
|
-
repo: { type: "string", description: "Repository
|
|
5650
|
+
repo: { type: "string", description: "Repository/project name (e.g., 'local-memory-mcp'). Optional filter." },
|
|
5533
5651
|
is_global: { type: "boolean", description: "Filter by global/repo-specific" },
|
|
5534
5652
|
limit: { type: "number", minimum: 1, maximum: 100, default: 20 },
|
|
5535
5653
|
offset: { type: "number", minimum: 0, default: 0 },
|
|
@@ -5583,11 +5701,11 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5583
5701
|
properties: {
|
|
5584
5702
|
owner: {
|
|
5585
5703
|
type: "string",
|
|
5586
|
-
description: "Organization/namespace (e.g., GitHub org or username). Auto-
|
|
5704
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5587
5705
|
},
|
|
5588
5706
|
repo: {
|
|
5589
5707
|
type: "string",
|
|
5590
|
-
description: "Repository/project name. Auto-
|
|
5708
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5591
5709
|
},
|
|
5592
5710
|
objective: {
|
|
5593
5711
|
type: "string",
|
|
@@ -5694,11 +5812,11 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5694
5812
|
},
|
|
5695
5813
|
owner: {
|
|
5696
5814
|
type: "string",
|
|
5697
|
-
description: "Organization/namespace. Auto-
|
|
5815
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5698
5816
|
},
|
|
5699
5817
|
repo: {
|
|
5700
5818
|
type: "string",
|
|
5701
|
-
description: "Repository/project name. Auto-
|
|
5819
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5702
5820
|
},
|
|
5703
5821
|
structured: {
|
|
5704
5822
|
type: "boolean",
|
|
@@ -5753,11 +5871,11 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5753
5871
|
},
|
|
5754
5872
|
owner: {
|
|
5755
5873
|
type: "string",
|
|
5756
|
-
description: "Organization/namespace. Auto-
|
|
5874
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5757
5875
|
},
|
|
5758
5876
|
repo: {
|
|
5759
5877
|
type: "string",
|
|
5760
|
-
description: "Repository/project name. Auto-
|
|
5878
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5761
5879
|
},
|
|
5762
5880
|
structured: {
|
|
5763
5881
|
type: "boolean",
|
|
@@ -5788,8 +5906,14 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5788
5906
|
inputSchema: {
|
|
5789
5907
|
type: "object",
|
|
5790
5908
|
properties: {
|
|
5791
|
-
owner: {
|
|
5792
|
-
|
|
5909
|
+
owner: {
|
|
5910
|
+
type: "string",
|
|
5911
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5912
|
+
},
|
|
5913
|
+
repo: {
|
|
5914
|
+
type: "string",
|
|
5915
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5916
|
+
},
|
|
5793
5917
|
title: { type: "string", description: "Title for the fact/memory." },
|
|
5794
5918
|
content: { type: "string", description: "The fact content to store." },
|
|
5795
5919
|
type: { type: "string", default: "code_fact" },
|
|
@@ -5811,8 +5935,14 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5811
5935
|
inputSchema: {
|
|
5812
5936
|
type: "object",
|
|
5813
5937
|
properties: {
|
|
5814
|
-
owner: {
|
|
5815
|
-
|
|
5938
|
+
owner: {
|
|
5939
|
+
type: "string",
|
|
5940
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5941
|
+
},
|
|
5942
|
+
repo: {
|
|
5943
|
+
type: "string",
|
|
5944
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5945
|
+
},
|
|
5816
5946
|
facts: { type: "array", items: { type: "object" }, description: "Array of fact objects." }
|
|
5817
5947
|
},
|
|
5818
5948
|
required: ["facts"]
|
|
@@ -5827,8 +5957,14 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5827
5957
|
inputSchema: {
|
|
5828
5958
|
type: "object",
|
|
5829
5959
|
properties: {
|
|
5830
|
-
owner: {
|
|
5831
|
-
|
|
5960
|
+
owner: {
|
|
5961
|
+
type: "string",
|
|
5962
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5963
|
+
},
|
|
5964
|
+
repo: {
|
|
5965
|
+
type: "string",
|
|
5966
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5967
|
+
},
|
|
5832
5968
|
query: { type: "string", description: "Search query." },
|
|
5833
5969
|
type: { type: "string", description: "Filter by memory type." },
|
|
5834
5970
|
limit: { type: "number", default: 10 }
|
|
@@ -5845,8 +5981,14 @@ var AGENT_TOOL_DEFINITIONS = [
|
|
|
5845
5981
|
inputSchema: {
|
|
5846
5982
|
type: "object",
|
|
5847
5983
|
properties: {
|
|
5848
|
-
owner: {
|
|
5849
|
-
|
|
5984
|
+
owner: {
|
|
5985
|
+
type: "string",
|
|
5986
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5987
|
+
},
|
|
5988
|
+
repo: {
|
|
5989
|
+
type: "string",
|
|
5990
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5991
|
+
},
|
|
5850
5992
|
id: { type: "string", description: "Memory ID to delete." },
|
|
5851
5993
|
code: { type: "string", description: "Memory code to delete." }
|
|
5852
5994
|
},
|
|
@@ -5886,11 +6028,11 @@ var KG_TOOL_DEFINITIONS = [
|
|
|
5886
6028
|
},
|
|
5887
6029
|
owner: {
|
|
5888
6030
|
type: "string",
|
|
5889
|
-
description: "Organization/namespace. Auto-
|
|
6031
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5890
6032
|
},
|
|
5891
6033
|
repo: {
|
|
5892
6034
|
type: "string",
|
|
5893
|
-
description: "Repository/project name. Auto-
|
|
6035
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5894
6036
|
},
|
|
5895
6037
|
structured: {
|
|
5896
6038
|
type: "boolean",
|
|
@@ -5936,11 +6078,11 @@ var KG_TOOL_DEFINITIONS = [
|
|
|
5936
6078
|
},
|
|
5937
6079
|
owner: {
|
|
5938
6080
|
type: "string",
|
|
5939
|
-
description: "Organization/namespace. Auto-
|
|
6081
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5940
6082
|
},
|
|
5941
6083
|
repo: {
|
|
5942
6084
|
type: "string",
|
|
5943
|
-
description: "Repository/project name. Auto-
|
|
6085
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5944
6086
|
},
|
|
5945
6087
|
structured: {
|
|
5946
6088
|
type: "boolean",
|
|
@@ -5985,11 +6127,11 @@ var KG_TOOL_DEFINITIONS = [
|
|
|
5985
6127
|
},
|
|
5986
6128
|
owner: {
|
|
5987
6129
|
type: "string",
|
|
5988
|
-
description: "Organization/namespace. Auto-
|
|
6130
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
5989
6131
|
},
|
|
5990
6132
|
repo: {
|
|
5991
6133
|
type: "string",
|
|
5992
|
-
description: "Repository/project name. Auto-
|
|
6134
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
5993
6135
|
},
|
|
5994
6136
|
structured: {
|
|
5995
6137
|
type: "boolean",
|
|
@@ -6041,11 +6183,11 @@ var KG_TOOL_DEFINITIONS = [
|
|
|
6041
6183
|
},
|
|
6042
6184
|
owner: {
|
|
6043
6185
|
type: "string",
|
|
6044
|
-
description: "Organization/namespace. Auto-
|
|
6186
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
6045
6187
|
},
|
|
6046
6188
|
repo: {
|
|
6047
6189
|
type: "string",
|
|
6048
|
-
description: "Repository/project name. Auto-
|
|
6190
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
6049
6191
|
},
|
|
6050
6192
|
structured: {
|
|
6051
6193
|
type: "boolean",
|
|
@@ -6082,11 +6224,11 @@ var KG_TOOL_DEFINITIONS = [
|
|
|
6082
6224
|
},
|
|
6083
6225
|
owner: {
|
|
6084
6226
|
type: "string",
|
|
6085
|
-
description: "Organization/namespace. Auto-
|
|
6227
|
+
description: "Organization/namespace (e.g., GitHub org or username). Auto-inferred from session when omitted."
|
|
6086
6228
|
},
|
|
6087
6229
|
repo: {
|
|
6088
6230
|
type: "string",
|
|
6089
|
-
description: "Repository/project name. Auto-
|
|
6231
|
+
description: "Repository/project name (e.g., 'local-memory-mcp'). Auto-inferred from session when omitted."
|
|
6090
6232
|
},
|
|
6091
6233
|
structured: {
|
|
6092
6234
|
type: "boolean",
|
|
@@ -6457,6 +6599,28 @@ var SingleStandardSchema = z2.object({
|
|
|
6457
6599
|
model: z2.string().optional()
|
|
6458
6600
|
});
|
|
6459
6601
|
var TaskStatusValues = TaskStatusSchema.options;
|
|
6602
|
+
function isPlainObject(v) {
|
|
6603
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) && Object.getPrototypeOf(v) === Object.prototype;
|
|
6604
|
+
}
|
|
6605
|
+
function isJsonSerializable(val) {
|
|
6606
|
+
try {
|
|
6607
|
+
JSON.stringify(val);
|
|
6608
|
+
return true;
|
|
6609
|
+
} catch {
|
|
6610
|
+
return false;
|
|
6611
|
+
}
|
|
6612
|
+
}
|
|
6613
|
+
var StructuredDataValue = z2.lazy(
|
|
6614
|
+
() => z2.union([
|
|
6615
|
+
z2.string(),
|
|
6616
|
+
z2.number().refine((v) => Number.isFinite(v), "Number must be finite"),
|
|
6617
|
+
z2.boolean(),
|
|
6618
|
+
z2.null(),
|
|
6619
|
+
z2.array(StructuredDataValue),
|
|
6620
|
+
z2.record(z2.string(), StructuredDataValue).refine(isPlainObject, "Plain object required")
|
|
6621
|
+
])
|
|
6622
|
+
);
|
|
6623
|
+
var StructuredDataSchema = z2.unknown().refine(isJsonSerializable, { message: "Value must be JSON-serializable" }).pipe(z2.record(z2.string(), StructuredDataValue));
|
|
6460
6624
|
|
|
6461
6625
|
// src/mcp/tools/schemas/memory.ts
|
|
6462
6626
|
import { z as z3 } from "zod";
|
|
@@ -6538,8 +6702,8 @@ var MemoryAcknowledgeSchema = z3.object({
|
|
|
6538
6702
|
message: "Either memory_id or code must be provided"
|
|
6539
6703
|
});
|
|
6540
6704
|
var MemoryRecapSchema = z3.object({
|
|
6541
|
-
owner: z3.string().min(1),
|
|
6542
|
-
repo: z3.string().min(1).transform(normalizeRepo),
|
|
6705
|
+
owner: z3.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
6706
|
+
repo: z3.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6543
6707
|
limit: z3.number().min(1).max(50).default(20),
|
|
6544
6708
|
offset: z3.number().min(0).default(0),
|
|
6545
6709
|
structured: z3.boolean().default(false)
|
|
@@ -6729,8 +6893,8 @@ var TaskUpdateSchema = z4.object({
|
|
|
6729
6893
|
message: "At least one field besides repo and id/ids must be provided for update"
|
|
6730
6894
|
});
|
|
6731
6895
|
var TaskListSchema = z4.object({
|
|
6732
|
-
owner: z4.string().min(1),
|
|
6733
|
-
repo: z4.string().min(1).transform(normalizeRepo),
|
|
6896
|
+
owner: z4.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
6897
|
+
repo: z4.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6734
6898
|
status: TaskStatusListSchema.default("backlog,pending,in_progress,blocked"),
|
|
6735
6899
|
phase: z4.string().optional(),
|
|
6736
6900
|
query: z4.string().optional(),
|
|
@@ -6759,7 +6923,9 @@ var TaskDeleteSchema = z4.object({
|
|
|
6759
6923
|
structured: z4.boolean().default(false)
|
|
6760
6924
|
}).refine(
|
|
6761
6925
|
(data) => data.id !== void 0 || data.ids !== void 0 || data.task_code !== void 0 || data.task_codes !== void 0,
|
|
6762
|
-
{
|
|
6926
|
+
{
|
|
6927
|
+
message: "Either 'id' (UUID), 'ids' (array of UUIDs), 'task_code' (string code like PERF-1), or 'task_codes' (array of string codes) must be provided. Note: 'ids' expects UUID format, not task codes \u2014 use 'task_code'/'task_codes' for string identifiers."
|
|
6928
|
+
}
|
|
6763
6929
|
);
|
|
6764
6930
|
var TaskGetSchema = z4.object({
|
|
6765
6931
|
owner: z4.string().min(1),
|
|
@@ -6775,8 +6941,8 @@ var TaskGetSchema = z4.object({
|
|
|
6775
6941
|
// src/mcp/tools/schemas/handoff.ts
|
|
6776
6942
|
import { z as z5 } from "zod";
|
|
6777
6943
|
var HandoffCreateSchema = z5.object({
|
|
6778
|
-
owner: z5.string().min(1
|
|
6779
|
-
repo: z5.string().min(1).transform(normalizeRepo),
|
|
6944
|
+
owner: z5.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
6945
|
+
repo: z5.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6780
6946
|
from_agent: z5.string().min(1),
|
|
6781
6947
|
to_agent: z5.string().min(1).optional(),
|
|
6782
6948
|
task_id: z5.string().uuid().optional(),
|
|
@@ -6799,8 +6965,8 @@ var HandoffUpdateSchema = z5.object({
|
|
|
6799
6965
|
structured: z5.boolean().default(false)
|
|
6800
6966
|
});
|
|
6801
6967
|
var HandoffListSchema = z5.object({
|
|
6802
|
-
owner: z5.string().min(1
|
|
6803
|
-
repo: z5.string().min(1).transform(normalizeRepo),
|
|
6968
|
+
owner: z5.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
6969
|
+
repo: z5.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6804
6970
|
status: HandoffStatusSchema.optional(),
|
|
6805
6971
|
from_agent: z5.string().min(1).optional(),
|
|
6806
6972
|
to_agent: z5.string().min(1).optional(),
|
|
@@ -6809,8 +6975,8 @@ var HandoffListSchema = z5.object({
|
|
|
6809
6975
|
structured: z5.boolean().default(false)
|
|
6810
6976
|
});
|
|
6811
6977
|
var TaskClaimSchema = z5.object({
|
|
6812
|
-
owner: z5.string().min(1
|
|
6813
|
-
repo: z5.string().min(1).transform(normalizeRepo),
|
|
6978
|
+
owner: z5.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
6979
|
+
repo: z5.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6814
6980
|
task_id: z5.string().uuid().optional(),
|
|
6815
6981
|
task_code: z5.string().optional(),
|
|
6816
6982
|
agent: z5.string().min(1),
|
|
@@ -6823,8 +6989,8 @@ var TaskClaimSchema = z5.object({
|
|
|
6823
6989
|
message: "Provide either task_id or task_code, not both"
|
|
6824
6990
|
});
|
|
6825
6991
|
var ClaimListSchema = z5.object({
|
|
6826
|
-
owner: z5.string().
|
|
6827
|
-
repo: z5.string().
|
|
6992
|
+
owner: z5.string().optional().default(""),
|
|
6993
|
+
repo: z5.string().transform(normalizeRepo).optional().default(""),
|
|
6828
6994
|
agent: z5.string().min(1).optional(),
|
|
6829
6995
|
active_only: z5.boolean().default(true),
|
|
6830
6996
|
limit: z5.number().min(1).max(100).default(20),
|
|
@@ -6832,8 +6998,8 @@ var ClaimListSchema = z5.object({
|
|
|
6832
6998
|
structured: z5.boolean().default(false)
|
|
6833
6999
|
});
|
|
6834
7000
|
var ClaimReleaseSchema = z5.object({
|
|
6835
|
-
owner: z5.string().min(1
|
|
6836
|
-
repo: z5.string().min(1).transform(normalizeRepo),
|
|
7001
|
+
owner: z5.string().min(1, "owner is required \u2014 provide it explicitly or configure MCP workspace roots"),
|
|
7002
|
+
repo: z5.string().min(1, "repo is required \u2014 provide it explicitly or configure MCP workspace roots").transform(normalizeRepo),
|
|
6837
7003
|
task_id: z5.string().uuid().optional(),
|
|
6838
7004
|
task_code: z5.string().optional(),
|
|
6839
7005
|
agent: z5.string().min(1).optional(),
|
|
@@ -7070,7 +7236,13 @@ async function handleHandoffCreate(args, storage) {
|
|
|
7070
7236
|
});
|
|
7071
7237
|
}
|
|
7072
7238
|
async function handleHandoffList(args, storage) {
|
|
7073
|
-
const
|
|
7239
|
+
const parsed = HandoffListSchema.safeParse(args);
|
|
7240
|
+
if (!parsed.success) {
|
|
7241
|
+
const missing = parsed.error.issues.filter((i) => i.path.some((p) => p === "owner" || p === "repo")).map((i) => i.message).filter(Boolean);
|
|
7242
|
+
const msg = missing.length > 0 ? `Missing required fields: ${missing.join("; ")}. Pass owner/repo explicitly or configure MCP workspace roots so they can be auto-inferred.` : `Validation error: ${parsed.error.message}`;
|
|
7243
|
+
return { content: [{ type: "text", text: msg }], isError: true };
|
|
7244
|
+
}
|
|
7245
|
+
const validated = parsed.data;
|
|
7074
7246
|
const { owner, repo, status, from_agent, to_agent, limit, offset, structured } = validated;
|
|
7075
7247
|
const handoffs = storage.handoffs.listHandoffs({
|
|
7076
7248
|
owner,
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
parseRepoInput,
|
|
62
62
|
rankCompletionValues,
|
|
63
63
|
toContextSlug
|
|
64
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-M47LSTGD.js";
|
|
65
65
|
|
|
66
66
|
// src/mcp/server.ts
|
|
67
67
|
import { serveStdio } from "@modelcontextprotocol/server/stdio";
|
|
@@ -74,8 +74,8 @@ import path from "path";
|
|
|
74
74
|
import { fileURLToPath } from "url";
|
|
75
75
|
var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
76
76
|
var pkgVersion = "0.1.0";
|
|
77
|
-
if ("0.19.
|
|
78
|
-
pkgVersion = "0.19.
|
|
77
|
+
if ("0.19.7") {
|
|
78
|
+
pkgVersion = "0.19.7";
|
|
79
79
|
} else {
|
|
80
80
|
let searchDir = __dirname;
|
|
81
81
|
for (let i = 0; i < 5; i++) {
|
|
@@ -1118,7 +1118,13 @@ function extractAcceptedElicitationContent(result) {
|
|
|
1118
1118
|
|
|
1119
1119
|
// src/mcp/tools/memory.recap.ts
|
|
1120
1120
|
async function handleMemoryRecap(params, db2) {
|
|
1121
|
-
const
|
|
1121
|
+
const parsed = MemoryRecapSchema.safeParse(params);
|
|
1122
|
+
if (!parsed.success) {
|
|
1123
|
+
const missing = parsed.error.issues.filter((i) => i.path.some((p) => p === "owner" || p === "repo")).map((i) => i.message).filter(Boolean);
|
|
1124
|
+
const msg = missing.length > 0 ? `Missing required fields: ${missing.join("; ")}. Pass owner/repo explicitly or configure MCP workspace roots so they can be auto-inferred.` : `Validation error: ${parsed.error.message}`;
|
|
1125
|
+
return { content: [{ type: "text", text: msg }], isError: true };
|
|
1126
|
+
}
|
|
1127
|
+
const validated = parsed.data;
|
|
1122
1128
|
logger.info("[Tool] memory.recap", { repo: validated.repo, limit: validated.limit, offset: validated.offset });
|
|
1123
1129
|
const stats = db2.memories.getStats(validated.owner, validated.repo);
|
|
1124
1130
|
const total = db2.memories.getTotalCount(validated.owner, validated.repo, false, ["task_archive"]);
|
|
@@ -1241,7 +1247,13 @@ function capitalize3(str) {
|
|
|
1241
1247
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
1242
1248
|
}
|
|
1243
1249
|
async function handleTaskList(args, storage) {
|
|
1244
|
-
const
|
|
1250
|
+
const parsed = TaskListSchema.safeParse(args);
|
|
1251
|
+
if (!parsed.success) {
|
|
1252
|
+
const missing = parsed.error.issues.filter((i) => i.path.some((p) => p === "owner" || p === "repo")).map((i) => i.message).filter(Boolean);
|
|
1253
|
+
const msg = missing.length > 0 ? `Missing required fields: ${missing.join("; ")}. Pass owner/repo explicitly or configure MCP workspace roots so they can be auto-inferred.` : `Validation error: ${parsed.error.message}`;
|
|
1254
|
+
return { content: [{ type: "text", text: msg }], isError: true };
|
|
1255
|
+
}
|
|
1256
|
+
const validated = parsed.data;
|
|
1245
1257
|
const { owner, repo, status, phase, query, limit, offset, structured: isStructuredRequest = false } = validated;
|
|
1246
1258
|
let statuses = [];
|
|
1247
1259
|
if (status !== "all") {
|
|
@@ -3554,28 +3566,36 @@ function normalizeToolArgs(args, session) {
|
|
|
3554
3566
|
if (!nextArgs.owner) {
|
|
3555
3567
|
const repoVal2 = nextArgs.repo || "";
|
|
3556
3568
|
const parsed = parseRepoInput(repoVal2, void 0);
|
|
3557
|
-
|
|
3558
|
-
if (
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3569
|
+
const inferredOwner = parsed.owner || inferOwnerFromSession(session);
|
|
3570
|
+
if (inferredOwner !== void 0) {
|
|
3571
|
+
nextArgs.owner = inferredOwner;
|
|
3572
|
+
if (!repoVal2.includes("/")) {
|
|
3573
|
+
logger.warn(
|
|
3574
|
+
`[tools] owner inferred from session (${nextArgs.owner}) \u2014 may be incorrect. Agents should pass explicit owner/repo.`
|
|
3575
|
+
);
|
|
3576
|
+
}
|
|
3562
3577
|
}
|
|
3563
3578
|
}
|
|
3564
3579
|
if (scope && !scope.owner) {
|
|
3565
3580
|
const repoVal2 = scope.repo || nextArgs.repo || "";
|
|
3566
3581
|
const parsed = parseRepoInput(repoVal2, void 0);
|
|
3567
|
-
|
|
3582
|
+
const inferredOwner = parsed.owner || nextArgs.owner || inferOwnerFromSession(session);
|
|
3583
|
+
if (inferredOwner !== void 0) {
|
|
3584
|
+
scope.owner = inferredOwner;
|
|
3585
|
+
}
|
|
3568
3586
|
}
|
|
3569
|
-
const ownerVal = nextArgs.owner || inferOwnerFromSession(session) ||
|
|
3570
|
-
const repoVal = nextArgs.repo || inferRepoFromSession(session) ||
|
|
3587
|
+
const ownerVal = nextArgs.owner || inferOwnerFromSession(session) || void 0;
|
|
3588
|
+
const repoVal = nextArgs.repo || inferRepoFromSession(session) || void 0;
|
|
3571
3589
|
const memories = nextArgs.memories;
|
|
3572
3590
|
if (memories) {
|
|
3573
3591
|
for (const mem of memories) {
|
|
3574
3592
|
const memScope = mem.scope;
|
|
3575
3593
|
if (memScope) {
|
|
3576
|
-
if (!memScope.owner)
|
|
3577
|
-
|
|
3578
|
-
|
|
3594
|
+
if (!memScope.owner) {
|
|
3595
|
+
const inferredMemOwner = ownerVal || parseRepoInput(memScope.repo || repoVal || "", void 0).owner;
|
|
3596
|
+
if (inferredMemOwner) memScope.owner = inferredMemOwner;
|
|
3597
|
+
}
|
|
3598
|
+
if (!memScope.repo && repoVal) memScope.repo = repoVal;
|
|
3579
3599
|
}
|
|
3580
3600
|
}
|
|
3581
3601
|
}
|