@wandoupeas/coding-forge 0.2.2 → 0.2.4

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,431 @@
1
+ /**
2
+ * task 命令 - 任务管理
3
+ *
4
+ * 创建、更新、查询任务
5
+ */
6
+ import { Command } from 'commander';
7
+ import { join } from 'path';
8
+ import logger from '../utils/logger.js';
9
+ import { readJson, writeJson } from '../../utils/file.js';
10
+ export function createTaskCommand() {
11
+ const command = new Command('task')
12
+ .description('任务管理:创建、更新、查询任务')
13
+ .addCommand(createCreateCommand())
14
+ .addCommand(createUpdateCommand())
15
+ .addCommand(createListCommand())
16
+ .addCommand(createShowCommand());
17
+ return command;
18
+ }
19
+ function createCreateCommand() {
20
+ return new Command('create')
21
+ .description('创建新任务')
22
+ .argument('<task-id>', '任务 ID(如 T010)')
23
+ .requiredOption('-t, --title <title>', '任务标题')
24
+ .option('-p, --phase <phase>', '所属阶段(如 P1, P2)', 'P1')
25
+ .option('-d, --description <text>', '任务描述')
26
+ .option('--priority <n>', '优先级 1-5', '2')
27
+ .option('--depends-on <ids...>', '依赖的任务 ID')
28
+ .option('--assignee <role>', '负责人角色', 'agent')
29
+ .option('--execution-mode <mode>', '执行模式: auto|manual', 'auto')
30
+ .option('-k, --knowledge <paths...>', '关联的知识文档路径(支持简写如 ADR-005, frontend-guidelines)')
31
+ .option('--no-auto-knowledge', '禁用自动推断知识文档')
32
+ .action(async (taskId, options) => {
33
+ try {
34
+ await createTask(taskId, options);
35
+ }
36
+ catch (error) {
37
+ logger.error(`创建任务失败: ${error}`);
38
+ process.exit(1);
39
+ }
40
+ });
41
+ }
42
+ function createUpdateCommand() {
43
+ return new Command('update')
44
+ .description('更新任务')
45
+ .argument('<task-id>', '任务 ID(如 T010)')
46
+ .option('-t, --title <title>', '任务标题')
47
+ .option('-d, --description <text>', '任务描述')
48
+ .option('-s, --status <status>', '任务状态: pending/ready/in_progress/blocked/completed/failed')
49
+ .option('--priority <n>', '优先级 1-5')
50
+ .option('--add-knowledge <paths...>', '添加关联的知识文档')
51
+ .option('--remove-knowledge <paths...>', '移除关联的知识文档')
52
+ .option('--no-auto-knowledge', '禁用自动根据任务标题补全知识文档')
53
+ .action(async (taskId, options) => {
54
+ try {
55
+ await updateTask(taskId, options);
56
+ }
57
+ catch (error) {
58
+ logger.error(`更新任务失败: ${error}`);
59
+ process.exit(1);
60
+ }
61
+ });
62
+ }
63
+ function createListCommand() {
64
+ return new Command('list')
65
+ .description('列出任务')
66
+ .option('-p, --phase <phase>', '按阶段过滤')
67
+ .option('-s, --status <status>', '按状态过滤')
68
+ .option('--ready', '只显示 ready 状态的任务')
69
+ .option('--json', 'JSON 输出')
70
+ .action(async (options) => {
71
+ try {
72
+ await listTasks(options);
73
+ }
74
+ catch (error) {
75
+ logger.error(`列出任务失败: ${error}`);
76
+ process.exit(1);
77
+ }
78
+ });
79
+ }
80
+ function createShowCommand() {
81
+ return new Command('show')
82
+ .description('显示任务详情')
83
+ .argument('<task-id>', '任务 ID')
84
+ .option('--json', 'JSON 输出')
85
+ .action(async (taskId, options) => {
86
+ try {
87
+ await showTask(taskId, options);
88
+ }
89
+ catch (error) {
90
+ logger.error(`显示任务失败: ${error}`);
91
+ process.exit(1);
92
+ }
93
+ });
94
+ }
95
+ async function createTask(taskId, options, basePath = process.cwd()) {
96
+ const tasksPath = join(basePath, '.webforge', 'tasks.json');
97
+ // 读取现有任务
98
+ const tasksData = await readJson(tasksPath);
99
+ if (!tasksData) {
100
+ throw new Error(`无法读取任务文件: ${tasksPath}`);
101
+ }
102
+ // 检查任务 ID 是否已存在
103
+ if (tasksData.tasks.some((t) => t.id === taskId)) {
104
+ throw new Error(`任务 ${taskId} 已存在`);
105
+ }
106
+ // 处理 knowledgeRefs:优先使用用户指定,否则自动推断
107
+ let knowledgeRefs;
108
+ if (options.knowledge && options.knowledge.length > 0) {
109
+ knowledgeRefs = await Promise.all(options.knowledge.map((k) => resolveKnowledgePath(k, basePath)));
110
+ }
111
+ else if (options.autoKnowledge !== false) {
112
+ // 默认自动推断知识文档
113
+ knowledgeRefs = await inferKnowledgeRefs(options.title, options.phase || 'P1', basePath);
114
+ }
115
+ const now = new Date().toISOString();
116
+ const newTask = {
117
+ id: taskId,
118
+ phase: options.phase || 'P1',
119
+ title: options.title,
120
+ description: options.description,
121
+ status: 'pending',
122
+ assignee: options.assignee || 'agent',
123
+ depends_on: options.dependsOn || [],
124
+ priority: parseInt(options.priority || '2', 10),
125
+ created_at: now,
126
+ updated_at: now,
127
+ executionMode: options.executionMode || 'auto',
128
+ knowledgeRefs
129
+ };
130
+ tasksData.tasks.push(newTask);
131
+ await writeJson(tasksPath, tasksData);
132
+ logger.success(`创建任务 ${taskId}: ${newTask.title}`);
133
+ if (knowledgeRefs && knowledgeRefs.length > 0) {
134
+ logger.info(`关联知识文档 (${knowledgeRefs.length}个):`);
135
+ for (const ref of knowledgeRefs) {
136
+ logger.info(` - ${ref}`);
137
+ }
138
+ }
139
+ }
140
+ async function updateTask(taskId, options, basePath = process.cwd()) {
141
+ const tasksPath = join(basePath, '.webforge', 'tasks.json');
142
+ // 读取现有任务
143
+ const tasksData = await readJson(tasksPath);
144
+ if (!tasksData) {
145
+ throw new Error(`无法读取任务文件: ${tasksPath}`);
146
+ }
147
+ const taskIndex = tasksData.tasks.findIndex((t) => t.id === taskId);
148
+ if (taskIndex === -1) {
149
+ throw new Error(`任务 ${taskId} 不存在`);
150
+ }
151
+ const task = tasksData.tasks[taskIndex];
152
+ const now = new Date().toISOString();
153
+ // 更新字段
154
+ if (options.title)
155
+ task.title = options.title;
156
+ if (options.description)
157
+ task.description = options.description;
158
+ if (options.status)
159
+ task.status = options.status;
160
+ if (options.priority)
161
+ task.priority = parseInt(options.priority, 10);
162
+ // 处理 knowledgeRefs
163
+ let knowledgeChanged = false;
164
+ if (options.addKnowledge && options.addKnowledge.length > 0) {
165
+ const currentRefs = new Set(task.knowledgeRefs || []);
166
+ for (const k of options.addKnowledge) {
167
+ const resolved = await resolveKnowledgePath(k, basePath);
168
+ if (!currentRefs.has(resolved)) {
169
+ currentRefs.add(resolved);
170
+ knowledgeChanged = true;
171
+ }
172
+ }
173
+ task.knowledgeRefs = Array.from(currentRefs);
174
+ }
175
+ if (options.removeKnowledge && options.removeKnowledge.length > 0) {
176
+ const removeRefs = new Set(await Promise.all(options.removeKnowledge.map((k) => resolveKnowledgePath(k, basePath))));
177
+ const originalLength = task.knowledgeRefs?.length || 0;
178
+ task.knowledgeRefs = task.knowledgeRefs?.filter((ref) => !removeRefs.has(ref));
179
+ if (task.knowledgeRefs?.length !== originalLength) {
180
+ knowledgeChanged = true;
181
+ }
182
+ }
183
+ // 自动补全知识文档(默认开启)
184
+ if (options.autoKnowledge !== false) {
185
+ const currentRefs = new Set(task.knowledgeRefs || []);
186
+ const inferredRefs = await inferKnowledgeRefs(task.title, task.phase, basePath);
187
+ let added = 0;
188
+ for (const ref of inferredRefs) {
189
+ if (!currentRefs.has(ref)) {
190
+ currentRefs.add(ref);
191
+ added++;
192
+ }
193
+ }
194
+ if (added > 0) {
195
+ task.knowledgeRefs = Array.from(currentRefs);
196
+ knowledgeChanged = true;
197
+ logger.info(`自动补全 ${added} 个知识文档`);
198
+ }
199
+ }
200
+ task.updated_at = now;
201
+ tasksData.tasks[taskIndex] = task;
202
+ await writeJson(tasksPath, tasksData);
203
+ logger.success(`更新任务 ${taskId}`);
204
+ if (knowledgeChanged) {
205
+ logger.info(`知识文档 (${task.knowledgeRefs?.length || 0}个):`);
206
+ for (const ref of task.knowledgeRefs || []) {
207
+ logger.info(` - ${ref}`);
208
+ }
209
+ }
210
+ }
211
+ async function listTasks(options, basePath = process.cwd()) {
212
+ const tasksPath = join(basePath, '.webforge', 'tasks.json');
213
+ const tasksData = await readJson(tasksPath);
214
+ if (!tasksData) {
215
+ throw new Error(`无法读取任务文件: ${tasksPath}`);
216
+ }
217
+ let tasks = tasksData.tasks;
218
+ // 过滤
219
+ if (options.phase) {
220
+ tasks = tasks.filter((t) => t.phase === options.phase);
221
+ }
222
+ if (options.status) {
223
+ tasks = tasks.filter((t) => t.status === options.status);
224
+ }
225
+ if (options.ready) {
226
+ tasks = tasks.filter((t) => t.status === 'ready');
227
+ }
228
+ // 排序
229
+ tasks = tasks.sort((a, b) => {
230
+ if (a.priority !== b.priority)
231
+ return a.priority - b.priority;
232
+ return a.id.localeCompare(b.id);
233
+ });
234
+ if (options.json) {
235
+ console.log(JSON.stringify(tasks, null, 2));
236
+ return;
237
+ }
238
+ // 表格输出
239
+ if (tasks.length === 0) {
240
+ logger.warning('没有符合条件的任务');
241
+ return;
242
+ }
243
+ logger.info(`共 ${tasks.length} 个任务:\n`);
244
+ for (const task of tasks) {
245
+ const statusIcon = getStatusIcon(task.status);
246
+ const knowledgeBadge = task.knowledgeRefs ? ` [📚${task.knowledgeRefs.length}]` : '';
247
+ logger.info(`${statusIcon} ${task.id} (${task.phase}) ${task.title}${knowledgeBadge}`);
248
+ logger.info(` 状态: ${task.status} | 优先级: ${task.priority} | 负责人: ${task.assignee}`);
249
+ if (task.depends_on.length > 0) {
250
+ logger.info(` 依赖: ${task.depends_on.join(', ')}`);
251
+ }
252
+ if (task.description) {
253
+ logger.info(` ${task.description.slice(0, 60)}${task.description.length > 60 ? '...' : ''}`);
254
+ }
255
+ console.log();
256
+ }
257
+ }
258
+ async function showTask(taskId, options, basePath = process.cwd()) {
259
+ const tasksPath = join(basePath, '.webforge', 'tasks.json');
260
+ const tasksData = await readJson(tasksPath);
261
+ if (!tasksData) {
262
+ throw new Error(`无法读取任务文件: ${tasksPath}`);
263
+ }
264
+ const task = tasksData.tasks.find((t) => t.id === taskId);
265
+ if (!task) {
266
+ throw new Error(`任务 ${taskId} 不存在`);
267
+ }
268
+ if (options.json) {
269
+ console.log(JSON.stringify(task, null, 2));
270
+ return;
271
+ }
272
+ logger.h2(`任务 ${task.id}`);
273
+ logger.info(`标题: ${task.title}`);
274
+ logger.info(`阶段: ${task.phase}`);
275
+ logger.info(`状态: ${task.status}`);
276
+ logger.info(`优先级: ${task.priority}`);
277
+ logger.info(`负责人: ${task.assignee}`);
278
+ logger.info(`执行模式: ${task.executionMode || 'auto'}`);
279
+ if (task.description) {
280
+ console.log();
281
+ logger.info('【描述】');
282
+ logger.info(task.description);
283
+ }
284
+ if (task.depends_on.length > 0) {
285
+ console.log();
286
+ logger.info('【依赖】');
287
+ for (const dep of task.depends_on) {
288
+ logger.info(` - ${dep}`);
289
+ }
290
+ }
291
+ if (task.knowledgeRefs && task.knowledgeRefs.length > 0) {
292
+ console.log();
293
+ logger.info('【关联知识文档】');
294
+ for (const ref of task.knowledgeRefs) {
295
+ logger.info(` 📚 ${ref}`);
296
+ }
297
+ }
298
+ if (task.metadata && Object.keys(task.metadata).length > 0) {
299
+ console.log();
300
+ logger.info('【元数据】');
301
+ for (const [key, value] of Object.entries(task.metadata)) {
302
+ logger.info(` ${key}: ${value}`);
303
+ }
304
+ }
305
+ console.log();
306
+ logger.info(`创建于: ${task.created_at}`);
307
+ logger.info(`更新于: ${task.updated_at}`);
308
+ if (task.completed_at) {
309
+ logger.info(`完成于: ${task.completed_at}`);
310
+ }
311
+ }
312
+ /**
313
+ * 解析知识文档路径简写
314
+ * 支持: "ADR-005" -> ".webforge/knowledge/decisions/ADR-005-alova-http.md"
315
+ * "frontend-guidelines" -> ".webforge/knowledge/design/frontend-guidelines.md"
316
+ */
317
+ async function resolveKnowledgePath(input, basePath = process.cwd()) {
318
+ // 如果已经是完整路径,直接返回
319
+ if (input.startsWith('.webforge/') || input.startsWith('/')) {
320
+ return input;
321
+ }
322
+ // 尝试从知识索引查找
323
+ const knowledgeIndexPath = join(basePath, '.webforge', 'knowledge', 'index.json');
324
+ const knowledgeIndex = await readJson(knowledgeIndexPath);
325
+ if (knowledgeIndex) {
326
+ const inputLower = input.toLowerCase();
327
+ // 1. 完全匹配 title
328
+ const byTitle = knowledgeIndex.find((k) => k.title.toLowerCase() === inputLower);
329
+ if (byTitle)
330
+ return byTitle.path;
331
+ // 2. ADR 编号匹配 (ADR-005 -> ADR-005-alova-http)
332
+ if (input.match(/^ADR-\d+$/i)) {
333
+ const adrMatch = knowledgeIndex.find((k) => k.title.toLowerCase().startsWith(inputLower));
334
+ if (adrMatch)
335
+ return adrMatch.path;
336
+ }
337
+ // 3. 部分匹配 title
338
+ const partialMatch = knowledgeIndex.find((k) => k.title.toLowerCase().includes(inputLower));
339
+ if (partialMatch)
340
+ return partialMatch.path;
341
+ // 4. 匹配路径
342
+ const pathMatch = knowledgeIndex.find((k) => k.path.toLowerCase().includes(inputLower));
343
+ if (pathMatch)
344
+ return pathMatch.path;
345
+ }
346
+ // 回退:返回推测路径
347
+ if (input.match(/^ADR-\d+$/i)) {
348
+ return `.webforge/knowledge/decisions/${input.toUpperCase()}-*.md`;
349
+ }
350
+ return `.webforge/knowledge/design/${input}.md`;
351
+ }
352
+ function getStatusIcon(status) {
353
+ const icons = {
354
+ pending: '⏳',
355
+ ready: '✅',
356
+ in_progress: '🔄',
357
+ blocked: '❌',
358
+ completed: '✓',
359
+ failed: '💥'
360
+ };
361
+ return icons[status] || '❓';
362
+ }
363
+ /**
364
+ * 根据任务标题和阶段推断知识文档关联
365
+ * 基于项目的 knowledge/index.json 动态查找,不硬编码具体文档
366
+ */
367
+ async function inferKnowledgeRefs(title, phase, basePath = process.cwd()) {
368
+ const titleLower = title.toLowerCase();
369
+ const knowledgeTypes = new Set();
370
+ // 根据标题关键词匹配知识文档类型
371
+ if (titleLower.includes('前端') || titleLower.includes('frontend') ||
372
+ titleLower.includes('react') || titleLower.includes('vue') ||
373
+ titleLower.includes('vite') || titleLower.includes('ui')) {
374
+ knowledgeTypes.add('frontend');
375
+ }
376
+ if (titleLower.includes('后端') || titleLower.includes('backend') ||
377
+ titleLower.includes('api') || titleLower.includes('接口') ||
378
+ titleLower.includes('server')) {
379
+ knowledgeTypes.add('backend');
380
+ }
381
+ if (titleLower.includes('数据库') || titleLower.includes('database') ||
382
+ titleLower.includes('prisma') || titleLower.includes('schema') ||
383
+ titleLower.includes('sql') || titleLower.includes('rls') ||
384
+ titleLower.includes('租户') || titleLower.includes('tenant')) {
385
+ knowledgeTypes.add('database');
386
+ }
387
+ if (titleLower.includes('测试') || titleLower.includes('test') ||
388
+ titleLower.includes('e2e') || titleLower.includes('unit')) {
389
+ knowledgeTypes.add('testing');
390
+ }
391
+ if (titleLower.includes('架构') || titleLower.includes('architecture') ||
392
+ titleLower.includes('设计') || titleLower.includes('design')) {
393
+ knowledgeTypes.add('architecture');
394
+ }
395
+ if (titleLower.includes('认证') || titleLower.includes('auth') ||
396
+ titleLower.includes('jwt') || titleLower.includes('登录') ||
397
+ titleLower.includes('权限')) {
398
+ knowledgeTypes.add('auth');
399
+ }
400
+ // 从知识索引中查找匹配的文档
401
+ const knowledgeIndexPath = join(basePath, '.webforge', 'knowledge', 'index.json');
402
+ const knowledgeIndex = await readJson(knowledgeIndexPath);
403
+ if (!knowledgeIndex || knowledgeIndex.length === 0) {
404
+ return [];
405
+ }
406
+ const matchedRefs = [];
407
+ for (const entry of knowledgeIndex) {
408
+ // 匹配 design 目录下的文档
409
+ if (entry.type === 'design') {
410
+ // 从路径中提取文档类型,如 design/frontend-guidelines.md -> frontend
411
+ const pathMatch = entry.path.match(/design\/([a-z]+)-/);
412
+ if (pathMatch) {
413
+ const docType = pathMatch[1]; // frontend, backend, database, testing, architecture
414
+ if (knowledgeTypes.has(docType)) {
415
+ matchedRefs.push(entry.path);
416
+ }
417
+ }
418
+ }
419
+ // 匹配 decisions 目录下的文档(架构/认证相关)
420
+ if (entry.type === 'decision') {
421
+ // 决策文档通常与架构、认证、数据库相关
422
+ if (knowledgeTypes.has('backend') || knowledgeTypes.has('architecture') ||
423
+ knowledgeTypes.has('auth') || knowledgeTypes.has('database')) {
424
+ matchedRefs.push(entry.path);
425
+ }
426
+ }
427
+ }
428
+ // 去重并返回
429
+ return [...new Set(matchedRefs)];
430
+ }
431
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/cli/commands/task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCpC,wBAAgB,aAAa,IAAI,OAAO,CAiCvC;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAUlD;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAUtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,aAAa,IAAI,OAAO,CAkCvC;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAUlD;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAUtE"}
package/dist/cli/index.js CHANGED
@@ -27,6 +27,7 @@ import logger from './utils/logger.js';
27
27
  import { createVerifyCommand } from './commands/verify.js';
28
28
  import { createRecordCommand } from './commands/record.js';
29
29
  import { createStatusCommand } from './commands/status.js';
30
+ import { createTaskCommand } from './commands/task.js';
30
31
  function getVersion() {
31
32
  try {
32
33
  const __filename = fileURLToPath(import.meta.url);
@@ -67,6 +68,7 @@ export function createProgram() {
67
68
  program.addCommand(createVerifyCommand());
68
69
  program.addCommand(createRecordCommand());
69
70
  program.addCommand(createStatusCommand());
71
+ program.addCommand(createTaskCommand());
70
72
  program.addCommand(createUiCommand());
71
73
  return program;
72
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,oCAAoC,CAAC;SACjD,OAAO,CAAC,UAAU,EAAE,CAAC;SACrB,kBAAkB,EAAE;SACpB,eAAe,CAAC;QACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;KAClF,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAiB,OAAO,CAAC,IAAI;IAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;AACH,CAAC;AAED,IAAI,eAAe,EAAE,EAAE,CAAC;IACtB,2BAA2B,EAAE,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -33,6 +33,7 @@ export interface ExtractedTask {
33
33
  phase?: string;
34
34
  priority: number;
35
35
  dependsOn: string[];
36
+ knowledgeRefs?: string[];
36
37
  }
37
38
  export interface PlanningResult {
38
39
  phases: Phase[];
@@ -1 +1 @@
1
- {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/core/planning.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAgC,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,iBAAiB,KACxB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EACJ,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,IAAI,GACJ,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBrB,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAiH9D,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAiFzB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,OAAO,kBAAkB,EACzC,KAAK,EAAE,MAAM,GACZ,MAAM,CAGR"}
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/core/planning.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAgC,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,iBAAiB,KACxB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AA6GD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EACJ,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,IAAI,GACJ,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBrB,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAiH9D,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAkFzB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,OAAO,kBAAkB,EACzC,KAAK,EAAE,MAAM,GACZ,MAAM,CAGR"}