@sudosandwich/limps 3.2.0 → 3.3.0
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/README.md +114 -23
- package/dist/agent-parser.d.ts +1 -1
- package/dist/agent-parser.d.ts.map +1 -1
- package/dist/agent-parser.js +8 -4
- package/dist/agent-parser.js.map +1 -1
- package/dist/cli/docs-create.d.ts +34 -0
- package/dist/cli/docs-create.d.ts.map +1 -0
- package/dist/cli/docs-create.js +70 -0
- package/dist/cli/docs-create.js.map +1 -0
- package/dist/cli/docs-delete.d.ts +34 -0
- package/dist/cli/docs-delete.d.ts.map +1 -0
- package/dist/cli/docs-delete.js +84 -0
- package/dist/cli/docs-delete.js.map +1 -0
- package/dist/cli/docs-list.d.ts +35 -0
- package/dist/cli/docs-list.d.ts.map +1 -0
- package/dist/cli/docs-list.js +91 -0
- package/dist/cli/docs-list.js.map +1 -0
- package/dist/cli/docs-search.d.ts +35 -0
- package/dist/cli/docs-search.d.ts.map +1 -0
- package/dist/cli/docs-search.js +99 -0
- package/dist/cli/docs-search.js.map +1 -0
- package/dist/cli/docs-update.d.ts +40 -0
- package/dist/cli/docs-update.d.ts.map +1 -0
- package/dist/cli/docs-update.js +75 -0
- package/dist/cli/docs-update.js.map +1 -0
- package/dist/cli/init-project.js +1 -1
- package/dist/cli/status.d.ts +13 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +64 -1
- package/dist/cli/status.js.map +1 -1
- package/dist/cli.js +9 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +1 -0
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/show-resolution.d.ts +11 -0
- package/dist/commands/config/show-resolution.d.ts.map +1 -0
- package/dist/commands/config/show-resolution.js +114 -0
- package/dist/commands/config/show-resolution.js.map +1 -0
- package/dist/commands/create-doc.d.ts +21 -0
- package/dist/commands/create-doc.d.ts.map +1 -0
- package/dist/commands/create-doc.js +99 -0
- package/dist/commands/create-doc.js.map +1 -0
- package/dist/commands/create-plan.d.ts +15 -0
- package/dist/commands/create-plan.d.ts.map +1 -0
- package/dist/commands/create-plan.js +73 -0
- package/dist/commands/create-plan.js.map +1 -0
- package/dist/commands/delete-doc.d.ts +16 -0
- package/dist/commands/delete-doc.d.ts.map +1 -0
- package/dist/commands/delete-doc.js +97 -0
- package/dist/commands/delete-doc.js.map +1 -0
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/list-docs.d.ts +18 -0
- package/dist/commands/list-docs.d.ts.map +1 -0
- package/dist/commands/list-docs.js +83 -0
- package/dist/commands/list-docs.js.map +1 -0
- package/dist/commands/process.d.ts +20 -0
- package/dist/commands/process.d.ts.map +1 -0
- package/dist/commands/process.js +257 -0
- package/dist/commands/process.js.map +1 -0
- package/dist/commands/search-docs.d.ts +17 -0
- package/dist/commands/search-docs.d.ts.map +1 -0
- package/dist/commands/search-docs.js +109 -0
- package/dist/commands/search-docs.js.map +1 -0
- package/dist/commands/{status-server.d.ts → server-status.d.ts} +1 -1
- package/dist/commands/server-status.d.ts.map +1 -0
- package/dist/commands/{status-server.js → server-status.js} +33 -14
- package/dist/commands/server-status.js.map +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +26 -9
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +74 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tags/add.d.ts +16 -0
- package/dist/commands/tags/add.d.ts.map +1 -0
- package/dist/commands/tags/add.js +120 -0
- package/dist/commands/tags/add.js.map +1 -0
- package/dist/commands/tags/index.d.ts +3 -0
- package/dist/commands/tags/index.d.ts.map +1 -0
- package/dist/commands/tags/index.js +33 -0
- package/dist/commands/tags/index.js.map +1 -0
- package/dist/commands/tags/list.d.ts +15 -0
- package/dist/commands/tags/list.d.ts.map +1 -0
- package/dist/commands/tags/list.js +111 -0
- package/dist/commands/tags/list.js.map +1 -0
- package/dist/commands/tags/remove.d.ts +16 -0
- package/dist/commands/tags/remove.d.ts.map +1 -0
- package/dist/commands/tags/remove.js +120 -0
- package/dist/commands/tags/remove.js.map +1 -0
- package/dist/commands/update-doc.d.ts +23 -0
- package/dist/commands/update-doc.d.ts.map +1 -0
- package/dist/commands/update-doc.js +144 -0
- package/dist/commands/update-doc.js.map +1 -0
- package/dist/extensions/context.d.ts.map +1 -1
- package/dist/extensions/context.js +10 -8
- package/dist/extensions/context.js.map +1 -1
- package/dist/extensions/loader.d.ts.map +1 -1
- package/dist/extensions/loader.js +3 -2
- package/dist/extensions/loader.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/pidfile.d.ts +1 -0
- package/dist/pidfile.d.ts.map +1 -1
- package/dist/pidfile.js +4 -1
- package/dist/pidfile.js.map +1 -1
- package/dist/server-http-entry.js +39 -6
- package/dist/server-http-entry.js.map +1 -1
- package/dist/server-http.d.ts +11 -1
- package/dist/server-http.d.ts.map +1 -1
- package/dist/server-http.js +31 -9
- package/dist/server-http.js.map +1 -1
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +2 -1
- package/dist/server-main.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/create-plan.d.ts +1 -0
- package/dist/tools/create-plan.d.ts.map +1 -1
- package/dist/tools/create-plan.js +20 -6
- package/dist/tools/create-plan.js.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/update-task-status.d.ts +1 -1
- package/dist/tools/update-task-status.d.ts.map +1 -1
- package/dist/tools/update-task-status.js +17 -187
- package/dist/tools/update-task-status.js.map +1 -1
- package/dist/utils/config-resolver.d.ts +1 -1
- package/dist/utils/config-resolver.d.ts.map +1 -1
- package/dist/utils/config-resolver.js +6 -4
- package/dist/utils/config-resolver.js.map +1 -1
- package/dist/utils/daemon-log.d.ts +13 -0
- package/dist/utils/daemon-log.d.ts.map +1 -0
- package/dist/utils/daemon-log.js +27 -0
- package/dist/utils/daemon-log.js.map +1 -0
- package/dist/utils/safe-logging.d.ts +24 -0
- package/dist/utils/safe-logging.d.ts.map +1 -0
- package/dist/utils/safe-logging.js +88 -0
- package/dist/utils/safe-logging.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/status-server.d.ts.map +0 -1
- package/dist/commands/status-server.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import { indexDocument } from '../indexer.js';
|
|
2
|
+
import { findAgentFilePath, readAgentFile, updateAgentFrontmatter } from '../agent-parser.js';
|
|
4
3
|
/**
|
|
5
4
|
* Input schema for update_task_status tool.
|
|
6
5
|
*/
|
|
@@ -10,144 +9,9 @@ export const UpdateTaskStatusInputSchema = z.object({
|
|
|
10
9
|
agentId: z.string().optional(),
|
|
11
10
|
notes: z.string().optional(),
|
|
12
11
|
});
|
|
13
|
-
/**
|
|
14
|
-
* Valid status transitions.
|
|
15
|
-
*/
|
|
16
|
-
const VALID_TRANSITIONS = {
|
|
17
|
-
GAP: ['WIP'],
|
|
18
|
-
WIP: ['PASS', 'BLOCKED'],
|
|
19
|
-
PASS: [], // Terminal state
|
|
20
|
-
BLOCKED: ['GAP', 'WIP'], // Can be unblocked
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Check if a status transition is valid.
|
|
24
|
-
*/
|
|
25
|
-
function isValidTransition(from, to) {
|
|
26
|
-
const allowed = VALID_TRANSITIONS[from] || [];
|
|
27
|
-
return allowed.includes(to);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Find task in document by feature number.
|
|
31
|
-
* Returns the content section for the task.
|
|
32
|
-
* Supports both new format (### #N:) and legacy format (## Feature N:).
|
|
33
|
-
*/
|
|
34
|
-
function findTaskSection(content, featureNumber) {
|
|
35
|
-
// Try new format first: "### #N:"
|
|
36
|
-
let featureRegex = new RegExp(`^###\\s+#${featureNumber}:`, 'm');
|
|
37
|
-
let match = content.match(featureRegex);
|
|
38
|
-
let nextFeaturePattern = '### #';
|
|
39
|
-
// Try legacy format if new format not found: "## Feature N:"
|
|
40
|
-
if (!match || match.index === undefined) {
|
|
41
|
-
featureRegex = new RegExp(`^##\\s+Feature\\s+${featureNumber}:`, 'm');
|
|
42
|
-
match = content.match(featureRegex);
|
|
43
|
-
nextFeaturePattern = '## Feature ';
|
|
44
|
-
}
|
|
45
|
-
if (!match || match.index === undefined) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
const start = match.index;
|
|
49
|
-
// Find next feature or end of document (using the same pattern as matched)
|
|
50
|
-
const nextFeatureMatch = content.indexOf(nextFeaturePattern, start + 1);
|
|
51
|
-
const end = nextFeatureMatch > 0 ? nextFeatureMatch : content.length;
|
|
52
|
-
const section = content.substring(start, end);
|
|
53
|
-
return { start, end, section };
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Extract current status from a task section.
|
|
57
|
-
* Supports both new format (Status: `GAP`) and legacy format (**Status:** GAP).
|
|
58
|
-
*/
|
|
59
|
-
function extractStatusFromSection(section) {
|
|
60
|
-
// Try new format first: "Status: `GAP`"
|
|
61
|
-
let statusRegex = /Status:\s*`(\w+)`/i;
|
|
62
|
-
let match = section.match(statusRegex);
|
|
63
|
-
// Try legacy format if new format not found: "**Status:** GAP"
|
|
64
|
-
if (!match) {
|
|
65
|
-
statusRegex = /\*\*Status:\*\*\s+(\w+)/i;
|
|
66
|
-
match = section.match(statusRegex);
|
|
67
|
-
}
|
|
68
|
-
return match ? match[1].toUpperCase() : null;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Update status in task section.
|
|
72
|
-
* Preserves formatting and other content.
|
|
73
|
-
* Maintains the same format as the original (new or legacy).
|
|
74
|
-
*/
|
|
75
|
-
function updateStatusInSection(section, newStatus) {
|
|
76
|
-
// Try new format first: "Status: `GAP`"
|
|
77
|
-
let statusRegex = /Status:\s*`(\w+)`/i;
|
|
78
|
-
let match = section.match(statusRegex);
|
|
79
|
-
if (match) {
|
|
80
|
-
// Replace existing status in new format
|
|
81
|
-
return section.replace(statusRegex, `Status: \`${newStatus}\``);
|
|
82
|
-
}
|
|
83
|
-
// Try legacy format: "**Status:** GAP"
|
|
84
|
-
statusRegex = /\*\*Status:\*\*\s+(\w+)/i;
|
|
85
|
-
match = section.match(statusRegex);
|
|
86
|
-
if (match) {
|
|
87
|
-
// Replace existing status in legacy format
|
|
88
|
-
return section.replace(statusRegex, `**Status:** ${newStatus}`);
|
|
89
|
-
}
|
|
90
|
-
// Add status line if not found (shouldn't happen, but handle gracefully)
|
|
91
|
-
// Insert after feature title (try both formats)
|
|
92
|
-
let titleMatch = section.match(/^###\s+#\d+:\s+(.+)$/m);
|
|
93
|
-
if (titleMatch) {
|
|
94
|
-
const titleEnd = section.indexOf('\n', titleMatch.index || 0);
|
|
95
|
-
return (section.substring(0, titleEnd + 1) +
|
|
96
|
-
`\nStatus: \`${newStatus}\`\n` +
|
|
97
|
-
section.substring(titleEnd + 1));
|
|
98
|
-
}
|
|
99
|
-
// Try legacy format title
|
|
100
|
-
titleMatch = section.match(/^##\s+Feature\s+\d+:\s+(.+)$/m);
|
|
101
|
-
if (titleMatch) {
|
|
102
|
-
const titleEnd = section.indexOf('\n', titleMatch.index || 0);
|
|
103
|
-
return (section.substring(0, titleEnd + 1) +
|
|
104
|
-
`\n**Status:** ${newStatus}\n` +
|
|
105
|
-
section.substring(titleEnd + 1));
|
|
106
|
-
}
|
|
107
|
-
return section;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Parse task ID to extract plan ID and feature number.
|
|
111
|
-
* Format: "<planId>#<featureNumber>"
|
|
112
|
-
*/
|
|
113
|
-
function parseTaskId(taskId) {
|
|
114
|
-
const match = taskId.match(/^(.+)#(\d+)$/);
|
|
115
|
-
if (!match) {
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
return {
|
|
119
|
-
planId: match[1],
|
|
120
|
-
featureNumber: parseInt(match[2], 10),
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Find document path for a plan.
|
|
125
|
-
*/
|
|
126
|
-
function findPlanDocument(db, plansPath, planId) {
|
|
127
|
-
// Query database for plan documents
|
|
128
|
-
// Match planId in path (could be "0001-plan-name" or just "0001")
|
|
129
|
-
const plans = db
|
|
130
|
-
.prepare(`
|
|
131
|
-
SELECT path
|
|
132
|
-
FROM documents
|
|
133
|
-
WHERE path LIKE ?
|
|
134
|
-
AND (path LIKE '%-plan.md' OR path LIKE '%/plan.md')
|
|
135
|
-
`)
|
|
136
|
-
.all(`${plansPath}%${planId}%`);
|
|
137
|
-
if (plans.length === 0) {
|
|
138
|
-
return null;
|
|
139
|
-
}
|
|
140
|
-
// Find exact match (plan directory should contain planId)
|
|
141
|
-
for (const plan of plans) {
|
|
142
|
-
if (plan.path.includes(planId)) {
|
|
143
|
-
return plan.path;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return plans[0]?.path || null;
|
|
147
|
-
}
|
|
148
12
|
/**
|
|
149
13
|
* Handle update_task_status tool request.
|
|
150
|
-
* Updates
|
|
14
|
+
* Updates agent file frontmatter status field (GAP, WIP, PASS, or BLOCKED).
|
|
151
15
|
*
|
|
152
16
|
* @param input - Tool input
|
|
153
17
|
* @param context - Tool context
|
|
@@ -156,86 +20,52 @@ function findPlanDocument(db, plansPath, planId) {
|
|
|
156
20
|
export async function handleUpdateTaskStatus(input, context) {
|
|
157
21
|
const { taskId, status, agentId, notes } = input;
|
|
158
22
|
const { plansPath } = context.config;
|
|
159
|
-
//
|
|
160
|
-
const
|
|
161
|
-
if (!
|
|
162
|
-
return {
|
|
163
|
-
content: [
|
|
164
|
-
{
|
|
165
|
-
type: 'text',
|
|
166
|
-
text: `Invalid task ID format: ${taskId}. Expected format: "<planId>#<featureNumber>"`,
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
isError: true,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
const { planId, featureNumber } = parsed;
|
|
173
|
-
// Find plan document
|
|
174
|
-
const documentPath = findPlanDocument(context.db, plansPath, planId);
|
|
175
|
-
if (!documentPath) {
|
|
176
|
-
return {
|
|
177
|
-
content: [
|
|
178
|
-
{
|
|
179
|
-
type: 'text',
|
|
180
|
-
text: `Plan document not found for task ${taskId}`,
|
|
181
|
-
},
|
|
182
|
-
],
|
|
183
|
-
isError: true,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
// Read document
|
|
187
|
-
const content = readFileSync(documentPath, 'utf-8');
|
|
188
|
-
// Find task section
|
|
189
|
-
const taskSection = findTaskSection(content, featureNumber);
|
|
190
|
-
if (!taskSection) {
|
|
23
|
+
// Find agent file path
|
|
24
|
+
const agentFilePath = findAgentFilePath(plansPath, taskId);
|
|
25
|
+
if (!agentFilePath) {
|
|
191
26
|
return {
|
|
192
27
|
content: [
|
|
193
28
|
{
|
|
194
29
|
type: 'text',
|
|
195
|
-
text: `
|
|
30
|
+
text: `Agent file not found for task ${taskId}. Expected format: planFolder#agentNumber (e.g., "0001-feature-name#005")`,
|
|
196
31
|
},
|
|
197
32
|
],
|
|
198
33
|
isError: true,
|
|
199
34
|
};
|
|
200
35
|
}
|
|
201
|
-
//
|
|
202
|
-
const
|
|
203
|
-
if (!
|
|
36
|
+
// Read current agent file
|
|
37
|
+
const agent = readAgentFile(agentFilePath);
|
|
38
|
+
if (!agent) {
|
|
204
39
|
return {
|
|
205
40
|
content: [
|
|
206
41
|
{
|
|
207
42
|
type: 'text',
|
|
208
|
-
text: `
|
|
43
|
+
text: `Failed to read agent file: ${agentFilePath}`,
|
|
209
44
|
},
|
|
210
45
|
],
|
|
211
46
|
isError: true,
|
|
212
47
|
};
|
|
213
48
|
}
|
|
214
|
-
//
|
|
215
|
-
|
|
49
|
+
// Capture old status before updating
|
|
50
|
+
const oldStatus = agent.frontmatter.status;
|
|
51
|
+
// Update status in frontmatter
|
|
52
|
+
const updated = updateAgentFrontmatter(agentFilePath, { status });
|
|
53
|
+
if (!updated) {
|
|
216
54
|
return {
|
|
217
55
|
content: [
|
|
218
56
|
{
|
|
219
57
|
type: 'text',
|
|
220
|
-
text: `
|
|
58
|
+
text: `Failed to update agent file frontmatter: ${agentFilePath}`,
|
|
221
59
|
},
|
|
222
60
|
],
|
|
223
61
|
isError: true,
|
|
224
62
|
};
|
|
225
63
|
}
|
|
226
|
-
// Update status in section
|
|
227
|
-
const updatedSection = updateStatusInSection(taskSection.section, status);
|
|
228
|
-
// Replace section in document
|
|
229
|
-
const updatedContent = content.substring(0, taskSection.start) + updatedSection + content.substring(taskSection.end);
|
|
230
|
-
// Write updated document
|
|
231
|
-
writeFileSync(documentPath, updatedContent, 'utf-8');
|
|
232
|
-
// Re-index document
|
|
233
|
-
await indexDocument(context.db, documentPath);
|
|
234
64
|
return {
|
|
235
65
|
content: [
|
|
236
66
|
{
|
|
237
67
|
type: 'text',
|
|
238
|
-
text: `Task ${taskId} status updated to ${status}${agentId ? ` by agent ${agentId}` : ''}${notes ? `. Notes: ${notes}` : ''}`,
|
|
68
|
+
text: `Task ${taskId} status updated from ${oldStatus} to ${status}${agentId ? ` by agent ${agentId}` : ''}${notes ? `. Notes: ${notes}` : ''}`,
|
|
239
69
|
},
|
|
240
70
|
],
|
|
241
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-task-status.js","sourceRoot":"","sources":["../../src/tools/update-task-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"update-task-status.js","sourceRoot":"","sources":["../../src/tools/update-task-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE9F;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAkD,EAClD,OAAoB;IAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAErC,uBAAuB;IACvB,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iCAAiC,MAAM,2EAA2E;iBACzH;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,aAAa,EAAE;iBACpD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;IAE3C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,sBAAsB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,4CAA4C,aAAa,EAAE;iBAClE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,MAAM,wBAAwB,SAAS,OAAO,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aAChJ;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Resolve configuration file path with priority:
|
|
7
7
|
* 1. CLI argument --config
|
|
8
8
|
* 2. Environment variable MCP_PLANNING_CONFIG
|
|
9
|
-
* 3. Local .limps/config.json (searches up directory tree)
|
|
9
|
+
* 3. Local .limps/config.json (searches up directory tree from cwd)
|
|
10
10
|
*
|
|
11
11
|
* Throws if no config source is found.
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/config-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"config-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/config-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BhE"}
|
|
@@ -31,7 +31,7 @@ function findLocalConfig(startDir = process.cwd()) {
|
|
|
31
31
|
* Resolve configuration file path with priority:
|
|
32
32
|
* 1. CLI argument --config
|
|
33
33
|
* 2. Environment variable MCP_PLANNING_CONFIG
|
|
34
|
-
* 3. Local .limps/config.json (searches up directory tree)
|
|
34
|
+
* 3. Local .limps/config.json (searches up directory tree from cwd)
|
|
35
35
|
*
|
|
36
36
|
* Throws if no config source is found.
|
|
37
37
|
*
|
|
@@ -56,12 +56,14 @@ export function resolveConfigPath(cliConfigPath) {
|
|
|
56
56
|
if (envConfigPath) {
|
|
57
57
|
return resolve(envConfigPath);
|
|
58
58
|
}
|
|
59
|
-
// Priority 3: Local .limps/config.json (walk up directory tree)
|
|
60
|
-
const
|
|
59
|
+
// Priority 3: Local .limps/config.json (walk up directory tree from cwd)
|
|
60
|
+
const cwd = process.cwd();
|
|
61
|
+
const localConfig = findLocalConfig(cwd);
|
|
61
62
|
if (localConfig) {
|
|
62
63
|
return localConfig;
|
|
63
64
|
}
|
|
64
65
|
// No config found — require explicit configuration
|
|
65
|
-
throw new Error(
|
|
66
|
+
throw new Error(`No config found. Searched from: ${cwd}\n` +
|
|
67
|
+
`Run \`limps init\`, use \`--config <path>\`, or set MCP_PLANNING_CONFIG.`);
|
|
66
68
|
}
|
|
67
69
|
//# sourceMappingURL=config-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../src/utils/config-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;IACvD,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAsB;IACtD,2BAA2B;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uDAAuD;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../src/utils/config-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;IACvD,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAsB;IACtD,2BAA2B;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uDAAuD;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,yEAAyE;IACzE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,mDAAmD;IACnD,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,IAAI;QACxC,0EAA0E,CAC7E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the system-wide daemon log directory path.
|
|
3
|
+
*/
|
|
4
|
+
export declare function getSystemLogDir(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Ensure the system-wide daemon log directory exists.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ensureSystemLogDir(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Get the daemon log file path for a given port.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getDaemonLogPath(port: number): string;
|
|
13
|
+
//# sourceMappingURL=daemon-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-log.d.ts","sourceRoot":"","sources":["../../src/utils/daemon-log.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { getAppDataPath } from './app-paths.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get the system-wide daemon log directory path.
|
|
6
|
+
*/
|
|
7
|
+
export function getSystemLogDir() {
|
|
8
|
+
return join(getAppDataPath(), 'logs');
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Ensure the system-wide daemon log directory exists.
|
|
12
|
+
*/
|
|
13
|
+
export function ensureSystemLogDir() {
|
|
14
|
+
const logDir = getSystemLogDir();
|
|
15
|
+
if (!existsSync(logDir)) {
|
|
16
|
+
mkdirSync(logDir, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
return logDir;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the daemon log file path for a given port.
|
|
22
|
+
*/
|
|
23
|
+
export function getDaemonLogPath(port) {
|
|
24
|
+
const logDir = getSystemLogDir();
|
|
25
|
+
return join(logDir, `limps-${port}.log`);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=daemon-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-log.js","sourceRoot":"","sources":["../../src/utils/daemon-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging helpers that avoid writing potentially sensitive request payloads
|
|
3
|
+
* (including prompt/response text) to persisted daemon logs.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Return a non-sensitive summary of an unknown value for logs.
|
|
7
|
+
* Never includes raw payload content.
|
|
8
|
+
*/
|
|
9
|
+
export declare function summarizeForLog(value: unknown): string;
|
|
10
|
+
/**
|
|
11
|
+
* Sanitize free-form text before writing to daemon logs.
|
|
12
|
+
* If text looks like it could include AI payload data, redact it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function sanitizeOperationalMessage(message: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Sanitize console arguments before writing to persistent logs.
|
|
17
|
+
* Strings are filtered for payload-like content; non-strings are summarized.
|
|
18
|
+
*/
|
|
19
|
+
export declare function sanitizeConsoleArguments(args: unknown[]): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Log an event with non-sensitive error details.
|
|
22
|
+
*/
|
|
23
|
+
export declare function logRedactedError(prefix: string, value: unknown): void;
|
|
24
|
+
//# sourceMappingURL=safe-logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-logging.d.ts","sourceRoot":"","sources":["../../src/utils/safe-logging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CActD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAWlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAErE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging helpers that avoid writing potentially sensitive request payloads
|
|
3
|
+
* (including prompt/response text) to persisted daemon logs.
|
|
4
|
+
*/
|
|
5
|
+
const SENSITIVE_TEXT_MARKERS = /\b(prompt|response|assistant|completion|messages?|content)\b/i;
|
|
6
|
+
const MAX_SAFE_MESSAGE_LENGTH = 240;
|
|
7
|
+
function safeString(value) {
|
|
8
|
+
if (typeof value === 'string') {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
return String(value);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return 'unstringifiable';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function getErrorCode(value) {
|
|
19
|
+
if (!value || typeof value !== 'object') {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const maybeCode = value.code;
|
|
23
|
+
if (typeof maybeCode === 'string' || typeof maybeCode === 'number') {
|
|
24
|
+
return safeString(maybeCode);
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Return a non-sensitive summary of an unknown value for logs.
|
|
30
|
+
* Never includes raw payload content.
|
|
31
|
+
*/
|
|
32
|
+
export function summarizeForLog(value) {
|
|
33
|
+
if (value === null)
|
|
34
|
+
return 'type=null';
|
|
35
|
+
if (value === undefined)
|
|
36
|
+
return 'type=undefined';
|
|
37
|
+
if (value instanceof Error) {
|
|
38
|
+
const code = getErrorCode(value);
|
|
39
|
+
return code ? `type=Error name=${value.name} code=${code}` : `type=Error name=${value.name}`;
|
|
40
|
+
}
|
|
41
|
+
if (Array.isArray(value))
|
|
42
|
+
return `type=array len=${value.length}`;
|
|
43
|
+
if (typeof value === 'string')
|
|
44
|
+
return `type=string len=${value.length}`;
|
|
45
|
+
if (typeof value === 'object') {
|
|
46
|
+
const ctor = value.constructor?.name;
|
|
47
|
+
return ctor ? `type=object ctor=${ctor}` : 'type=object';
|
|
48
|
+
}
|
|
49
|
+
return `type=${typeof value}`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Sanitize free-form text before writing to daemon logs.
|
|
53
|
+
* If text looks like it could include AI payload data, redact it.
|
|
54
|
+
*/
|
|
55
|
+
export function sanitizeOperationalMessage(message) {
|
|
56
|
+
const normalized = message.replace(/\s+/g, ' ').trim();
|
|
57
|
+
if (!normalized)
|
|
58
|
+
return '[redacted-empty-message]';
|
|
59
|
+
if (normalized.length > MAX_SAFE_MESSAGE_LENGTH ||
|
|
60
|
+
normalized.includes('{') ||
|
|
61
|
+
normalized.includes('[') ||
|
|
62
|
+
SENSITIVE_TEXT_MARKERS.test(normalized)) {
|
|
63
|
+
return '[redacted-sensitive-message]';
|
|
64
|
+
}
|
|
65
|
+
return normalized;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Sanitize console arguments before writing to persistent logs.
|
|
69
|
+
* Strings are filtered for payload-like content; non-strings are summarized.
|
|
70
|
+
*/
|
|
71
|
+
export function sanitizeConsoleArguments(args) {
|
|
72
|
+
if (args.length === 0) {
|
|
73
|
+
return ['[redacted-empty-message]'];
|
|
74
|
+
}
|
|
75
|
+
return args.map((arg) => {
|
|
76
|
+
if (typeof arg === 'string') {
|
|
77
|
+
return sanitizeOperationalMessage(arg);
|
|
78
|
+
}
|
|
79
|
+
return summarizeForLog(arg);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Log an event with non-sensitive error details.
|
|
84
|
+
*/
|
|
85
|
+
export function logRedactedError(prefix, value) {
|
|
86
|
+
console.error(`${prefix} (${summarizeForLog(value)})`);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=safe-logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-logging.js","sourceRoot":"","sources":["../../src/utils/safe-logging.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-server.d.ts","sourceRoot":"","sources":["../../src/commands/status-server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,kCAAkC,CAAC;AAE3D,eAAO,MAAM,OAAO;;;iBAGlB,CAAC;AAEH,UAAU,KAAK;IACb,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AA2FD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAiDrF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-server.js","sourceRoot":"","sources":["../../src/commands/status-server.tsx"],"names":[],"mappings":"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"}
|