@zeliper/zscode-mcp-server 1.0.5 → 1.0.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/state/manager.d.ts +39 -0
- package/dist/state/manager.d.ts.map +1 -1
- package/dist/state/manager.js +110 -0
- package/dist/state/manager.js.map +1 -1
- package/dist/tools/archive.d.ts.map +1 -1
- package/dist/tools/archive.js +9 -42
- package/dist/tools/archive.js.map +1 -1
- package/dist/tools/cancel.d.ts.map +1 -1
- package/dist/tools/cancel.js +9 -22
- package/dist/tools/cancel.js.map +1 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +59 -32
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/memory.d.ts.map +1 -1
- package/dist/tools/memory.js +13 -42
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/modify.d.ts.map +1 -1
- package/dist/tools/modify.js +91 -28
- package/dist/tools/modify.js.map +1 -1
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +19 -28
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/staging.d.ts.map +1 -1
- package/dist/tools/staging.js +242 -48
- package/dist/tools/staging.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +44 -11
- package/dist/tools/status.js.map +1 -1
- package/dist/utils/format.d.ts +73 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +142 -4
- package/dist/utils/format.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/cancel.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { StateManager } from "../state/manager.js";
|
|
3
3
|
import { withErrorHandling, ProjectNotInitializedError, PlanNotFoundError, PlanInvalidStateError, } from "../errors/index.js";
|
|
4
|
+
import { textResponse, textErrorResponse, formatPlanCancelled } from "../utils/format.js";
|
|
4
5
|
/**
|
|
5
6
|
* Register cancel tool
|
|
6
7
|
*/
|
|
@@ -26,39 +27,25 @@ export function registerCancelTool(server) {
|
|
|
26
27
|
throw new PlanInvalidStateError(args.planId, plan.status, ["draft", "active", "completed"]);
|
|
27
28
|
}
|
|
28
29
|
// Cancel the plan
|
|
29
|
-
|
|
30
|
+
await manager.cancelPlan(args.planId, args.reason);
|
|
30
31
|
// Optionally archive
|
|
31
|
-
let archivePath;
|
|
32
32
|
if (args.archiveImmediately) {
|
|
33
|
-
|
|
33
|
+
await manager.archivePlan(args.planId, args.reason);
|
|
34
34
|
}
|
|
35
35
|
return {
|
|
36
36
|
success: true,
|
|
37
|
-
|
|
38
|
-
cancel: {
|
|
39
|
-
planId: plan.id,
|
|
40
|
-
title: plan.title,
|
|
41
|
-
reason: args.reason,
|
|
42
|
-
cancelledAt: new Date().toISOString(),
|
|
43
|
-
},
|
|
44
|
-
affected: {
|
|
45
|
-
stagings: affectedStagings,
|
|
46
|
-
tasks: affectedTasks,
|
|
47
|
-
},
|
|
37
|
+
title: plan.title,
|
|
48
38
|
archived: args.archiveImmediately,
|
|
49
|
-
archivePath,
|
|
50
39
|
};
|
|
51
40
|
}, "zscode:cancel");
|
|
52
41
|
if (result.success) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
const msg = result.data.archived
|
|
43
|
+
? `${formatPlanCancelled(result.data.title)} (archived)`
|
|
44
|
+
: formatPlanCancelled(result.data.title);
|
|
45
|
+
return textResponse(msg);
|
|
56
46
|
}
|
|
57
47
|
else {
|
|
58
|
-
return
|
|
59
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
60
|
-
isError: true,
|
|
61
|
-
};
|
|
48
|
+
return textErrorResponse(result.error.message);
|
|
62
49
|
}
|
|
63
50
|
});
|
|
64
51
|
}
|
package/dist/tools/cancel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/tools/cancel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/tools/cancel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mJAAmJ,EACnJ;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACjE,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aAC3C,QAAQ,CAAC,wDAAwD,CAAC;KACtE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC9D,MAAM,IAAI,qBAAqB,CAC7B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CACjC,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,qBAAqB;YACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,kBAAkB;aAClC,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ;gBAC9B,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxD,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA+PjF"}
|
package/dist/tools/context.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { StateManager } from "../state/manager.js";
|
|
3
3
|
import { withErrorHandling } from "../errors/index.js";
|
|
4
|
-
import { createResponse, createErrorResponse } from "../utils/format.js";
|
|
4
|
+
import { createResponse, createErrorResponse, textResponse, textErrorResponse, formatContextSummary, formatDecisionAdded } from "../utils/format.js";
|
|
5
5
|
/**
|
|
6
6
|
* Register context-related tools
|
|
7
7
|
*/
|
|
8
8
|
export function registerContextTools(server, projectRoot) {
|
|
9
9
|
// ============ get_full_context ============
|
|
10
10
|
server.tool("get_full_context", "Get the full project context including all plans, stagings, tasks, and history. Use this to understand the current state of the project.", {
|
|
11
|
-
lightweight: z.boolean().default(
|
|
12
|
-
.describe("If true, return only IDs and status for plans/stagings/tasks (reduces context by ~70%)"),
|
|
11
|
+
lightweight: z.boolean().default(true)
|
|
12
|
+
.describe("If true, return only IDs and status for plans/stagings/tasks (reduces context by ~70%). Default true."),
|
|
13
13
|
includeOutputs: z.boolean().default(false)
|
|
14
14
|
.describe("If true, include task outputs (can be large). Default false for reduced context."),
|
|
15
15
|
includeHistory: z.boolean().default(false)
|
|
16
16
|
.describe("If true, include recent history entries. Default false."),
|
|
17
17
|
includeDecisions: z.boolean().default(false)
|
|
18
18
|
.describe("If true, include decisions. Default false."),
|
|
19
|
+
json: z.boolean().default(false)
|
|
20
|
+
.describe("If true, return full JSON. Default false returns human-readable summary."),
|
|
19
21
|
}, async (args) => {
|
|
20
22
|
const result = await withErrorHandling(async () => {
|
|
21
23
|
const manager = StateManager.getInstance();
|
|
@@ -37,14 +39,22 @@ export function registerContextTools(server, projectRoot) {
|
|
|
37
39
|
cancelledPlans: plans.filter(p => p.status === "cancelled").length,
|
|
38
40
|
};
|
|
39
41
|
// Get always-applied memories (general + project-summary)
|
|
42
|
+
// In lightweight mode, exclude content for context optimization
|
|
40
43
|
const alwaysAppliedMemories = manager.getAlwaysAppliedMemories();
|
|
41
|
-
const appliedMemories =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const appliedMemories = args.lightweight
|
|
45
|
+
? alwaysAppliedMemories.map(m => ({
|
|
46
|
+
id: m.id,
|
|
47
|
+
category: m.category,
|
|
48
|
+
title: m.title,
|
|
49
|
+
priority: m.priority,
|
|
50
|
+
}))
|
|
51
|
+
: alwaysAppliedMemories.map(m => ({
|
|
52
|
+
id: m.id,
|
|
53
|
+
category: m.category,
|
|
54
|
+
title: m.title,
|
|
55
|
+
content: m.content,
|
|
56
|
+
priority: m.priority,
|
|
57
|
+
}));
|
|
48
58
|
// Lightweight mode: return only essential info
|
|
49
59
|
if (args.lightweight) {
|
|
50
60
|
const plansSummary = Object.fromEntries(Object.entries(state.plans).map(([id, p]) => [id, {
|
|
@@ -106,10 +116,39 @@ export function registerContextTools(server, projectRoot) {
|
|
|
106
116
|
};
|
|
107
117
|
}, "get_full_context");
|
|
108
118
|
if (result.success) {
|
|
109
|
-
|
|
119
|
+
if (args.json) {
|
|
120
|
+
return createResponse(result.data);
|
|
121
|
+
}
|
|
122
|
+
// Default: Human-readable summary
|
|
123
|
+
const data = result.data;
|
|
124
|
+
if (!data.initialized) {
|
|
125
|
+
return textResponse("⚠️ Project not initialized. Run 'npx zscode init' to initialize.");
|
|
126
|
+
}
|
|
127
|
+
// Find current plan/staging names
|
|
128
|
+
let currentPlanTitle;
|
|
129
|
+
let currentStagingName;
|
|
130
|
+
if (data.currentPlanId && data.plans) {
|
|
131
|
+
const plan = data.plans[data.currentPlanId];
|
|
132
|
+
currentPlanTitle = plan?.title;
|
|
133
|
+
}
|
|
134
|
+
if (data.currentStagingId && data.stagings) {
|
|
135
|
+
const staging = data.stagings[data.currentStagingId];
|
|
136
|
+
currentStagingName = staging?.name;
|
|
137
|
+
}
|
|
138
|
+
return textResponse(formatContextSummary({
|
|
139
|
+
projectName: data.project?.name || "Unknown",
|
|
140
|
+
totalPlans: data.overview?.totalPlans || 0,
|
|
141
|
+
activePlans: data.overview?.activePlans || 0,
|
|
142
|
+
completedPlans: data.overview?.completedPlans || 0,
|
|
143
|
+
currentPlan: currentPlanTitle,
|
|
144
|
+
currentStaging: currentStagingName,
|
|
145
|
+
}));
|
|
110
146
|
}
|
|
111
147
|
else {
|
|
112
|
-
|
|
148
|
+
if (args.json) {
|
|
149
|
+
return createErrorResponse(result.error);
|
|
150
|
+
}
|
|
151
|
+
return textErrorResponse(result.error.message);
|
|
113
152
|
}
|
|
114
153
|
});
|
|
115
154
|
// ============ init_project ============
|
|
@@ -129,23 +168,17 @@ export function registerContextTools(server, projectRoot) {
|
|
|
129
168
|
project: manager.getProject(),
|
|
130
169
|
};
|
|
131
170
|
}
|
|
132
|
-
|
|
171
|
+
await manager.initializeProject(args.name, args.description, args.goals, args.constraints);
|
|
133
172
|
return {
|
|
134
173
|
success: true,
|
|
135
|
-
|
|
136
|
-
project,
|
|
174
|
+
name: args.name,
|
|
137
175
|
};
|
|
138
176
|
}, "init_project");
|
|
139
177
|
if (result.success) {
|
|
140
|
-
return {
|
|
141
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
142
|
-
};
|
|
178
|
+
return textResponse(`✅ Project **${result.data.name}** initialized`);
|
|
143
179
|
}
|
|
144
180
|
else {
|
|
145
|
-
return
|
|
146
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
147
|
-
isError: true,
|
|
148
|
-
};
|
|
181
|
+
return textErrorResponse(result.error.message);
|
|
149
182
|
}
|
|
150
183
|
});
|
|
151
184
|
// ============ add_decision ============
|
|
@@ -161,23 +194,17 @@ export function registerContextTools(server, projectRoot) {
|
|
|
161
194
|
if (!manager.isInitialized()) {
|
|
162
195
|
throw new Error("Project not initialized");
|
|
163
196
|
}
|
|
164
|
-
|
|
197
|
+
await manager.addDecision(args.title, args.decision, args.rationale, args.relatedPlanId, args.relatedStagingId);
|
|
165
198
|
return {
|
|
166
199
|
success: true,
|
|
167
|
-
|
|
168
|
-
decision,
|
|
200
|
+
title: args.title,
|
|
169
201
|
};
|
|
170
202
|
}, "add_decision");
|
|
171
203
|
if (result.success) {
|
|
172
|
-
return
|
|
173
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
174
|
-
};
|
|
204
|
+
return textResponse(formatDecisionAdded(result.data.title));
|
|
175
205
|
}
|
|
176
206
|
else {
|
|
177
|
-
return
|
|
178
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
179
|
-
isError: true,
|
|
180
|
-
};
|
|
207
|
+
return textErrorResponse(result.error.message);
|
|
181
208
|
}
|
|
182
209
|
});
|
|
183
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqR3D"}
|
package/dist/tools/memory.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { StateManager } from "../state/manager.js";
|
|
3
3
|
import { withErrorHandling, ProjectNotInitializedError, MemoryNotFoundError, ValidationError } from "../errors/index.js";
|
|
4
4
|
import { DEFAULT_MEMORY_CATEGORIES } from "../state/schema.js";
|
|
5
|
+
import { textResponse, textErrorResponse, formatMemoryAdded, formatMemoryUpdated, formatMemoryRemoved, formatMemoryList, formatMemoriesForContext, formatCategoryList, } from "../utils/format.js";
|
|
5
6
|
/**
|
|
6
7
|
* Register memory-related tools
|
|
7
8
|
* Memory system provides rules/instructions that take precedence over CLAUDE.md
|
|
@@ -34,15 +35,10 @@ export function registerMemoryTools(server) {
|
|
|
34
35
|
};
|
|
35
36
|
}, "add_memory");
|
|
36
37
|
if (result.success) {
|
|
37
|
-
return
|
|
38
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
39
|
-
};
|
|
38
|
+
return textResponse(formatMemoryAdded(result.data.memory.title, result.data.memory.category));
|
|
40
39
|
}
|
|
41
40
|
else {
|
|
42
|
-
return
|
|
43
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
44
|
-
isError: true,
|
|
45
|
-
};
|
|
41
|
+
return textErrorResponse(result.error.message);
|
|
46
42
|
}
|
|
47
43
|
});
|
|
48
44
|
// ============ list_memories ============
|
|
@@ -72,15 +68,10 @@ export function registerMemoryTools(server) {
|
|
|
72
68
|
};
|
|
73
69
|
}, "list_memories");
|
|
74
70
|
if (result.success) {
|
|
75
|
-
return
|
|
76
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
77
|
-
};
|
|
71
|
+
return textResponse(formatMemoryList(result.data.memories));
|
|
78
72
|
}
|
|
79
73
|
else {
|
|
80
|
-
return
|
|
81
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
82
|
-
isError: true,
|
|
83
|
-
};
|
|
74
|
+
return textErrorResponse(result.error.message);
|
|
84
75
|
}
|
|
85
76
|
});
|
|
86
77
|
// ============ update_memory ============
|
|
@@ -125,15 +116,10 @@ export function registerMemoryTools(server) {
|
|
|
125
116
|
};
|
|
126
117
|
}, "update_memory");
|
|
127
118
|
if (result.success) {
|
|
128
|
-
return
|
|
129
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
130
|
-
};
|
|
119
|
+
return textResponse(formatMemoryUpdated(result.data.memory.title));
|
|
131
120
|
}
|
|
132
121
|
else {
|
|
133
|
-
return
|
|
134
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
135
|
-
isError: true,
|
|
136
|
-
};
|
|
122
|
+
return textErrorResponse(result.error.message);
|
|
137
123
|
}
|
|
138
124
|
});
|
|
139
125
|
// ============ remove_memory ============
|
|
@@ -161,15 +147,10 @@ export function registerMemoryTools(server) {
|
|
|
161
147
|
};
|
|
162
148
|
}, "remove_memory");
|
|
163
149
|
if (result.success) {
|
|
164
|
-
return
|
|
165
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
166
|
-
};
|
|
150
|
+
return textResponse(formatMemoryRemoved(result.data.removed.title));
|
|
167
151
|
}
|
|
168
152
|
else {
|
|
169
|
-
return
|
|
170
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
171
|
-
isError: true,
|
|
172
|
-
};
|
|
153
|
+
return textErrorResponse(result.error.message);
|
|
173
154
|
}
|
|
174
155
|
});
|
|
175
156
|
// ============ get_memories_for_context ============
|
|
@@ -200,15 +181,10 @@ export function registerMemoryTools(server) {
|
|
|
200
181
|
};
|
|
201
182
|
}, "get_memories_for_context");
|
|
202
183
|
if (result.success) {
|
|
203
|
-
return
|
|
204
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
205
|
-
};
|
|
184
|
+
return textResponse(formatMemoriesForContext(result.data.context, result.data.memories));
|
|
206
185
|
}
|
|
207
186
|
else {
|
|
208
|
-
return
|
|
209
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
210
|
-
isError: true,
|
|
211
|
-
};
|
|
187
|
+
return textErrorResponse(result.error.message);
|
|
212
188
|
}
|
|
213
189
|
});
|
|
214
190
|
// ============ list_categories ============
|
|
@@ -228,15 +204,10 @@ export function registerMemoryTools(server) {
|
|
|
228
204
|
};
|
|
229
205
|
}, "list_categories");
|
|
230
206
|
if (result.success) {
|
|
231
|
-
return
|
|
232
|
-
content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
|
|
233
|
-
};
|
|
207
|
+
return textResponse(formatCategoryList(result.data.defaultCategories, result.data.usedCategories));
|
|
234
208
|
}
|
|
235
209
|
else {
|
|
236
|
-
return
|
|
237
|
-
content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
|
|
238
|
-
isError: true,
|
|
239
|
-
};
|
|
210
|
+
return textErrorResponse(result.error.message);
|
|
240
211
|
}
|
|
241
212
|
});
|
|
242
213
|
}
|
package/dist/tools/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,uCAAuC;IACvC,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,6KAA6K,EAC7K;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAClC,wCAAwC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAC7G;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QAC3F,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5D,uDAAuD,CACxD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CACpC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,WAAW,IAAI,CAAC,KAAK,wBAAwB,IAAI,CAAC,QAAQ,GAAG;gBACtE,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF,CAAC;QACJ,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mEAAmE,EACnE;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC1E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACzF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CACnC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,IAAI,IAAI,CACzB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,iCAAiC,EACjC;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACtE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBACxC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,WAAW,MAAM,CAAC,KAAK,WAAW;gBAC3C,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uBAAuB,EACvB;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACrD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,WAAW,KAAK,WAAW;gBACpC,OAAO,EAAE;oBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK;iBACN;aACF,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qDAAqD;IACrD,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,0KAA0K,EAC1K;QACE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAC1E,+FAA+F,CAChG;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7D,8BAA8B;YAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,SAAS;gBACnB,2CAA2C;gBAC3C,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7B,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAC5D,CAAC,IAAI,CAAC,MAAM,CAAC;aACf,CAAC;QACJ,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,uEAAuE,EACvE,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,yBAAyB,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,CAAC,GAAG,yBAAyB,CAAC;gBACjD,cAAc;gBACd,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;aAChD,CAAC;QACJ,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEtB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modify.d.ts","sourceRoot":"","sources":["../../src/tools/modify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"modify.d.ts","sourceRoot":"","sources":["../../src/tools/modify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkGpE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoa3D"}
|
package/dist/tools/modify.js
CHANGED
|
@@ -1,6 +1,74 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { StateManager } from "../state/manager.js";
|
|
3
3
|
import { withErrorHandling, ProjectNotInitializedError, StagingNotFoundError, TaskNotFoundError, ValidationError, } from "../errors/index.js";
|
|
4
|
+
// ============ Human-Readable Formatters ============
|
|
5
|
+
function formatPlanUpdate(plan) {
|
|
6
|
+
const lines = [];
|
|
7
|
+
lines.push(`✅ **Plan Updated**: ${plan.title}`);
|
|
8
|
+
lines.push(` ID: ${plan.id}`);
|
|
9
|
+
lines.push(` Status: ${plan.status}`);
|
|
10
|
+
if (plan.description) {
|
|
11
|
+
lines.push(` Description: ${plan.description}`);
|
|
12
|
+
}
|
|
13
|
+
return lines.join("\n");
|
|
14
|
+
}
|
|
15
|
+
function formatStagingUpdate(staging) {
|
|
16
|
+
const lines = [];
|
|
17
|
+
lines.push(`✅ **Staging Updated**: ${staging.name}`);
|
|
18
|
+
lines.push(` ID: ${staging.id}`);
|
|
19
|
+
lines.push(` Execution: ${staging.execution_type} | Status: ${staging.status}`);
|
|
20
|
+
if (staging.default_model)
|
|
21
|
+
lines.push(` Model: ${staging.default_model}`);
|
|
22
|
+
if (staging.session_budget)
|
|
23
|
+
lines.push(` Budget: ${staging.session_budget}`);
|
|
24
|
+
return lines.join("\n");
|
|
25
|
+
}
|
|
26
|
+
function formatStagingAdd(staging, planId, totalStagings) {
|
|
27
|
+
const lines = [];
|
|
28
|
+
lines.push(`✅ **Staging Added**: ${staging.name}`);
|
|
29
|
+
lines.push(` ID: ${staging.id}`);
|
|
30
|
+
lines.push(` Position: ${staging.order + 1}/${totalStagings}`);
|
|
31
|
+
lines.push(` Execution: ${staging.execution_type}`);
|
|
32
|
+
lines.push(` Plan: ${planId}`);
|
|
33
|
+
return lines.join("\n");
|
|
34
|
+
}
|
|
35
|
+
function formatStagingRemove(name, stagingId, tasksRemoved, planId, remainingStagings) {
|
|
36
|
+
const lines = [];
|
|
37
|
+
lines.push(`🗑️ **Staging Removed**: ${name}`);
|
|
38
|
+
lines.push(` ID: ${stagingId}`);
|
|
39
|
+
lines.push(` Tasks removed: ${tasksRemoved}`);
|
|
40
|
+
lines.push(` Plan: ${planId} (${remainingStagings} stagings remaining)`);
|
|
41
|
+
return lines.join("\n");
|
|
42
|
+
}
|
|
43
|
+
function formatTaskAdd(task, stagingName, totalTasks) {
|
|
44
|
+
const lines = [];
|
|
45
|
+
lines.push(`✅ **Task Added**: ${task.title}`);
|
|
46
|
+
lines.push(` ID: ${task.id}`);
|
|
47
|
+
lines.push(` Priority: ${task.priority} | Order: ${(task.order ?? 0) + 1}/${totalTasks}`);
|
|
48
|
+
if (task.model)
|
|
49
|
+
lines.push(` Model: ${task.model}`);
|
|
50
|
+
lines.push(` Staging: ${stagingName}`);
|
|
51
|
+
return lines.join("\n");
|
|
52
|
+
}
|
|
53
|
+
function formatTaskRemove(title, taskId, stagingId, remainingTasks) {
|
|
54
|
+
const lines = [];
|
|
55
|
+
lines.push(`🗑️ **Task Removed**: ${title}`);
|
|
56
|
+
lines.push(` ID: ${taskId}`);
|
|
57
|
+
lines.push(` Staging: ${stagingId} (${remainingTasks} tasks remaining)`);
|
|
58
|
+
return lines.join("\n");
|
|
59
|
+
}
|
|
60
|
+
function formatTaskUpdate(task) {
|
|
61
|
+
const lines = [];
|
|
62
|
+
lines.push(`✅ **Task Updated**: ${task.title}`);
|
|
63
|
+
lines.push(` ID: ${task.id}`);
|
|
64
|
+
lines.push(` Priority: ${task.priority} | Status: ${task.status}`);
|
|
65
|
+
lines.push(` Execution: ${task.execution_mode}`);
|
|
66
|
+
if (task.model)
|
|
67
|
+
lines.push(` Model: ${task.model}`);
|
|
68
|
+
if (task.depends_on.length > 0)
|
|
69
|
+
lines.push(` Dependencies: ${task.depends_on.join(", ")}`);
|
|
70
|
+
return lines.join("\n");
|
|
71
|
+
}
|
|
4
72
|
/**
|
|
5
73
|
* Register modify-related tools
|
|
6
74
|
*/
|
|
@@ -35,13 +103,12 @@ export function registerModifyTools(server) {
|
|
|
35
103
|
};
|
|
36
104
|
}, "update_plan");
|
|
37
105
|
if (result.success) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
106
|
+
const text = formatPlanUpdate(result.data.plan);
|
|
107
|
+
return { content: [{ type: "text", text }] };
|
|
41
108
|
}
|
|
42
109
|
else {
|
|
43
110
|
return {
|
|
44
|
-
content: [{ type: "text", text:
|
|
111
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
45
112
|
isError: true,
|
|
46
113
|
};
|
|
47
114
|
}
|
|
@@ -92,13 +159,12 @@ export function registerModifyTools(server) {
|
|
|
92
159
|
};
|
|
93
160
|
}, "update_staging");
|
|
94
161
|
if (result.success) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
};
|
|
162
|
+
const text = formatStagingUpdate(result.data.staging);
|
|
163
|
+
return { content: [{ type: "text", text }] };
|
|
98
164
|
}
|
|
99
165
|
else {
|
|
100
166
|
return {
|
|
101
|
-
content: [{ type: "text", text:
|
|
167
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
102
168
|
isError: true,
|
|
103
169
|
};
|
|
104
170
|
}
|
|
@@ -151,13 +217,12 @@ export function registerModifyTools(server) {
|
|
|
151
217
|
};
|
|
152
218
|
}, "add_staging");
|
|
153
219
|
if (result.success) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
};
|
|
220
|
+
const text = formatStagingAdd(result.data.staging, result.data.plan.id, result.data.plan.totalStagings);
|
|
221
|
+
return { content: [{ type: "text", text }] };
|
|
157
222
|
}
|
|
158
223
|
else {
|
|
159
224
|
return {
|
|
160
|
-
content: [{ type: "text", text:
|
|
225
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
161
226
|
isError: true,
|
|
162
227
|
};
|
|
163
228
|
}
|
|
@@ -195,13 +260,13 @@ export function registerModifyTools(server) {
|
|
|
195
260
|
};
|
|
196
261
|
}, "remove_staging");
|
|
197
262
|
if (result.success) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
};
|
|
263
|
+
const { removed, plan } = result.data;
|
|
264
|
+
const text = formatStagingRemove(removed.name, removed.stagingId, removed.tasksRemoved, plan.id, plan.remainingStagings);
|
|
265
|
+
return { content: [{ type: "text", text }] };
|
|
201
266
|
}
|
|
202
267
|
else {
|
|
203
268
|
return {
|
|
204
|
-
content: [{ type: "text", text:
|
|
269
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
205
270
|
isError: true,
|
|
206
271
|
};
|
|
207
272
|
}
|
|
@@ -249,13 +314,12 @@ export function registerModifyTools(server) {
|
|
|
249
314
|
};
|
|
250
315
|
}, "add_task");
|
|
251
316
|
if (result.success) {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
};
|
|
317
|
+
const text = formatTaskAdd(result.data.task, result.data.staging.name, result.data.staging.totalTasks);
|
|
318
|
+
return { content: [{ type: "text", text }] };
|
|
255
319
|
}
|
|
256
320
|
else {
|
|
257
321
|
return {
|
|
258
|
-
content: [{ type: "text", text:
|
|
322
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
259
323
|
isError: true,
|
|
260
324
|
};
|
|
261
325
|
}
|
|
@@ -291,13 +355,13 @@ export function registerModifyTools(server) {
|
|
|
291
355
|
};
|
|
292
356
|
}, "remove_task");
|
|
293
357
|
if (result.success) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
};
|
|
358
|
+
const { removed, staging } = result.data;
|
|
359
|
+
const text = formatTaskRemove(removed.title, removed.taskId, staging.id, staging.remainingTasks);
|
|
360
|
+
return { content: [{ type: "text", text }] };
|
|
297
361
|
}
|
|
298
362
|
else {
|
|
299
363
|
return {
|
|
300
|
-
content: [{ type: "text", text:
|
|
364
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
301
365
|
isError: true,
|
|
302
366
|
};
|
|
303
367
|
}
|
|
@@ -345,13 +409,12 @@ export function registerModifyTools(server) {
|
|
|
345
409
|
};
|
|
346
410
|
}, "update_task_details");
|
|
347
411
|
if (result.success) {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
};
|
|
412
|
+
const text = formatTaskUpdate(result.data.task);
|
|
413
|
+
return { content: [{ type: "text", text }] };
|
|
351
414
|
}
|
|
352
415
|
else {
|
|
353
416
|
return {
|
|
354
|
-
content: [{ type: "text", text:
|
|
417
|
+
content: [{ type: "text", text: `❌ ${result.error.message}` }],
|
|
355
418
|
isError: true,
|
|
356
419
|
};
|
|
357
420
|
}
|