dedsession 1.2.0 → 1.4.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/dist/index.js +379 -76
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import * as http from "http";
|
|
|
12
12
|
const CONFIG = {
|
|
13
13
|
REMOTE_BASE_URL: "https://files.megafon-apn32.ru/mcp",
|
|
14
14
|
LOCAL_CACHE_DIR: path.join(process.env.HOME || "", ".cache", "dedsession"),
|
|
15
|
-
VERSION: "1.
|
|
15
|
+
VERSION: "1.4.0",
|
|
16
16
|
CHECK_UPDATES_ON_START: true,
|
|
17
17
|
};
|
|
18
18
|
const state = {
|
|
@@ -91,6 +91,21 @@ const INSTRUCTIONS = {
|
|
|
91
91
|
|
|
92
92
|
**Claude ОБЯЗАН автоматически сохранить когда:**
|
|
93
93
|
- Пользователь подтвердил напоминание ("да", "сохрани", "ок")
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## ✅ ЧЕКЛИСТ ПЕРЕД СОХРАНЕНИЕМ
|
|
98
|
+
|
|
99
|
+
**Claude ОБЯЗАН проверить перед сохранением:**
|
|
100
|
+
|
|
101
|
+
- [ ] Название задачи понятное и на латинице
|
|
102
|
+
- [ ] task_overview содержит цель и контекст
|
|
103
|
+
- [ ] changes содержит список изменённых файлов с путями
|
|
104
|
+
- [ ] summary содержит что сделано и что осталось
|
|
105
|
+
- [ ] session_log содержит ключевые моменты диалога
|
|
106
|
+
- [ ] Указан правильный статус (completed/in_progress/blocked)
|
|
107
|
+
|
|
108
|
+
**Если что-то пропущено — Claude ОБЯЗАН дополнить самостоятельно!**
|
|
94
109
|
`,
|
|
95
110
|
saveGuide: `# 📝 Сохранение контекста
|
|
96
111
|
|
|
@@ -153,6 +168,24 @@ function fetch(url) {
|
|
|
153
168
|
});
|
|
154
169
|
}
|
|
155
170
|
function getWorkingDir() {
|
|
171
|
+
// Ищем директорию проекта по маркерам (.git, package.json)
|
|
172
|
+
// Начинаем с cwd и идём вверх
|
|
173
|
+
let dir = process.cwd();
|
|
174
|
+
for (let i = 0; i < 10; i++) {
|
|
175
|
+
// Проверяем есть ли MD_HISTORY в этой директории
|
|
176
|
+
if (fs.existsSync(path.join(dir, "MD_HISTORY"))) {
|
|
177
|
+
return dir;
|
|
178
|
+
}
|
|
179
|
+
// Проверяем маркеры проекта
|
|
180
|
+
if (fs.existsSync(path.join(dir, ".git")) || fs.existsSync(path.join(dir, "package.json"))) {
|
|
181
|
+
return dir;
|
|
182
|
+
}
|
|
183
|
+
const parent = path.dirname(dir);
|
|
184
|
+
if (parent === dir)
|
|
185
|
+
break; // Достигли корня
|
|
186
|
+
dir = parent;
|
|
187
|
+
}
|
|
188
|
+
// Fallback на cwd
|
|
156
189
|
return process.cwd();
|
|
157
190
|
}
|
|
158
191
|
function getMdHistoryPath() {
|
|
@@ -182,60 +215,87 @@ function listContexts() {
|
|
|
182
215
|
if (!fs.existsSync(mdHistory)) {
|
|
183
216
|
return [];
|
|
184
217
|
}
|
|
185
|
-
|
|
186
|
-
.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
status = "
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
218
|
+
try {
|
|
219
|
+
const dirs = fs.readdirSync(mdHistory, { withFileTypes: true })
|
|
220
|
+
.filter(d => d.isDirectory())
|
|
221
|
+
.map(d => {
|
|
222
|
+
try {
|
|
223
|
+
const parsed = parseContextName(d.name);
|
|
224
|
+
if (!parsed)
|
|
225
|
+
return null;
|
|
226
|
+
const contextPath = path.join(mdHistory, d.name);
|
|
227
|
+
// Безопасное чтение директории
|
|
228
|
+
let files = [];
|
|
229
|
+
try {
|
|
230
|
+
files = fs.readdirSync(contextPath).filter(f => f.endsWith(".md"));
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
return null; // Пропускаем если не можем прочитать
|
|
234
|
+
}
|
|
235
|
+
let readme = "";
|
|
236
|
+
let status = "⏳";
|
|
237
|
+
let hasParent;
|
|
238
|
+
let hasChild;
|
|
239
|
+
const readmePath = path.join(contextPath, "README.md");
|
|
240
|
+
if (fs.existsSync(readmePath)) {
|
|
241
|
+
try {
|
|
242
|
+
readme = fs.readFileSync(readmePath, "utf-8");
|
|
243
|
+
if (readme.includes("✅"))
|
|
244
|
+
status = "✅";
|
|
245
|
+
else if (readme.includes("❌"))
|
|
246
|
+
status = "❌";
|
|
247
|
+
// Ищем связи
|
|
248
|
+
const parentMatch = readme.match(/\*\*Parent:\*\*\s*(.+)/);
|
|
249
|
+
if (parentMatch)
|
|
250
|
+
hasParent = parentMatch[1].trim();
|
|
251
|
+
const childMatch = readme.match(/\*\*Child:\*\*\s*(.+)/);
|
|
252
|
+
if (childMatch)
|
|
253
|
+
hasChild = childMatch[1].trim();
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// Игнорируем ошибки чтения
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
let totalSize = 0;
|
|
260
|
+
for (const file of files) {
|
|
261
|
+
try {
|
|
262
|
+
const stat = fs.statSync(path.join(contextPath, file));
|
|
263
|
+
totalSize += stat.size;
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
// Игнорируем
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return {
|
|
270
|
+
name: d.name,
|
|
271
|
+
number: parsed.number,
|
|
272
|
+
date: parsed.date,
|
|
273
|
+
title: parsed.title,
|
|
274
|
+
path: contextPath,
|
|
275
|
+
status,
|
|
276
|
+
filesCount: files.length,
|
|
277
|
+
size: totalSize,
|
|
278
|
+
readme: readme.slice(0, 500),
|
|
279
|
+
hasParent,
|
|
280
|
+
hasChild,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
})
|
|
287
|
+
.filter((c) => c !== null)
|
|
288
|
+
.sort((a, b) => {
|
|
289
|
+
// Новые сверху: сначала по номеру (убывание), потом по дате (убывание)
|
|
290
|
+
if (a.number !== b.number)
|
|
291
|
+
return b.number - a.number;
|
|
292
|
+
return b.date.localeCompare(a.date);
|
|
293
|
+
});
|
|
294
|
+
return dirs;
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
return [];
|
|
298
|
+
}
|
|
239
299
|
}
|
|
240
300
|
function loadContext(contextName) {
|
|
241
301
|
const mdHistory = getMdHistoryPath();
|
|
@@ -270,11 +330,24 @@ function saveContext(taskName, content, parentContext) {
|
|
|
270
330
|
const date = new Date().toISOString().split("T")[0];
|
|
271
331
|
const number = getNextContextNumber();
|
|
272
332
|
const paddedNumber = String(number).padStart(3, "0");
|
|
273
|
-
|
|
274
|
-
|
|
333
|
+
// Санитизация имени: только латиница, цифры и дефисы
|
|
334
|
+
// Кириллица транслитерируется или удаляется для совместимости
|
|
335
|
+
const safeName = taskName
|
|
336
|
+
.toLowerCase()
|
|
337
|
+
.replace(/[а-яёА-ЯЁ]/g, (char) => {
|
|
338
|
+
const translit = {
|
|
339
|
+
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
|
|
340
|
+
'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm',
|
|
341
|
+
'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
|
|
342
|
+
'ф': 'f', 'х': 'h', 'ц': 'ts', 'ч': 'ch', 'ш': 'sh', 'щ': 'sch',
|
|
343
|
+
'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya'
|
|
344
|
+
};
|
|
345
|
+
return translit[char.toLowerCase()] || '';
|
|
346
|
+
})
|
|
347
|
+
.replace(/[^a-z0-9-]/g, "-")
|
|
275
348
|
.replace(/-+/g, "-")
|
|
276
349
|
.replace(/^-|-$/g, "")
|
|
277
|
-
.slice(0, 50);
|
|
350
|
+
.slice(0, 50) || "unnamed-context";
|
|
278
351
|
const contextName = `${paddedNumber}_${date}_${safeName}`;
|
|
279
352
|
const contextPath = path.join(getMdHistoryPath(), contextName);
|
|
280
353
|
try {
|
|
@@ -294,14 +367,17 @@ function saveContext(taskName, content, parentContext) {
|
|
|
294
367
|
fs.writeFileSync(path.join(contextPath, "03-changes.md"), content.changes, "utf-8");
|
|
295
368
|
fs.writeFileSync(path.join(contextPath, "04-summary.md"), content.summary, "utf-8");
|
|
296
369
|
// Расширенные файлы (если есть)
|
|
370
|
+
if (content.sessionLog) {
|
|
371
|
+
fs.writeFileSync(path.join(contextPath, "05-session-log.md"), content.sessionLog, "utf-8");
|
|
372
|
+
}
|
|
297
373
|
if (content.codeSnippets) {
|
|
298
|
-
fs.writeFileSync(path.join(contextPath, "
|
|
374
|
+
fs.writeFileSync(path.join(contextPath, "06-code-snippets.md"), content.codeSnippets, "utf-8");
|
|
299
375
|
}
|
|
300
376
|
if (content.decisions) {
|
|
301
|
-
fs.writeFileSync(path.join(contextPath, "
|
|
377
|
+
fs.writeFileSync(path.join(contextPath, "07-decisions.md"), content.decisions, "utf-8");
|
|
302
378
|
}
|
|
303
379
|
if (content.problemsSolutions) {
|
|
304
|
-
fs.writeFileSync(path.join(contextPath, "
|
|
380
|
+
fs.writeFileSync(path.join(contextPath, "08-problems-solutions.md"), content.problemsSolutions, "utf-8");
|
|
305
381
|
}
|
|
306
382
|
// Обновляем parent контекст если есть
|
|
307
383
|
if (state.loadedContext && state.loadedContextPath) {
|
|
@@ -320,11 +396,124 @@ function saveContext(taskName, content, parentContext) {
|
|
|
320
396
|
// Сбрасываем состояние
|
|
321
397
|
state.loadedContext = contextName;
|
|
322
398
|
state.loadedContextPath = contextPath;
|
|
323
|
-
|
|
399
|
+
// Подсчитываем файлы
|
|
400
|
+
const filesCount = fs.readdirSync(contextPath).filter(f => f.endsWith(".md")).length;
|
|
401
|
+
// Обновляем session.md
|
|
402
|
+
generateSessionMd();
|
|
403
|
+
return { success: true, path: contextPath, name: contextName, filesCount };
|
|
324
404
|
}
|
|
325
405
|
catch (err) {
|
|
326
|
-
return { success: false, path: "", name: "", error: String(err) };
|
|
406
|
+
return { success: false, path: "", name: "", filesCount: 0, error: String(err) };
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
// ============================================================================
|
|
410
|
+
// SESSION.MD ГЕНЕРАЦИЯ
|
|
411
|
+
// ============================================================================
|
|
412
|
+
function generateSessionMd() {
|
|
413
|
+
const mdHistory = getMdHistoryPath();
|
|
414
|
+
ensureDir(mdHistory);
|
|
415
|
+
const contexts = listContexts();
|
|
416
|
+
const stats = getStatistics();
|
|
417
|
+
const lastContext = contexts[0];
|
|
418
|
+
const prevContexts = contexts.slice(1, 6);
|
|
419
|
+
let content = `# Dedsession - Статус проекта
|
|
420
|
+
|
|
421
|
+
**Обновлено:** ${new Date().toISOString().split("T")[0]} ${new Date().toTimeString().slice(0, 5)}
|
|
422
|
+
**Всего контекстов:** ${stats.total} | **За неделю:** ${stats.thisWeek} | **Завершено:** ${stats.completed} | **В процессе:** ${stats.inProgress}
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
`;
|
|
427
|
+
if (lastContext) {
|
|
428
|
+
content += `## Последний контекст
|
|
429
|
+
|
|
430
|
+
**#${String(lastContext.number).padStart(3, "0")}** | \`${lastContext.name}\`
|
|
431
|
+
**Дата:** ${lastContext.date}
|
|
432
|
+
**Статус:** ${lastContext.status}
|
|
433
|
+
**Файлов:** ${lastContext.filesCount}
|
|
434
|
+
`;
|
|
435
|
+
if (lastContext.hasParent) {
|
|
436
|
+
content += `**Parent:** ${lastContext.hasParent}\n`;
|
|
437
|
+
}
|
|
438
|
+
if (lastContext.hasChild) {
|
|
439
|
+
content += `**Child:** ${lastContext.hasChild}\n`;
|
|
440
|
+
}
|
|
441
|
+
// Читаем changes.md для списка файлов
|
|
442
|
+
const changesPath = path.join(lastContext.path, "03-changes.md");
|
|
443
|
+
if (fs.existsSync(changesPath)) {
|
|
444
|
+
const changesContent = fs.readFileSync(changesPath, "utf-8");
|
|
445
|
+
const filesMatch = changesContent.match(/[-*]\s+\`([^`]+)\`/g);
|
|
446
|
+
if (filesMatch && filesMatch.length > 0) {
|
|
447
|
+
content += `\n**Изменённые файлы:**\n`;
|
|
448
|
+
filesMatch.slice(0, 10).forEach(f => {
|
|
449
|
+
content += `${f}\n`;
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
// Краткое описание из README
|
|
454
|
+
if (lastContext.readme) {
|
|
455
|
+
const descMatch = lastContext.readme.match(/## Краткое описание\n\n([^\n#]+)/);
|
|
456
|
+
if (descMatch) {
|
|
457
|
+
content += `\n**Описание:** ${descMatch[1].trim()}\n`;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
content += `
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
### Продолжить работу:
|
|
464
|
+
\`\`\`
|
|
465
|
+
загрузи контекст ${lastContext.number}
|
|
466
|
+
\`\`\`
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
`;
|
|
471
|
+
}
|
|
472
|
+
if (prevContexts.length > 0) {
|
|
473
|
+
content += `## Предыдущие контексты
|
|
474
|
+
|
|
475
|
+
| # | Название | Дата | Статус |
|
|
476
|
+
|---|----------|------|--------|
|
|
477
|
+
`;
|
|
478
|
+
for (const ctx of prevContexts) {
|
|
479
|
+
content += `| ${String(ctx.number).padStart(3, "0")} | ${ctx.title.slice(0, 30)} | ${ctx.date} | ${ctx.status} |\n`;
|
|
480
|
+
}
|
|
481
|
+
content += `\n---\n\n`;
|
|
327
482
|
}
|
|
483
|
+
content += `## Быстрые команды
|
|
484
|
+
|
|
485
|
+
| Команда | Действие |
|
|
486
|
+
|---------|----------|
|
|
487
|
+
| \`запусти контекст\` | Полная инициализация |
|
|
488
|
+
| \`сохрани контекст\` | Сохранить текущую работу |
|
|
489
|
+
| \`загрузи контекст\` | Выбрать из списка |
|
|
490
|
+
| \`загрузи контекст N\` | Загрузить по номеру |
|
|
491
|
+
| \`покажи контексты\` | Список всех |
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
**Dedsession v${CONFIG.VERSION}**
|
|
496
|
+
`;
|
|
497
|
+
fs.writeFileSync(path.join(mdHistory, "session.md"), content, "utf-8");
|
|
498
|
+
}
|
|
499
|
+
// ============================================================================
|
|
500
|
+
// ЧТЕНИЕ АРХИТЕКТУРЫ ПРОЕКТА
|
|
501
|
+
// ============================================================================
|
|
502
|
+
function readProjectArchitecture() {
|
|
503
|
+
const mdDir = path.join(getWorkingDir(), "MD");
|
|
504
|
+
const results = [];
|
|
505
|
+
if (!fs.existsSync(mdDir)) {
|
|
506
|
+
return results;
|
|
507
|
+
}
|
|
508
|
+
const files = fs.readdirSync(mdDir).filter(f => f.endsWith(".md") && (f.includes("ARCHITECTURE") ||
|
|
509
|
+
f.includes("PROTOCOL") ||
|
|
510
|
+
f.includes("API") ||
|
|
511
|
+
f.includes("REFERENCE")));
|
|
512
|
+
for (const file of files.slice(0, 3)) {
|
|
513
|
+
const content = fs.readFileSync(path.join(mdDir, file), "utf-8");
|
|
514
|
+
results.push(`### ${file}\n\n${content.slice(0, 1000)}${content.length > 1000 ? "\n...(обрезано)" : ""}`);
|
|
515
|
+
}
|
|
516
|
+
return results;
|
|
328
517
|
}
|
|
329
518
|
function getStatistics() {
|
|
330
519
|
const contexts = listContexts();
|
|
@@ -430,7 +619,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
430
619
|
tools: [
|
|
431
620
|
{
|
|
432
621
|
name: "context_start",
|
|
433
|
-
description: "🚀 Инициализация системы
|
|
622
|
+
description: "🚀 ГЛАВНАЯ КОМАНДА. Инициализация системы контекста dedsession. Показывает инструкции, статистику и список последних контекстов с выбором действия. ОБЯЗАТЕЛЬНО вызывай когда пользователь говорит: 'запусти контекст', 'контекст', 'начни сессию', 'инициализация', 'dedsession', 'старт', 'начало'. Это первое что нужно сделать в новой сессии.",
|
|
434
623
|
inputSchema: {
|
|
435
624
|
type: "object",
|
|
436
625
|
properties: {},
|
|
@@ -438,7 +627,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
438
627
|
},
|
|
439
628
|
{
|
|
440
629
|
name: "context_save",
|
|
441
|
-
description: "💾 Сохранить контекст
|
|
630
|
+
description: "💾 Сохранить контекст работы в MD_HISTORY/. Создаёт папку с файлами описания задачи. ОБЯЗАТЕЛЬНО вызывай когда пользователь говорит: 'сохрани контекст', 'сохрани работу', 'сохранить', 'сохрани', 'запомни работу'.",
|
|
442
631
|
inputSchema: {
|
|
443
632
|
type: "object",
|
|
444
633
|
properties: {
|
|
@@ -479,26 +668,30 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
479
668
|
type: "string",
|
|
480
669
|
description: "(Опционально) Проблемы и их решения",
|
|
481
670
|
},
|
|
671
|
+
session_log: {
|
|
672
|
+
type: "string",
|
|
673
|
+
description: "(ОБЯЗАТЕЛЬНО) Подробный лог сессии: ключевые моменты диалога, команды, решения, ошибки",
|
|
674
|
+
},
|
|
482
675
|
},
|
|
483
|
-
required: ["task_name", "task_overview", "changes", "summary"],
|
|
676
|
+
required: ["task_name", "task_overview", "changes", "summary", "session_log"],
|
|
484
677
|
},
|
|
485
678
|
},
|
|
486
679
|
{
|
|
487
680
|
name: "context_load",
|
|
488
|
-
description: "📂 Загрузить контекст из MD_HISTORY/. Можно указать номер, имя или поисковый запрос.
|
|
681
|
+
description: "📂 Загрузить контекст из MD_HISTORY/. Можно указать номер, имя или поисковый запрос. ОБЯЗАТЕЛЬНО вызывай когда пользователь говорит: 'загрузи контекст', 'загрузи', 'продолжи работу', 'открой контекст', 'загрузить', или просто номер типа '1', '2', '001'. Также вызывай после context_start когда пользователь выбрал '1'.",
|
|
489
682
|
inputSchema: {
|
|
490
683
|
type: "object",
|
|
491
684
|
properties: {
|
|
492
685
|
query: {
|
|
493
686
|
type: "string",
|
|
494
|
-
description: "Номер контекста (001), имя папки или поисковый
|
|
687
|
+
description: "Номер контекста (1, 2, 001), имя папки или поисковый запрос. Если пусто - показать список для выбора.",
|
|
495
688
|
},
|
|
496
689
|
},
|
|
497
690
|
},
|
|
498
691
|
},
|
|
499
692
|
{
|
|
500
693
|
name: "context_list",
|
|
501
|
-
description: "📋 Показать список всех контекстов со статистикой.
|
|
694
|
+
description: "📋 Показать список всех контекстов со статистикой. ОБЯЗАТЕЛЬНО вызывай когда пользователь говорит: 'покажи контексты', 'список контекстов', 'что сохранено', 'все контексты', '1' (после context_start).",
|
|
502
695
|
inputSchema: {
|
|
503
696
|
type: "object",
|
|
504
697
|
properties: {
|
|
@@ -521,6 +714,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
521
714
|
properties: {},
|
|
522
715
|
},
|
|
523
716
|
},
|
|
717
|
+
{
|
|
718
|
+
name: "context_help",
|
|
719
|
+
description: "❓ Справка по системе контекста. Вызывай когда пользователь говорит 'как работает контекст?', 'помощь', 'справка', 'faq' и т.п.",
|
|
720
|
+
inputSchema: {
|
|
721
|
+
type: "object",
|
|
722
|
+
properties: {},
|
|
723
|
+
},
|
|
724
|
+
},
|
|
524
725
|
],
|
|
525
726
|
}));
|
|
526
727
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
@@ -532,13 +733,39 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
532
733
|
const guide = getInstruction("init");
|
|
533
734
|
const stats = getStatistics();
|
|
534
735
|
const contexts = listContexts().slice(0, 5);
|
|
535
|
-
|
|
736
|
+
const architecture = readProjectArchitecture();
|
|
737
|
+
const workDir = getWorkingDir();
|
|
738
|
+
const mdHistoryPath = getMdHistoryPath();
|
|
739
|
+
let output = `# 🚀 Dedsession v${CONFIG.VERSION}\n\n`;
|
|
740
|
+
output += `📁 **Рабочая директория:** \`${workDir}\`\n`;
|
|
741
|
+
output += `📂 **MD_HISTORY:** \`${mdHistoryPath}\`\n\n`;
|
|
742
|
+
output += `---\n\n`;
|
|
743
|
+
output += guide + "\n\n---\n\n";
|
|
744
|
+
// Читаем session.md если есть
|
|
745
|
+
const sessionMdPath = path.join(getMdHistoryPath(), "session.md");
|
|
746
|
+
if (fs.existsSync(sessionMdPath)) {
|
|
747
|
+
output += `## 📋 Из session.md\n\n`;
|
|
748
|
+
const sessionContent = fs.readFileSync(sessionMdPath, "utf-8");
|
|
749
|
+
// Берём только секцию "Последний контекст"
|
|
750
|
+
const lastContextMatch = sessionContent.match(/## Последний контекст[\s\S]*?(?=## |$)/);
|
|
751
|
+
if (lastContextMatch) {
|
|
752
|
+
output += lastContextMatch[0] + "\n---\n\n";
|
|
753
|
+
}
|
|
754
|
+
}
|
|
536
755
|
output += `## 📊 Статистика\n\n`;
|
|
537
756
|
output += `| Показатель | Значение |\n|------------|----------|\n`;
|
|
538
757
|
output += `| Всего контекстов | ${stats.total} |\n`;
|
|
539
758
|
output += `| За неделю | ${stats.thisWeek} |\n`;
|
|
540
759
|
output += `| Завершено | ${stats.completed} |\n`;
|
|
541
760
|
output += `| В процессе | ${stats.inProgress} |\n\n`;
|
|
761
|
+
// Архитектура проекта если есть
|
|
762
|
+
if (architecture.length > 0) {
|
|
763
|
+
output += `## 🏗️ Архитектура проекта (из MD/)\n\n`;
|
|
764
|
+
for (const arch of architecture) {
|
|
765
|
+
output += arch + "\n\n";
|
|
766
|
+
}
|
|
767
|
+
output += `---\n\n`;
|
|
768
|
+
}
|
|
542
769
|
if (contexts.length > 0) {
|
|
543
770
|
output += `## 📦 Последние контексты\n\n`;
|
|
544
771
|
output += `| # | Название | Дата | Статус |\n|---|----------|------|--------|\n`;
|
|
@@ -552,9 +779,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
552
779
|
}
|
|
553
780
|
output += `---\n\n`;
|
|
554
781
|
output += `## 🎯 Что делаем?\n\n`;
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
782
|
+
if (contexts.length > 0) {
|
|
783
|
+
output += `**Выбери:**\n\n`;
|
|
784
|
+
output += `**1** — Показать все контексты и выбрать для загрузки\n`;
|
|
785
|
+
output += `**2** — Начать новый чат (без загрузки контекста)\n\n`;
|
|
786
|
+
output += `_(просто напиши 1 или 2)_\n`;
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
output += `Контекстов пока нет. Начинай работу — потом сохраним контекст.\n`;
|
|
790
|
+
}
|
|
558
791
|
return { content: [{ type: "text", text: output }] };
|
|
559
792
|
}
|
|
560
793
|
// ==================== CONTEXT_SAVE ====================
|
|
@@ -582,12 +815,15 @@ ${args?.summary || "Нет описания"}
|
|
|
582
815
|
|
|
583
816
|
${args?.changes?.split("\n").map(l => l.trim() ? `- ${l}` : "").join("\n") || "- Нет данных"}
|
|
584
817
|
`;
|
|
818
|
+
// Формируем лог сессии
|
|
819
|
+
const sessionLog = args?.session_log || "Лог сессии не предоставлен";
|
|
585
820
|
const result = saveContext(taskName, {
|
|
586
821
|
readme,
|
|
587
822
|
taskOverview: `# 📋 Обзор задачи\n\n${args?.task_overview || "Нет описания"}`,
|
|
588
823
|
analysis: `# 🔍 Анализ\n\n${args?.analysis || "Анализ не проводился"}`,
|
|
589
824
|
changes: `# 🔧 Изменения\n\n${args?.changes || "Нет изменений"}`,
|
|
590
825
|
summary: `# 📝 Итоги\n\n${args?.summary || "Нет итогов"}`,
|
|
826
|
+
sessionLog: `# 💬 Лог сессии\n\n**Дата:** ${new Date().toISOString()}\n\n${sessionLog}`,
|
|
591
827
|
codeSnippets: args?.code_snippets,
|
|
592
828
|
decisions: args?.decisions,
|
|
593
829
|
problemsSolutions: args?.problems_solutions,
|
|
@@ -595,10 +831,9 @@ ${args?.changes?.split("\n").map(l => l.trim() ? `- ${l}` : "").join("\n") || "-
|
|
|
595
831
|
if (!result.success) {
|
|
596
832
|
return { content: [{ type: "text", text: `❌ Ошибка: ${result.error}` }] };
|
|
597
833
|
}
|
|
598
|
-
const filesCount = fs.readdirSync(result.path).filter(f => f.endsWith(".md")).length;
|
|
599
834
|
let output = `✅ **Контекст сохранён**\n\n`;
|
|
600
835
|
output += `📁 **Папка:** \`${result.name}\`\n`;
|
|
601
|
-
output += `📄 **Файлов:** ${filesCount}\n`;
|
|
836
|
+
output += `📄 **Файлов:** ${result.filesCount}\n`;
|
|
602
837
|
output += `📍 **Путь:** \`${result.path}\`\n`;
|
|
603
838
|
if (state.loadedContext && state.loadedContext !== result.name) {
|
|
604
839
|
output += `\n🔗 **Parent:** ${state.loadedContext}\n`;
|
|
@@ -710,14 +945,18 @@ ${args?.changes?.split("\n").map(l => l.trim() ? `- ${l}` : "").join("\n") || "-
|
|
|
710
945
|
if (total > limit) {
|
|
711
946
|
output += `\n📝 Показано ${limit} из ${total}.\n`;
|
|
712
947
|
}
|
|
948
|
+
output += `\n---\n_Dedsession v${CONFIG.VERSION}_\n`;
|
|
713
949
|
return { content: [{ type: "text", text: output }] };
|
|
714
950
|
}
|
|
715
951
|
// ==================== CONTEXT_STATUS ====================
|
|
716
952
|
case "context_status": {
|
|
717
953
|
const stats = getStatistics();
|
|
718
954
|
const uptime = Math.round((Date.now() - state.sessionStartTime.getTime()) / 1000 / 60);
|
|
719
|
-
|
|
955
|
+
const workDir = getWorkingDir();
|
|
956
|
+
let output = `## 📊 Статус сессии — Dedsession v${CONFIG.VERSION}\n\n`;
|
|
720
957
|
output += `| Параметр | Значение |\n|----------|----------|\n`;
|
|
958
|
+
output += `| Версия | ${CONFIG.VERSION} |\n`;
|
|
959
|
+
output += `| Рабочая директория | \`${workDir}\` |\n`;
|
|
721
960
|
output += `| Время работы | ${uptime} мин |\n`;
|
|
722
961
|
output += `| Инициализирована | ${state.isInitialized ? "✅" : "❌"} |\n`;
|
|
723
962
|
output += `| Загруженный контекст | ${state.loadedContext || "—"} |\n`;
|
|
@@ -726,6 +965,70 @@ ${args?.changes?.split("\n").map(l => l.trim() ? `- ${l}` : "").join("\n") || "-
|
|
|
726
965
|
output += `| В процессе | ${stats.inProgress} |\n`;
|
|
727
966
|
return { content: [{ type: "text", text: output }] };
|
|
728
967
|
}
|
|
968
|
+
// ==================== CONTEXT_HELP ====================
|
|
969
|
+
case "context_help": {
|
|
970
|
+
const output = `# Dedsession — Справка
|
|
971
|
+
|
|
972
|
+
## Команды
|
|
973
|
+
|
|
974
|
+
| Скажи | Что будет |
|
|
975
|
+
|-------|-----------|
|
|
976
|
+
| \`запусти контекст\` | Инициализация + статистика + последний контекст |
|
|
977
|
+
| \`сохрани контекст\` | Сохранить работу в MD_HISTORY/ |
|
|
978
|
+
| \`загрузи контекст\` | Показать список для выбора |
|
|
979
|
+
| \`загрузи контекст 5\` | Загрузить контекст #005 |
|
|
980
|
+
| \`загрузи контекст api\` | Поиск по слову "api" |
|
|
981
|
+
| \`покажи контексты\` | Список всех контекстов |
|
|
982
|
+
| \`статус\` | Текущая сессия |
|
|
983
|
+
|
|
984
|
+
---
|
|
985
|
+
|
|
986
|
+
## Структура
|
|
987
|
+
|
|
988
|
+
\`\`\`
|
|
989
|
+
MD_HISTORY/
|
|
990
|
+
├── session.md ← актуальный статус
|
|
991
|
+
└── 001_2025-12-16_task-name/
|
|
992
|
+
├── README.md ← обзор
|
|
993
|
+
├── 01-task-overview.md ← задача
|
|
994
|
+
├── 02-analysis.md ← анализ
|
|
995
|
+
├── 03-changes.md ← изменения
|
|
996
|
+
├── 04-summary.md ← итоги
|
|
997
|
+
├── 05-session-log.md ← лог диалога
|
|
998
|
+
└── 06-*.md ← доп. файлы
|
|
999
|
+
\`\`\`
|
|
1000
|
+
|
|
1001
|
+
---
|
|
1002
|
+
|
|
1003
|
+
## Автоматика
|
|
1004
|
+
|
|
1005
|
+
**Напоминания** — Claude напомнит сохранить когда:
|
|
1006
|
+
- Изменено 5+ файлов
|
|
1007
|
+
- Задача завершена
|
|
1008
|
+
- Прошло 30+ минут
|
|
1009
|
+
- Сказано "готово", "сделано"
|
|
1010
|
+
|
|
1011
|
+
**Parent/Child** — связи создаются автоматически:
|
|
1012
|
+
- Загрузил #005 → поработал → сохранил → #006 (child of #005)
|
|
1013
|
+
|
|
1014
|
+
**session.md** — обновляется после каждого сохранения
|
|
1015
|
+
|
|
1016
|
+
---
|
|
1017
|
+
|
|
1018
|
+
## Правила
|
|
1019
|
+
|
|
1020
|
+
| DO | DON'T |
|
|
1021
|
+
|----|-------|
|
|
1022
|
+
| Сохраняй перед уходом | Не забывай сохранять |
|
|
1023
|
+
| Загружай при возвращении | Не объясняй заново |
|
|
1024
|
+
| Давай понятные имена | Не называй "work1" |
|
|
1025
|
+
|
|
1026
|
+
---
|
|
1027
|
+
|
|
1028
|
+
**v${CONFIG.VERSION}** | \`npm: dedsession\`
|
|
1029
|
+
`;
|
|
1030
|
+
return { content: [{ type: "text", text: output }] };
|
|
1031
|
+
}
|
|
729
1032
|
default:
|
|
730
1033
|
return { content: [{ type: "text", text: `❌ Неизвестный tool: ${name}` }] };
|
|
731
1034
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|