claude-code-workflow 6.3.4 → 6.3.6

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.
Files changed (111) hide show
  1. package/.claude/agents/issue-plan-agent.md +859 -0
  2. package/.claude/agents/issue-queue-agent.md +702 -0
  3. package/.claude/commands/issue/execute.md +453 -0
  4. package/.claude/commands/issue/manage.md +865 -0
  5. package/.claude/commands/issue/new.md +484 -0
  6. package/.claude/commands/issue/plan.md +421 -0
  7. package/.claude/commands/issue/queue.md +354 -0
  8. package/.claude/commands/{clean.md → workflow/clean.md} +5 -5
  9. package/.claude/commands/workflow/docs/analyze.md +1467 -0
  10. package/.claude/commands/workflow/docs/copyright.md +1265 -0
  11. package/.claude/commands/workflow/execute.md +0 -1
  12. package/.claude/commands/workflow/tools/conflict-resolution.md +76 -240
  13. package/.claude/commands/workflow/tools/context-gather.md +0 -2
  14. package/.claude/commands/workflow/tools/task-generate-agent.md +81 -8
  15. package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -9
  16. package/.claude/commands/workflow/tools/test-context-gather.md +2 -3
  17. package/.claude/commands/workflow/tools/test-task-generate.md +0 -2
  18. package/.claude/skills/_shared/mermaid-utils.md +584 -0
  19. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -2
  20. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +1 -1
  21. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +1 -2
  22. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +1 -8
  23. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +1 -4
  24. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -2
  25. package/.claude/skills/copyright-docs/SKILL.md +132 -0
  26. package/.claude/skills/copyright-docs/phases/01-metadata-collection.md +78 -0
  27. package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -0
  28. package/.claude/skills/copyright-docs/phases/02-deep-analysis.md +664 -0
  29. package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -0
  30. package/.claude/skills/copyright-docs/phases/04-document-assembly.md +261 -0
  31. package/.claude/skills/copyright-docs/phases/05-compliance-refinement.md +192 -0
  32. package/.claude/skills/copyright-docs/specs/cpcc-requirements.md +121 -0
  33. package/.claude/skills/copyright-docs/templates/agent-base.md +200 -0
  34. package/.claude/skills/project-analyze/SKILL.md +162 -0
  35. package/.claude/skills/project-analyze/phases/01-requirements-discovery.md +79 -0
  36. package/.claude/skills/project-analyze/phases/02-project-exploration.md +176 -0
  37. package/.claude/skills/project-analyze/phases/03-deep-analysis.md +854 -0
  38. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -0
  39. package/.claude/skills/project-analyze/phases/04-report-generation.md +217 -0
  40. package/.claude/skills/project-analyze/phases/05-iterative-refinement.md +124 -0
  41. package/.claude/skills/project-analyze/specs/quality-standards.md +115 -0
  42. package/.claude/skills/project-analyze/specs/writing-style.md +152 -0
  43. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +79 -65
  44. package/.claude/workflows/cli-templates/schemas/issue-task-jsonl-schema.json +136 -0
  45. package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +74 -0
  46. package/.claude/workflows/cli-templates/schemas/queue-schema.json +136 -0
  47. package/.claude/workflows/cli-templates/schemas/registry-schema.json +94 -0
  48. package/.claude/workflows/cli-templates/schemas/solution-schema.json +120 -0
  49. package/.claude/workflows/cli-templates/schemas/solutions-jsonl-schema.json +125 -0
  50. package/.codex/prompts/issue-execute.md +266 -0
  51. package/README.md +11 -1
  52. package/ccw/dist/cli.d.ts.map +1 -1
  53. package/ccw/dist/cli.js +25 -0
  54. package/ccw/dist/cli.js.map +1 -1
  55. package/ccw/dist/commands/cli.d.ts.map +1 -1
  56. package/ccw/dist/commands/cli.js +46 -8
  57. package/ccw/dist/commands/cli.js.map +1 -1
  58. package/ccw/dist/commands/issue.d.ts +21 -0
  59. package/ccw/dist/commands/issue.d.ts.map +1 -0
  60. package/ccw/dist/commands/issue.js +895 -0
  61. package/ccw/dist/commands/issue.js.map +1 -0
  62. package/ccw/dist/core/dashboard-generator-patch.js +1 -0
  63. package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
  64. package/ccw/dist/core/routes/cli-routes.js +2 -2
  65. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  66. package/ccw/dist/core/routes/issue-routes.d.ts +34 -0
  67. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -0
  68. package/ccw/dist/core/routes/issue-routes.js +487 -0
  69. package/ccw/dist/core/routes/issue-routes.js.map +1 -0
  70. package/ccw/dist/core/server.d.ts.map +1 -1
  71. package/ccw/dist/core/server.js +17 -2
  72. package/ccw/dist/core/server.js.map +1 -1
  73. package/ccw/dist/tools/claude-cli-tools.d.ts +7 -3
  74. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  75. package/ccw/dist/tools/claude-cli-tools.js +31 -17
  76. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  77. package/ccw/dist/tools/smart-search.d.ts +25 -0
  78. package/ccw/dist/tools/smart-search.d.ts.map +1 -1
  79. package/ccw/dist/tools/smart-search.js +121 -17
  80. package/ccw/dist/tools/smart-search.js.map +1 -1
  81. package/ccw/src/cli.ts +26 -0
  82. package/ccw/src/commands/cli.ts +49 -7
  83. package/ccw/src/commands/issue.ts +1184 -0
  84. package/ccw/src/core/dashboard-generator-patch.ts +1 -0
  85. package/ccw/src/core/routes/cli-routes.ts +3 -3
  86. package/ccw/src/core/routes/issue-routes.ts +559 -0
  87. package/ccw/src/core/server.ts +17 -2
  88. package/ccw/src/templates/dashboard-css/32-issue-manager.css +2544 -0
  89. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +467 -0
  90. package/ccw/src/templates/dashboard-js/components/cli-history.js +40 -13
  91. package/ccw/src/templates/dashboard-js/components/cli-status.js +26 -2
  92. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +461 -0
  93. package/ccw/src/templates/dashboard-js/components/navigation.js +8 -0
  94. package/ccw/src/templates/dashboard-js/components/notifications.js +16 -0
  95. package/ccw/src/templates/dashboard-js/i18n.js +290 -2
  96. package/ccw/src/templates/dashboard-js/views/cli-manager.js +5 -0
  97. package/ccw/src/templates/dashboard-js/views/history.js +19 -4
  98. package/ccw/src/templates/dashboard-js/views/hook-manager.js +11 -5
  99. package/ccw/src/templates/dashboard-js/views/issue-manager.js +1546 -0
  100. package/ccw/src/templates/dashboard.html +55 -0
  101. package/ccw/src/tools/claude-cli-tools.ts +37 -20
  102. package/ccw/src/tools/smart-search.ts +157 -16
  103. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  104. package/codex-lens/src/codexlens/config.py +5 -0
  105. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  106. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  107. package/codex-lens/src/codexlens/search/hybrid_search.py +144 -11
  108. package/codex-lens/src/codexlens/search/ranking.py +267 -1
  109. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  110. package/codex-lens/src/codexlens/semantic/chunker.py +55 -10
  111. package/package.json +2 -2
@@ -0,0 +1,487 @@
1
+ import { readFileSync, existsSync, writeFileSync, mkdirSync, unlinkSync } from 'fs';
2
+ import { join } from 'path';
3
+ // ========== JSONL Helper Functions ==========
4
+ function readIssuesJsonl(issuesDir) {
5
+ const issuesPath = join(issuesDir, 'issues.jsonl');
6
+ if (!existsSync(issuesPath))
7
+ return [];
8
+ try {
9
+ const content = readFileSync(issuesPath, 'utf8');
10
+ return content.split('\n').filter(line => line.trim()).map(line => JSON.parse(line));
11
+ }
12
+ catch {
13
+ return [];
14
+ }
15
+ }
16
+ function writeIssuesJsonl(issuesDir, issues) {
17
+ if (!existsSync(issuesDir))
18
+ mkdirSync(issuesDir, { recursive: true });
19
+ const issuesPath = join(issuesDir, 'issues.jsonl');
20
+ writeFileSync(issuesPath, issues.map(i => JSON.stringify(i)).join('\n'));
21
+ }
22
+ function readSolutionsJsonl(issuesDir, issueId) {
23
+ const solutionsPath = join(issuesDir, 'solutions', `${issueId}.jsonl`);
24
+ if (!existsSync(solutionsPath))
25
+ return [];
26
+ try {
27
+ const content = readFileSync(solutionsPath, 'utf8');
28
+ return content.split('\n').filter(line => line.trim()).map(line => JSON.parse(line));
29
+ }
30
+ catch {
31
+ return [];
32
+ }
33
+ }
34
+ function writeSolutionsJsonl(issuesDir, issueId, solutions) {
35
+ const solutionsDir = join(issuesDir, 'solutions');
36
+ if (!existsSync(solutionsDir))
37
+ mkdirSync(solutionsDir, { recursive: true });
38
+ writeFileSync(join(solutionsDir, `${issueId}.jsonl`), solutions.map(s => JSON.stringify(s)).join('\n'));
39
+ }
40
+ function readQueue(issuesDir) {
41
+ // Try new multi-queue structure first
42
+ const queuesDir = join(issuesDir, 'queues');
43
+ const indexPath = join(queuesDir, 'index.json');
44
+ if (existsSync(indexPath)) {
45
+ try {
46
+ const index = JSON.parse(readFileSync(indexPath, 'utf8'));
47
+ const activeQueueId = index.active_queue_id;
48
+ if (activeQueueId) {
49
+ const queueFilePath = join(queuesDir, `${activeQueueId}.json`);
50
+ if (existsSync(queueFilePath)) {
51
+ return JSON.parse(readFileSync(queueFilePath, 'utf8'));
52
+ }
53
+ }
54
+ }
55
+ catch {
56
+ // Fall through to legacy check
57
+ }
58
+ }
59
+ // Fallback to legacy queue.json
60
+ const legacyQueuePath = join(issuesDir, 'queue.json');
61
+ if (existsSync(legacyQueuePath)) {
62
+ try {
63
+ return JSON.parse(readFileSync(legacyQueuePath, 'utf8'));
64
+ }
65
+ catch {
66
+ // Return empty queue
67
+ }
68
+ }
69
+ return { queue: [], conflicts: [], execution_groups: [], _metadata: { version: '1.0', total_tasks: 0 } };
70
+ }
71
+ function writeQueue(issuesDir, queue) {
72
+ if (!existsSync(issuesDir))
73
+ mkdirSync(issuesDir, { recursive: true });
74
+ queue._metadata = { ...queue._metadata, updated_at: new Date().toISOString(), total_tasks: queue.queue?.length || 0 };
75
+ // Check if using new multi-queue structure
76
+ const queuesDir = join(issuesDir, 'queues');
77
+ const indexPath = join(queuesDir, 'index.json');
78
+ if (existsSync(indexPath) && queue.id) {
79
+ // Write to new structure
80
+ const queueFilePath = join(queuesDir, `${queue.id}.json`);
81
+ writeFileSync(queueFilePath, JSON.stringify(queue, null, 2));
82
+ // Update index metadata
83
+ try {
84
+ const index = JSON.parse(readFileSync(indexPath, 'utf8'));
85
+ const queueEntry = index.queues?.find((q) => q.id === queue.id);
86
+ if (queueEntry) {
87
+ queueEntry.total_tasks = queue.queue?.length || 0;
88
+ queueEntry.completed_tasks = queue.queue?.filter((i) => i.status === 'completed').length || 0;
89
+ writeFileSync(indexPath, JSON.stringify(index, null, 2));
90
+ }
91
+ }
92
+ catch {
93
+ // Ignore index update errors
94
+ }
95
+ }
96
+ else {
97
+ // Fallback to legacy queue.json
98
+ writeFileSync(join(issuesDir, 'queue.json'), JSON.stringify(queue, null, 2));
99
+ }
100
+ }
101
+ function getIssueDetail(issuesDir, issueId) {
102
+ const issues = readIssuesJsonl(issuesDir);
103
+ const issue = issues.find(i => i.id === issueId);
104
+ if (!issue)
105
+ return null;
106
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
107
+ let tasks = [];
108
+ if (issue.bound_solution_id) {
109
+ const boundSol = solutions.find(s => s.id === issue.bound_solution_id);
110
+ if (boundSol?.tasks)
111
+ tasks = boundSol.tasks;
112
+ }
113
+ return { ...issue, solutions, tasks };
114
+ }
115
+ function enrichIssues(issues, issuesDir) {
116
+ return issues.map(issue => ({
117
+ ...issue,
118
+ solution_count: readSolutionsJsonl(issuesDir, issue.id).length
119
+ }));
120
+ }
121
+ function groupQueueByExecutionGroup(queue) {
122
+ const groups = {};
123
+ for (const item of queue.queue || []) {
124
+ const groupId = item.execution_group || 'ungrouped';
125
+ if (!groups[groupId])
126
+ groups[groupId] = [];
127
+ groups[groupId].push(item);
128
+ }
129
+ for (const groupId of Object.keys(groups)) {
130
+ groups[groupId].sort((a, b) => (a.execution_order || 0) - (b.execution_order || 0));
131
+ }
132
+ const executionGroups = Object.entries(groups).map(([id, items]) => ({
133
+ id,
134
+ type: id.startsWith('P') ? 'parallel' : id.startsWith('S') ? 'sequential' : 'unknown',
135
+ task_count: items.length,
136
+ tasks: items.map(i => i.queue_id)
137
+ })).sort((a, b) => {
138
+ const aFirst = groups[a.id]?.[0]?.execution_order || 0;
139
+ const bFirst = groups[b.id]?.[0]?.execution_order || 0;
140
+ return aFirst - bFirst;
141
+ });
142
+ return { ...queue, execution_groups: executionGroups, grouped_items: groups };
143
+ }
144
+ /**
145
+ * Bind solution to issue with proper side effects
146
+ */
147
+ function bindSolutionToIssue(issuesDir, issueId, solutionId, issues, issueIndex) {
148
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
149
+ const solIndex = solutions.findIndex(s => s.id === solutionId);
150
+ if (solIndex === -1)
151
+ return { error: `Solution ${solutionId} not found` };
152
+ // Unbind all, bind new
153
+ solutions.forEach(s => { s.is_bound = false; });
154
+ solutions[solIndex].is_bound = true;
155
+ solutions[solIndex].bound_at = new Date().toISOString();
156
+ writeSolutionsJsonl(issuesDir, issueId, solutions);
157
+ // Update issue
158
+ issues[issueIndex].bound_solution_id = solutionId;
159
+ issues[issueIndex].status = 'planned';
160
+ issues[issueIndex].planned_at = new Date().toISOString();
161
+ return { success: true, bound: solutionId };
162
+ }
163
+ // ========== Route Handler ==========
164
+ export async function handleIssueRoutes(ctx) {
165
+ const { pathname, url, req, res, initialPath, handlePostRequest } = ctx;
166
+ const projectPath = url.searchParams.get('path') || initialPath;
167
+ const issuesDir = join(projectPath, '.workflow', 'issues');
168
+ // ===== Queue Routes (top-level /api/queue) =====
169
+ // GET /api/queue - Get execution queue
170
+ if (pathname === '/api/queue' && req.method === 'GET') {
171
+ const queue = groupQueueByExecutionGroup(readQueue(issuesDir));
172
+ res.writeHead(200, { 'Content-Type': 'application/json' });
173
+ res.end(JSON.stringify(queue));
174
+ return true;
175
+ }
176
+ // POST /api/queue/reorder - Reorder queue items
177
+ if (pathname === '/api/queue/reorder' && req.method === 'POST') {
178
+ handlePostRequest(req, res, async (body) => {
179
+ const { groupId, newOrder } = body;
180
+ if (!groupId || !Array.isArray(newOrder)) {
181
+ return { error: 'groupId and newOrder (array) required' };
182
+ }
183
+ const queue = readQueue(issuesDir);
184
+ const groupItems = queue.queue.filter((item) => item.execution_group === groupId);
185
+ const otherItems = queue.queue.filter((item) => item.execution_group !== groupId);
186
+ if (groupItems.length === 0)
187
+ return { error: `No items in group ${groupId}` };
188
+ const groupQueueIds = new Set(groupItems.map((i) => i.queue_id));
189
+ if (groupQueueIds.size !== new Set(newOrder).size) {
190
+ return { error: 'newOrder must contain all group items' };
191
+ }
192
+ for (const id of newOrder) {
193
+ if (!groupQueueIds.has(id))
194
+ return { error: `Invalid queue_id: ${id}` };
195
+ }
196
+ const itemMap = new Map(groupItems.map((i) => [i.queue_id, i]));
197
+ const reorderedItems = newOrder.map((qid, idx) => ({ ...itemMap.get(qid), _idx: idx }));
198
+ const newQueue = [...otherItems, ...reorderedItems].sort((a, b) => {
199
+ const aGroup = parseInt(a.execution_group?.match(/\d+/)?.[0] || '999');
200
+ const bGroup = parseInt(b.execution_group?.match(/\d+/)?.[0] || '999');
201
+ if (aGroup !== bGroup)
202
+ return aGroup - bGroup;
203
+ if (a.execution_group === b.execution_group) {
204
+ return (a._idx ?? a.execution_order ?? 999) - (b._idx ?? b.execution_order ?? 999);
205
+ }
206
+ return (a.execution_order || 0) - (b.execution_order || 0);
207
+ });
208
+ newQueue.forEach((item, idx) => { item.execution_order = idx + 1; delete item._idx; });
209
+ queue.queue = newQueue;
210
+ writeQueue(issuesDir, queue);
211
+ return { success: true, groupId, reordered: newOrder.length };
212
+ });
213
+ return true;
214
+ }
215
+ // Legacy: GET /api/issues/queue (backward compat)
216
+ if (pathname === '/api/issues/queue' && req.method === 'GET') {
217
+ const queue = groupQueueByExecutionGroup(readQueue(issuesDir));
218
+ res.writeHead(200, { 'Content-Type': 'application/json' });
219
+ res.end(JSON.stringify(queue));
220
+ return true;
221
+ }
222
+ // ===== Issue Routes =====
223
+ // GET /api/issues - List all issues
224
+ if (pathname === '/api/issues' && req.method === 'GET') {
225
+ const issues = enrichIssues(readIssuesJsonl(issuesDir), issuesDir);
226
+ res.writeHead(200, { 'Content-Type': 'application/json' });
227
+ res.end(JSON.stringify({
228
+ issues,
229
+ _metadata: { version: '2.0', storage: 'jsonl', total_issues: issues.length, last_updated: new Date().toISOString() }
230
+ }));
231
+ return true;
232
+ }
233
+ // POST /api/issues - Create issue
234
+ if (pathname === '/api/issues' && req.method === 'POST') {
235
+ handlePostRequest(req, res, async (body) => {
236
+ if (!body.id || !body.title)
237
+ return { error: 'id and title required' };
238
+ const issues = readIssuesJsonl(issuesDir);
239
+ if (issues.find(i => i.id === body.id))
240
+ return { error: `Issue ${body.id} exists` };
241
+ const newIssue = {
242
+ id: body.id,
243
+ title: body.title,
244
+ status: body.status || 'registered',
245
+ priority: body.priority || 3,
246
+ context: body.context || '',
247
+ source: body.source || 'text',
248
+ source_url: body.source_url || null,
249
+ labels: body.labels || [],
250
+ created_at: new Date().toISOString(),
251
+ updated_at: new Date().toISOString()
252
+ };
253
+ issues.push(newIssue);
254
+ writeIssuesJsonl(issuesDir, issues);
255
+ return { success: true, issue: newIssue };
256
+ });
257
+ return true;
258
+ }
259
+ // GET /api/issues/:id - Get issue detail
260
+ const detailMatch = pathname.match(/^\/api\/issues\/([^/]+)$/);
261
+ if (detailMatch && req.method === 'GET') {
262
+ const issueId = decodeURIComponent(detailMatch[1]);
263
+ if (issueId === 'queue')
264
+ return false;
265
+ const detail = getIssueDetail(issuesDir, issueId);
266
+ if (!detail) {
267
+ res.writeHead(404, { 'Content-Type': 'application/json' });
268
+ res.end(JSON.stringify({ error: 'Issue not found' }));
269
+ return true;
270
+ }
271
+ res.writeHead(200, { 'Content-Type': 'application/json' });
272
+ res.end(JSON.stringify(detail));
273
+ return true;
274
+ }
275
+ // PATCH /api/issues/:id - Update issue (with binding support)
276
+ const updateMatch = pathname.match(/^\/api\/issues\/([^/]+)$/);
277
+ if (updateMatch && req.method === 'PATCH') {
278
+ const issueId = decodeURIComponent(updateMatch[1]);
279
+ if (issueId === 'queue')
280
+ return false;
281
+ handlePostRequest(req, res, async (body) => {
282
+ const issues = readIssuesJsonl(issuesDir);
283
+ const issueIndex = issues.findIndex(i => i.id === issueId);
284
+ if (issueIndex === -1)
285
+ return { error: 'Issue not found' };
286
+ const updates = [];
287
+ // Handle binding if bound_solution_id provided
288
+ if (body.bound_solution_id !== undefined) {
289
+ if (body.bound_solution_id) {
290
+ const bindResult = bindSolutionToIssue(issuesDir, issueId, body.bound_solution_id, issues, issueIndex);
291
+ if (bindResult.error)
292
+ return bindResult;
293
+ updates.push('bound_solution_id');
294
+ }
295
+ else {
296
+ // Unbind
297
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
298
+ solutions.forEach(s => { s.is_bound = false; });
299
+ writeSolutionsJsonl(issuesDir, issueId, solutions);
300
+ issues[issueIndex].bound_solution_id = null;
301
+ updates.push('bound_solution_id (unbound)');
302
+ }
303
+ }
304
+ // Update other fields
305
+ for (const field of ['title', 'context', 'status', 'priority', 'labels']) {
306
+ if (body[field] !== undefined) {
307
+ issues[issueIndex][field] = body[field];
308
+ updates.push(field);
309
+ }
310
+ }
311
+ issues[issueIndex].updated_at = new Date().toISOString();
312
+ writeIssuesJsonl(issuesDir, issues);
313
+ return { success: true, issueId, updated: updates };
314
+ });
315
+ return true;
316
+ }
317
+ // DELETE /api/issues/:id
318
+ const deleteMatch = pathname.match(/^\/api\/issues\/([^/]+)$/);
319
+ if (deleteMatch && req.method === 'DELETE') {
320
+ const issueId = decodeURIComponent(deleteMatch[1]);
321
+ const issues = readIssuesJsonl(issuesDir);
322
+ const filtered = issues.filter(i => i.id !== issueId);
323
+ if (filtered.length === issues.length) {
324
+ res.writeHead(404, { 'Content-Type': 'application/json' });
325
+ res.end(JSON.stringify({ error: 'Issue not found' }));
326
+ return true;
327
+ }
328
+ writeIssuesJsonl(issuesDir, filtered);
329
+ // Clean up solutions file
330
+ const solPath = join(issuesDir, 'solutions', `${issueId}.jsonl`);
331
+ if (existsSync(solPath)) {
332
+ try {
333
+ unlinkSync(solPath);
334
+ }
335
+ catch { }
336
+ }
337
+ res.writeHead(200, { 'Content-Type': 'application/json' });
338
+ res.end(JSON.stringify({ success: true, issueId }));
339
+ return true;
340
+ }
341
+ // POST /api/issues/:id/solutions - Add solution
342
+ const addSolMatch = pathname.match(/^\/api\/issues\/([^/]+)\/solutions$/);
343
+ if (addSolMatch && req.method === 'POST') {
344
+ const issueId = decodeURIComponent(addSolMatch[1]);
345
+ handlePostRequest(req, res, async (body) => {
346
+ if (!body.id || !body.tasks)
347
+ return { error: 'id and tasks required' };
348
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
349
+ if (solutions.find(s => s.id === body.id))
350
+ return { error: `Solution ${body.id} exists` };
351
+ const newSolution = {
352
+ id: body.id,
353
+ description: body.description || '',
354
+ tasks: body.tasks,
355
+ exploration_context: body.exploration_context || {},
356
+ analysis: body.analysis || {},
357
+ score: body.score || 0,
358
+ is_bound: false,
359
+ created_at: new Date().toISOString()
360
+ };
361
+ solutions.push(newSolution);
362
+ writeSolutionsJsonl(issuesDir, issueId, solutions);
363
+ // Update issue solution_count
364
+ const issues = readIssuesJsonl(issuesDir);
365
+ const idx = issues.findIndex(i => i.id === issueId);
366
+ if (idx !== -1) {
367
+ issues[idx].solution_count = solutions.length;
368
+ issues[idx].updated_at = new Date().toISOString();
369
+ writeIssuesJsonl(issuesDir, issues);
370
+ }
371
+ return { success: true, solution: newSolution };
372
+ });
373
+ return true;
374
+ }
375
+ // PATCH /api/issues/:id/tasks/:taskId - Update task
376
+ const taskMatch = pathname.match(/^\/api\/issues\/([^/]+)\/tasks\/([^/]+)$/);
377
+ if (taskMatch && req.method === 'PATCH') {
378
+ const issueId = decodeURIComponent(taskMatch[1]);
379
+ const taskId = decodeURIComponent(taskMatch[2]);
380
+ handlePostRequest(req, res, async (body) => {
381
+ const issues = readIssuesJsonl(issuesDir);
382
+ const issue = issues.find(i => i.id === issueId);
383
+ if (!issue?.bound_solution_id)
384
+ return { error: 'Issue or bound solution not found' };
385
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
386
+ const solIdx = solutions.findIndex(s => s.id === issue.bound_solution_id);
387
+ if (solIdx === -1)
388
+ return { error: 'Bound solution not found' };
389
+ const taskIdx = solutions[solIdx].tasks?.findIndex((t) => t.id === taskId);
390
+ if (taskIdx === -1 || taskIdx === undefined)
391
+ return { error: 'Task not found' };
392
+ const updates = [];
393
+ for (const field of ['status', 'priority', 'result', 'error']) {
394
+ if (body[field] !== undefined) {
395
+ solutions[solIdx].tasks[taskIdx][field] = body[field];
396
+ updates.push(field);
397
+ }
398
+ }
399
+ solutions[solIdx].tasks[taskIdx].updated_at = new Date().toISOString();
400
+ writeSolutionsJsonl(issuesDir, issueId, solutions);
401
+ return { success: true, issueId, taskId, updated: updates };
402
+ });
403
+ return true;
404
+ }
405
+ // Legacy: PUT /api/issues/:id/task/:taskId (backward compat)
406
+ const legacyTaskMatch = pathname.match(/^\/api\/issues\/([^/]+)\/task\/([^/]+)$/);
407
+ if (legacyTaskMatch && req.method === 'PUT') {
408
+ const issueId = decodeURIComponent(legacyTaskMatch[1]);
409
+ const taskId = decodeURIComponent(legacyTaskMatch[2]);
410
+ handlePostRequest(req, res, async (body) => {
411
+ const issues = readIssuesJsonl(issuesDir);
412
+ const issue = issues.find(i => i.id === issueId);
413
+ if (!issue?.bound_solution_id)
414
+ return { error: 'Issue or bound solution not found' };
415
+ const solutions = readSolutionsJsonl(issuesDir, issueId);
416
+ const solIdx = solutions.findIndex(s => s.id === issue.bound_solution_id);
417
+ if (solIdx === -1)
418
+ return { error: 'Bound solution not found' };
419
+ const taskIdx = solutions[solIdx].tasks?.findIndex((t) => t.id === taskId);
420
+ if (taskIdx === -1 || taskIdx === undefined)
421
+ return { error: 'Task not found' };
422
+ const updates = [];
423
+ if (body.status !== undefined) {
424
+ solutions[solIdx].tasks[taskIdx].status = body.status;
425
+ updates.push('status');
426
+ }
427
+ if (body.priority !== undefined) {
428
+ solutions[solIdx].tasks[taskIdx].priority = body.priority;
429
+ updates.push('priority');
430
+ }
431
+ solutions[solIdx].tasks[taskIdx].updated_at = new Date().toISOString();
432
+ writeSolutionsJsonl(issuesDir, issueId, solutions);
433
+ return { success: true, issueId, taskId, updated: updates };
434
+ });
435
+ return true;
436
+ }
437
+ // Legacy: PUT /api/issues/:id/bind/:solutionId (backward compat)
438
+ const legacyBindMatch = pathname.match(/^\/api\/issues\/([^/]+)\/bind\/([^/]+)$/);
439
+ if (legacyBindMatch && req.method === 'PUT') {
440
+ const issueId = decodeURIComponent(legacyBindMatch[1]);
441
+ const solutionId = decodeURIComponent(legacyBindMatch[2]);
442
+ const issues = readIssuesJsonl(issuesDir);
443
+ const issueIndex = issues.findIndex(i => i.id === issueId);
444
+ if (issueIndex === -1) {
445
+ res.writeHead(404, { 'Content-Type': 'application/json' });
446
+ res.end(JSON.stringify({ error: 'Issue not found' }));
447
+ return true;
448
+ }
449
+ const result = bindSolutionToIssue(issuesDir, issueId, solutionId, issues, issueIndex);
450
+ if (result.error) {
451
+ res.writeHead(404, { 'Content-Type': 'application/json' });
452
+ res.end(JSON.stringify(result));
453
+ return true;
454
+ }
455
+ issues[issueIndex].updated_at = new Date().toISOString();
456
+ writeIssuesJsonl(issuesDir, issues);
457
+ res.writeHead(200, { 'Content-Type': 'application/json' });
458
+ res.end(JSON.stringify({ success: true, issueId, solutionId }));
459
+ return true;
460
+ }
461
+ // Legacy: PUT /api/issues/:id (backward compat for PATCH)
462
+ const legacyUpdateMatch = pathname.match(/^\/api\/issues\/([^/]+)$/);
463
+ if (legacyUpdateMatch && req.method === 'PUT') {
464
+ const issueId = decodeURIComponent(legacyUpdateMatch[1]);
465
+ if (issueId === 'queue')
466
+ return false;
467
+ handlePostRequest(req, res, async (body) => {
468
+ const issues = readIssuesJsonl(issuesDir);
469
+ const issueIndex = issues.findIndex(i => i.id === issueId);
470
+ if (issueIndex === -1)
471
+ return { error: 'Issue not found' };
472
+ const updates = [];
473
+ for (const field of ['title', 'context', 'status', 'priority', 'bound_solution_id', 'labels']) {
474
+ if (body[field] !== undefined) {
475
+ issues[issueIndex][field] = body[field];
476
+ updates.push(field);
477
+ }
478
+ }
479
+ issues[issueIndex].updated_at = new Date().toISOString();
480
+ writeIssuesJsonl(issuesDir, issues);
481
+ return { success: true, issueId, updated: updates };
482
+ });
483
+ return true;
484
+ }
485
+ return false;
486
+ }
487
+ //# sourceMappingURL=issue-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-routes.js","sourceRoot":"","sources":["../../../src/core/routes/issue-routes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AA+BxB,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAgNnF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAgCxB,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAoMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CA0NnF"}
@@ -16,6 +16,7 @@ import { handleGraphRoutes } from './routes/graph-routes.js';
16
16
  import { handleSystemRoutes } from './routes/system-routes.js';
17
17
  import { handleFilesRoutes } from './routes/files-routes.js';
18
18
  import { handleSkillsRoutes } from './routes/skills-routes.js';
19
+ import { handleIssueRoutes } from './routes/issue-routes.js';
19
20
  import { handleRulesRoutes } from './routes/rules-routes.js';
20
21
  import { handleSessionRoutes } from './routes/session-routes.js';
21
22
  import { handleCcwRoutes } from './routes/ccw-routes.js';
@@ -65,7 +66,9 @@ const MODULE_CSS_FILES = [
65
66
  '28-mcp-manager.css',
66
67
  '29-help.css',
67
68
  '30-core-memory.css',
68
- '31-api-settings.css'
69
+ '31-api-settings.css',
70
+ '32-issue-manager.css',
71
+ '33-cli-stream-viewer.css'
69
72
  ];
70
73
  // Modular JS files in dependency order
71
74
  const MODULE_FILES = [
@@ -85,6 +88,7 @@ const MODULE_FILES = [
85
88
  'components/flowchart.js',
86
89
  'components/carousel.js',
87
90
  'components/notifications.js',
91
+ 'components/cli-stream-viewer.js',
88
92
  'components/global-notifications.js',
89
93
  'components/task-queue-sidebar.js',
90
94
  'components/cli-status.js',
@@ -120,6 +124,7 @@ const MODULE_FILES = [
120
124
  'views/claude-manager.js',
121
125
  'views/api-settings.js',
122
126
  'views/help.js',
127
+ 'views/issue-manager.js',
123
128
  'main.js'
124
129
  ];
125
130
  /**
@@ -208,7 +213,7 @@ export async function startServer(options = {}) {
208
213
  const pathname = url.pathname;
209
214
  // CORS headers for API requests
210
215
  res.setHeader('Access-Control-Allow-Origin', '*');
211
- res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
216
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
212
217
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
213
218
  if (req.method === 'OPTIONS') {
214
219
  res.writeHead(200);
@@ -298,6 +303,16 @@ export async function startServer(options = {}) {
298
303
  if (await handleSkillsRoutes(routeContext))
299
304
  return;
300
305
  }
306
+ // Queue routes (/api/queue*) - top-level queue API
307
+ if (pathname.startsWith('/api/queue')) {
308
+ if (await handleIssueRoutes(routeContext))
309
+ return;
310
+ }
311
+ // Issue routes (/api/issues*)
312
+ if (pathname.startsWith('/api/issues')) {
313
+ if (await handleIssueRoutes(routeContext))
314
+ return;
315
+ }
301
316
  // Rules routes (/api/rules*)
302
317
  if (pathname.startsWith('/api/rules')) {
303
318
  if (await handleRulesRoutes(routeContext))
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}