ethan-skill 1.5.7 → 1.5.9

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.
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ /**
3
+ * Project Context Snapshot Builder
4
+ * 采集当前项目的技术栈、git 信息、目录树,用于注入到 Auto-Pilot / Workflow 提示词
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.buildProjectSnapshot = buildProjectSnapshot;
41
+ exports.formatSnapshotForPrompt = formatSnapshotForPrompt;
42
+ exports.loadCachedSnapshot = loadCachedSnapshot;
43
+ exports.saveSnapshotCache = saveSnapshotCache;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const child_process_1 = require("child_process");
47
+ const detector_1 = require("./detector");
48
+ const utils_1 = require("../git/utils");
49
+ const IGNORE_DIRS = new Set([
50
+ 'node_modules', '.git', 'dist', 'build', '.next', 'coverage',
51
+ '__pycache__', '.venv', 'vendor', '.turbo', 'out', '.cache',
52
+ ]);
53
+ const CONTEXT_CACHE_FILE = path.join('.ethan', 'context.json');
54
+ const CACHE_TTL_MS = 30 * 60 * 1000; // 30 minutes
55
+ // ─── Directory Tree ────────────────────────────────────────────────────────
56
+ function renderTree(dir, prefix, depth, isRoot) {
57
+ if (depth < 0)
58
+ return [];
59
+ const lines = [];
60
+ try {
61
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
62
+ const sorted = entries
63
+ .filter((e) => {
64
+ if (IGNORE_DIRS.has(e.name))
65
+ return false;
66
+ // root: keep dot-dirs (.ethan, .github); subdirs: skip hidden
67
+ if (!isRoot && e.name.startsWith('.'))
68
+ return false;
69
+ return true;
70
+ })
71
+ .sort((a, b) => {
72
+ // dirs first, then alphabetical
73
+ if (a.isDirectory() !== b.isDirectory())
74
+ return a.isDirectory() ? -1 : 1;
75
+ return a.name.localeCompare(b.name);
76
+ });
77
+ for (const entry of sorted) {
78
+ const fullPath = path.join(dir, entry.name);
79
+ if (entry.isDirectory()) {
80
+ lines.push(`${prefix}📁 ${entry.name}/`);
81
+ if (depth > 0) {
82
+ lines.push(...renderTree(fullPath, prefix + ' ', depth - 1, false));
83
+ }
84
+ }
85
+ else {
86
+ lines.push(`${prefix}${entry.name}`);
87
+ }
88
+ }
89
+ }
90
+ catch {
91
+ // permission issues — silently skip
92
+ }
93
+ return lines;
94
+ }
95
+ function buildDirectoryTree(cwd) {
96
+ try {
97
+ const lines = renderTree(cwd, '', 2, true);
98
+ return lines.join('\n');
99
+ }
100
+ catch {
101
+ return '';
102
+ }
103
+ }
104
+ // ─── Git helpers ───────────────────────────────────────────────────────────
105
+ function gitCmd(args, cwd) {
106
+ try {
107
+ const r = (0, child_process_1.spawnSync)('git', args, { cwd, encoding: 'utf-8' });
108
+ if (r.status === 0)
109
+ return (r.stdout || '').trim();
110
+ }
111
+ catch {
112
+ // ignore
113
+ }
114
+ return '';
115
+ }
116
+ function getRecentCommits(cwd) {
117
+ return gitCmd(['log', '--oneline', '-20'], cwd);
118
+ }
119
+ function getChangedFiles(cwd) {
120
+ const output = gitCmd(['status', '--short'], cwd);
121
+ if (!output)
122
+ return [];
123
+ return output.split('\n').filter(Boolean).slice(0, 20);
124
+ }
125
+ // ─── Snapshot ──────────────────────────────────────────────────────────────
126
+ /** 采集当前项目快照(实时) */
127
+ function buildProjectSnapshot(cwd = process.cwd()) {
128
+ const ctx = (0, detector_1.detectProjectContext)(cwd);
129
+ let projectName = ctx.projectName || path.basename(cwd);
130
+ const gitRepo = (0, utils_1.isGitRepo)(cwd);
131
+ const recentCommits = gitRepo ? getRecentCommits(cwd) : '';
132
+ const currentBranch = gitRepo ? (0, utils_1.getCurrentBranch)(cwd) : '';
133
+ const changedFiles = gitRepo ? getChangedFiles(cwd) : [];
134
+ const directoryTree = buildDirectoryTree(cwd);
135
+ const snapshot = {
136
+ projectName,
137
+ techSummary: ctx.summary,
138
+ frameworks: ctx.frameworks,
139
+ languages: ctx.languages,
140
+ tools: ctx.tools,
141
+ recentCommits,
142
+ currentBranch,
143
+ changedFiles,
144
+ directoryTree,
145
+ generatedAt: new Date().toISOString(),
146
+ cwd,
147
+ };
148
+ return snapshot;
149
+ }
150
+ /** 将快照格式化为可注入提示词的 Markdown 段落 */
151
+ function formatSnapshotForPrompt(snapshot, isEn = false) {
152
+ const lines = [];
153
+ if (isEn) {
154
+ lines.push('## Project Context (Auto-Collected)', '');
155
+ lines.push(`**Project**: ${snapshot.projectName}`);
156
+ if (snapshot.languages.length)
157
+ lines.push(`**Languages**: ${snapshot.languages.join(', ')}`);
158
+ if (snapshot.frameworks.length)
159
+ lines.push(`**Frameworks**: ${snapshot.frameworks.join(', ')}`);
160
+ if (snapshot.tools.length)
161
+ lines.push(`**Tools**: ${snapshot.tools.join(', ')}`);
162
+ if (snapshot.currentBranch)
163
+ lines.push(`**Branch**: ${snapshot.currentBranch}`);
164
+ if (snapshot.changedFiles.length) {
165
+ lines.push('', `**Changed Files** (${snapshot.changedFiles.length}):`);
166
+ snapshot.changedFiles.slice(0, 10).forEach((f) => lines.push(` ${f}`));
167
+ }
168
+ if (snapshot.recentCommits) {
169
+ lines.push('', '**Recent Commits**:');
170
+ snapshot.recentCommits.split('\n').slice(0, 10).forEach((l) => lines.push(` ${l}`));
171
+ }
172
+ if (snapshot.directoryTree) {
173
+ lines.push('', '**Project Structure**:', '```', snapshot.directoryTree, '```');
174
+ }
175
+ }
176
+ else {
177
+ lines.push('## 项目上下文(自动采集)', '');
178
+ lines.push(`**项目名称**:${snapshot.projectName}`);
179
+ if (snapshot.languages.length)
180
+ lines.push(`**编程语言**:${snapshot.languages.join('、')}`);
181
+ if (snapshot.frameworks.length)
182
+ lines.push(`**框架/库**:${snapshot.frameworks.join('、')}`);
183
+ if (snapshot.tools.length)
184
+ lines.push(`**工具链**:${snapshot.tools.join('、')}`);
185
+ if (snapshot.currentBranch)
186
+ lines.push(`**当前分支**:${snapshot.currentBranch}`);
187
+ if (snapshot.changedFiles.length) {
188
+ lines.push('', `**变更文件**(${snapshot.changedFiles.length} 个):`);
189
+ snapshot.changedFiles.slice(0, 10).forEach((f) => lines.push(` ${f}`));
190
+ }
191
+ if (snapshot.recentCommits) {
192
+ lines.push('', '**近期提交**:');
193
+ snapshot.recentCommits.split('\n').slice(0, 10).forEach((l) => lines.push(` ${l}`));
194
+ }
195
+ if (snapshot.directoryTree) {
196
+ lines.push('', '**目录结构**:', '```', snapshot.directoryTree, '```');
197
+ }
198
+ }
199
+ return lines.join('\n');
200
+ }
201
+ // ─── Cache ─────────────────────────────────────────────────────────────────
202
+ /** 读取缓存快照(TTL 30min,过期或不存在返回 null) */
203
+ function loadCachedSnapshot(cwd = process.cwd()) {
204
+ const filePath = path.join(cwd, CONTEXT_CACHE_FILE);
205
+ try {
206
+ if (!fs.existsSync(filePath))
207
+ return null;
208
+ const data = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
209
+ const age = Date.now() - new Date(data.generatedAt).getTime();
210
+ if (age > CACHE_TTL_MS)
211
+ return null;
212
+ return data;
213
+ }
214
+ catch {
215
+ return null;
216
+ }
217
+ }
218
+ /** 保存快照到缓存 */
219
+ function saveSnapshotCache(snapshot, cwd = process.cwd()) {
220
+ const dir = path.join(cwd, '.ethan');
221
+ try {
222
+ if (!fs.existsSync(dir))
223
+ fs.mkdirSync(dir, { recursive: true });
224
+ fs.writeFileSync(path.join(cwd, CONTEXT_CACHE_FILE), JSON.stringify(snapshot, null, 2), 'utf-8');
225
+ }
226
+ catch {
227
+ // ignore write errors
228
+ }
229
+ }
230
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=builder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.test.d.ts","sourceRoot":"","sources":["../../src/context/builder.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const vitest_1 = require("vitest");
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const os = __importStar(require("os"));
40
+ const builder_1 = require("./builder");
41
+ (0, vitest_1.describe)('buildProjectSnapshot', () => {
42
+ (0, vitest_1.it)('returns a snapshot with required fields', () => {
43
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
44
+ (0, vitest_1.expect)(snapshot.projectName).toBeTruthy();
45
+ (0, vitest_1.expect)(typeof snapshot.techSummary).toBe('string');
46
+ (0, vitest_1.expect)(Array.isArray(snapshot.frameworks)).toBe(true);
47
+ (0, vitest_1.expect)(Array.isArray(snapshot.languages)).toBe(true);
48
+ (0, vitest_1.expect)(Array.isArray(snapshot.tools)).toBe(true);
49
+ (0, vitest_1.expect)(Array.isArray(snapshot.changedFiles)).toBe(true);
50
+ (0, vitest_1.expect)(typeof snapshot.directoryTree).toBe('string');
51
+ (0, vitest_1.expect)(typeof snapshot.generatedAt).toBe('string');
52
+ (0, vitest_1.expect)(snapshot.cwd).toBe(process.cwd());
53
+ });
54
+ (0, vitest_1.it)('detects TypeScript in this project', () => {
55
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
56
+ (0, vitest_1.expect)(snapshot.languages).toContain('TypeScript');
57
+ });
58
+ (0, vitest_1.it)('detects Vitest in tools', () => {
59
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
60
+ (0, vitest_1.expect)(snapshot.tools).toContain('Vitest');
61
+ });
62
+ (0, vitest_1.it)('includes git branch for git repo', () => {
63
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
64
+ (0, vitest_1.expect)(snapshot.currentBranch).toBeTruthy();
65
+ });
66
+ (0, vitest_1.it)('includes directory tree', () => {
67
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
68
+ (0, vitest_1.expect)(snapshot.directoryTree).toContain('src');
69
+ });
70
+ (0, vitest_1.it)('falls back to dir basename for non-package project', () => {
71
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ethan-test-'));
72
+ try {
73
+ const snapshot = (0, builder_1.buildProjectSnapshot)(tmpDir);
74
+ (0, vitest_1.expect)(snapshot.projectName).toBe(path.basename(tmpDir));
75
+ (0, vitest_1.expect)(snapshot.currentBranch).toBe(''); // not a git repo
76
+ (0, vitest_1.expect)(snapshot.recentCommits).toBe('');
77
+ }
78
+ finally {
79
+ fs.rmdirSync(tmpDir, { recursive: true });
80
+ }
81
+ });
82
+ });
83
+ (0, vitest_1.describe)('formatSnapshotForPrompt', () => {
84
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
85
+ (0, vitest_1.it)('includes project name in Chinese output', () => {
86
+ const text = (0, builder_1.formatSnapshotForPrompt)(snapshot, false);
87
+ (0, vitest_1.expect)(text).toContain(snapshot.projectName);
88
+ (0, vitest_1.expect)(text).toContain('项目上下文');
89
+ });
90
+ (0, vitest_1.it)('includes project name in English output', () => {
91
+ const text = (0, builder_1.formatSnapshotForPrompt)(snapshot, true);
92
+ (0, vitest_1.expect)(text).toContain(snapshot.projectName);
93
+ (0, vitest_1.expect)(text).toContain('Project Context');
94
+ });
95
+ (0, vitest_1.it)('includes language info', () => {
96
+ const text = (0, builder_1.formatSnapshotForPrompt)(snapshot, false);
97
+ (0, vitest_1.expect)(text).toContain('TypeScript');
98
+ });
99
+ (0, vitest_1.it)('includes branch info if available', () => {
100
+ if (snapshot.currentBranch) {
101
+ const text = (0, builder_1.formatSnapshotForPrompt)(snapshot, false);
102
+ (0, vitest_1.expect)(text).toContain(snapshot.currentBranch);
103
+ }
104
+ });
105
+ });
106
+ (0, vitest_1.describe)('cache: loadCachedSnapshot / saveSnapshotCache', () => {
107
+ let tmpDir;
108
+ (0, vitest_1.beforeEach)(() => {
109
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ethan-cache-'));
110
+ });
111
+ (0, vitest_1.afterEach)(() => {
112
+ fs.rmdirSync(tmpDir, { recursive: true });
113
+ });
114
+ (0, vitest_1.it)('returns null when no cache file exists', () => {
115
+ (0, vitest_1.expect)((0, builder_1.loadCachedSnapshot)(tmpDir)).toBeNull();
116
+ });
117
+ (0, vitest_1.it)('saves and loads a snapshot', () => {
118
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
119
+ (0, builder_1.saveSnapshotCache)(snapshot, tmpDir);
120
+ const loaded = (0, builder_1.loadCachedSnapshot)(tmpDir);
121
+ (0, vitest_1.expect)(loaded).not.toBeNull();
122
+ (0, vitest_1.expect)(loaded.projectName).toBe(snapshot.projectName);
123
+ (0, vitest_1.expect)(loaded.cwd).toBe(snapshot.cwd);
124
+ });
125
+ (0, vitest_1.it)('returns null for expired cache', () => {
126
+ const snapshot = (0, builder_1.buildProjectSnapshot)(process.cwd());
127
+ // Set generatedAt to 31 minutes ago
128
+ const staleSnapshot = {
129
+ ...snapshot,
130
+ generatedAt: new Date(Date.now() - 31 * 60 * 1000).toISOString(),
131
+ };
132
+ const cacheDir = path.join(tmpDir, '.ethan');
133
+ fs.mkdirSync(cacheDir, { recursive: true });
134
+ fs.writeFileSync(path.join(cacheDir, 'context.json'), JSON.stringify(staleSnapshot, null, 2), 'utf-8');
135
+ (0, vitest_1.expect)((0, builder_1.loadCachedSnapshot)(tmpDir)).toBeNull();
136
+ });
137
+ });
138
+ //# sourceMappingURL=builder.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.test.js","sourceRoot":"","sources":["../../src/context/builder.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2HH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAufpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2HH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgnBpD"}
@@ -268,6 +268,65 @@ async function startMcpServer() {
268
268
  required: [],
269
269
  },
270
270
  };
271
+ const autopilotTool = {
272
+ name: 'ethan_autopilot',
273
+ description: '生成 Auto-Pilot 超级 Prompt,将完整 Pipeline 的所有步骤打包为单条链式执行指令。粘贴到 AI 编辑器后,AI 将自动链式执行所有步骤,无需手动推进,最终输出完整合并报告。',
274
+ inputSchema: {
275
+ type: 'object',
276
+ properties: {
277
+ pipelineId: {
278
+ type: 'string',
279
+ enum: pipeline_1.PIPELINES.map((p) => p.id),
280
+ description: `Pipeline ID。可选值:${pipeline_1.PIPELINES.map((p) => `${p.id}(${p.name})`).join('、')}`,
281
+ },
282
+ context: {
283
+ type: 'string',
284
+ description: '任务背景描述(如"实现用户登录功能,支持 JWT 认证")',
285
+ },
286
+ lang: {
287
+ type: 'string',
288
+ enum: ['zh', 'en'],
289
+ description: '输出语言:zh(默认)或 en',
290
+ default: 'zh',
291
+ },
292
+ withContext: {
293
+ type: 'boolean',
294
+ description: '是否采集并注入项目上下文快照(技术栈/git 提交/目录树)',
295
+ default: false,
296
+ },
297
+ cwd: {
298
+ type: 'string',
299
+ description: '项目目录路径(withContext=true 时使用,默认为当前目录)',
300
+ },
301
+ },
302
+ required: ['pipelineId', 'context'],
303
+ },
304
+ };
305
+ const contextSnapshotTool = {
306
+ name: 'ethan_context_snapshot',
307
+ description: '采集当前项目的上下文快照,包含技术栈、编程语言、框架、近期 git 提交记录、变更文件列表和目录树。可用于为 Auto-Pilot 或工作流步骤提供项目背景信息。',
308
+ inputSchema: {
309
+ type: 'object',
310
+ properties: {
311
+ cwd: {
312
+ type: 'string',
313
+ description: '项目目录路径(默认为当前目录)',
314
+ },
315
+ format: {
316
+ type: 'string',
317
+ enum: ['markdown', 'json'],
318
+ description: '输出格式:markdown(默认)或 json',
319
+ default: 'markdown',
320
+ },
321
+ useCache: {
322
+ type: 'boolean',
323
+ description: '是否使用缓存(TTL 30min,默认 true)',
324
+ default: true,
325
+ },
326
+ },
327
+ required: [],
328
+ },
329
+ };
271
330
  // 注册工具列表处理器
272
331
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
273
332
  return {
@@ -280,6 +339,8 @@ async function startMcpServer() {
280
339
  estimateTool,
281
340
  gitCommitTool,
282
341
  gitReviewTool,
342
+ autopilotTool,
343
+ contextSnapshotTool,
283
344
  ],
284
345
  };
285
346
  });
@@ -542,6 +603,55 @@ async function startMcpServer() {
542
603
  prompt += `---\n\n请逐文件审查,每个问题注明文件路径 + 行号(如可识别),并给出修改建议。`;
543
604
  return { content: [{ type: 'text', text: prompt }] };
544
605
  }
606
+ // ── ethan_autopilot ────────────────────────────────────────────────────
607
+ if (name === 'ethan_autopilot') {
608
+ const pipelineId = (args?.pipelineId || '').trim();
609
+ const context = (args?.context || '').trim();
610
+ const isEn = args?.lang === 'en';
611
+ const withContext = args?.withContext || false;
612
+ const cwd = args?.cwd || process.cwd();
613
+ if (!context) {
614
+ return {
615
+ content: [{ type: 'text', text: '❌ context 参数不能为空' }],
616
+ isError: true,
617
+ };
618
+ }
619
+ const resolved = (0, pipeline_1.resolvePipeline)(pipelineId);
620
+ if (!resolved) {
621
+ return {
622
+ content: [{ type: 'text', text: `❌ 未知 Pipeline: ${pipelineId}。可选值:${pipeline_1.PIPELINES.map((p) => p.id).join(', ')}` }],
623
+ isError: true,
624
+ };
625
+ }
626
+ const { buildAutopilotPrompt } = await Promise.resolve().then(() => __importStar(require('../cli/autopilot')));
627
+ let snapshot;
628
+ if (withContext) {
629
+ const { buildProjectSnapshot, loadCachedSnapshot, saveSnapshotCache } = await Promise.resolve().then(() => __importStar(require('../context/builder')));
630
+ snapshot = loadCachedSnapshot(cwd) ?? (() => {
631
+ const s = buildProjectSnapshot(cwd);
632
+ saveSnapshotCache(s, cwd);
633
+ return s;
634
+ })();
635
+ }
636
+ const prompt = buildAutopilotPrompt(resolved.pipeline, resolved.skills, { context, isEn, snapshot });
637
+ return { content: [{ type: 'text', text: prompt }] };
638
+ }
639
+ // ── ethan_context_snapshot ─────────────────────────────────────────────
640
+ if (name === 'ethan_context_snapshot') {
641
+ const cwd = args?.cwd || process.cwd();
642
+ const format = (args?.format || 'markdown');
643
+ const useCache = args?.useCache !== false;
644
+ const { buildProjectSnapshot, loadCachedSnapshot, saveSnapshotCache, formatSnapshotForPrompt } = await Promise.resolve().then(() => __importStar(require('../context/builder')));
645
+ let snapshot = useCache ? loadCachedSnapshot(cwd) : null;
646
+ if (!snapshot) {
647
+ snapshot = buildProjectSnapshot(cwd);
648
+ saveSnapshotCache(snapshot, cwd);
649
+ }
650
+ const text = format === 'json'
651
+ ? JSON.stringify(snapshot, null, 2)
652
+ : formatSnapshotForPrompt(snapshot, false);
653
+ return { content: [{ type: 'text', text }] };
654
+ }
545
655
  const skillResult = index_1.ALL_SKILLS.find((s) => s.nameEn === name);
546
656
  if (!skillResult) {
547
657
  return {
@@ -569,7 +679,7 @@ async function startMcpServer() {
569
679
  const transport = new stdio_js_1.StdioServerTransport();
570
680
  await server.connect(transport);
571
681
  // MCP server 运行时不输出到 stdout(会破坏协议)
572
- process.stderr.write(`Ethan MCP Server v${pkg.version} running (${index_1.ALL_SKILLS.length} skill tools + ethan_pipeline + ethan_workflow_next + ethan_workflow_status + ethan_memory_search + ethan_estimate + ethan_git_commit + ethan_git_review, ${pipeline_1.PIPELINES.length} pipelines)\n`);
682
+ process.stderr.write(`Ethan MCP Server v${pkg.version} running (${index_1.ALL_SKILLS.length} skill tools + ethan_pipeline + ethan_workflow_next + ethan_workflow_status + ethan_memory_search + ethan_estimate + ethan_git_commit + ethan_git_review + ethan_autopilot + ethan_context_snapshot, ${pipeline_1.PIPELINES.length} pipelines)\n`);
573
683
  }
574
684
  // 直接运行时启动
575
685
  if (require.main === module) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export declare function markStepDone(session: WorkflowSession, summary?: string,
52
52
  * 构建某步骤的执行提示词
53
53
  * 自动携带:初始任务上下文 + 上一步摘要链
54
54
  */
55
- export declare function buildStepPrompt(session: WorkflowSession, step: WorkflowStep, skill: SkillDefinition): string;
55
+ export declare function buildStepPrompt(session: WorkflowSession, step: WorkflowStep, skill: SkillDefinition, snapshotBlock?: string): string;
56
56
  /** 计算进度百分比 */
57
57
  export declare function calcProgress(session: WorkflowSession): number;
58
58
  //# sourceMappingURL=state.d.ts.map