claude-code-workflow 6.3.6 → 6.3.7

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.
@@ -17,12 +17,14 @@ Execution orchestrator that coordinates codex instances. Each task is executed b
17
17
  - No file reading in codex
18
18
  - Orchestrator manages parallelism
19
19
 
20
- ## Storage Structure (Flat JSONL)
20
+ ## Storage Structure (Queue History)
21
21
 
22
22
  ```
23
23
  .workflow/issues/
24
24
  ├── issues.jsonl # All issues (one per line)
25
- ├── queue.json # Execution queue
25
+ ├── queues/ # Queue history directory
26
+ │ ├── index.json # Queue index (active + history)
27
+ │ └── {queue-id}.json # Individual queue files
26
28
  └── solutions/
27
29
  ├── {issue-id}.jsonl # Solutions for issue
28
30
  └── ...
@@ -78,15 +80,15 @@ Phase 4: Completion
78
80
  ### Phase 1: Queue Loading
79
81
 
80
82
  ```javascript
81
- // Load queue
82
- const queuePath = '.workflow/issues/queue.json';
83
- if (!Bash(`test -f "${queuePath}" && echo exists`).includes('exists')) {
84
- console.log('No queue found. Run /issue:queue first.');
83
+ // Load active queue via CLI endpoint
84
+ const queueJson = Bash(`ccw issue status --json 2>/dev/null || echo '{}'`);
85
+ const queue = JSON.parse(queueJson);
86
+
87
+ if (!queue.id || queue.queue?.length === 0) {
88
+ console.log('No active queue found. Run /issue:queue first.');
85
89
  return;
86
90
  }
87
91
 
88
- const queue = JSON.parse(Read(queuePath));
89
-
90
92
  // Count by status
91
93
  const pending = queue.queue.filter(q => q.status === 'pending');
92
94
  const executing = queue.queue.filter(q => q.status === 'executing');
@@ -336,25 +338,27 @@ When codex calls `ccw issue next`, it receives:
336
338
  ### Phase 4: Completion Summary
337
339
 
338
340
  ```javascript
339
- // Reload queue for final status
340
- const finalQueue = JSON.parse(Read(queuePath));
341
-
342
- const summary = {
343
- completed: finalQueue.queue.filter(q => q.status === 'completed').length,
344
- failed: finalQueue.queue.filter(q => q.status === 'failed').length,
345
- pending: finalQueue.queue.filter(q => q.status === 'pending').length,
346
- total: finalQueue.queue.length
341
+ // Reload queue for final status via CLI
342
+ const finalQueueJson = Bash(`ccw issue status --json 2>/dev/null || echo '{}'`);
343
+ const finalQueue = JSON.parse(finalQueueJson);
344
+
345
+ // Use queue._metadata for summary (already calculated by CLI)
346
+ const summary = finalQueue._metadata || {
347
+ completed_count: 0,
348
+ failed_count: 0,
349
+ pending_count: 0,
350
+ total_tasks: 0
347
351
  };
348
352
 
349
353
  console.log(`
350
354
  ## Execution Complete
351
355
 
352
- **Completed**: ${summary.completed}/${summary.total}
353
- **Failed**: ${summary.failed}
354
- **Pending**: ${summary.pending}
356
+ **Completed**: ${summary.completed_count}/${summary.total_tasks}
357
+ **Failed**: ${summary.failed_count}
358
+ **Pending**: ${summary.pending_count}
355
359
 
356
360
  ### Task Results
357
- ${finalQueue.queue.map(q => {
361
+ ${(finalQueue.queue || []).map(q => {
358
362
  const icon = q.status === 'completed' ? '✓' :
359
363
  q.status === 'failed' ? '✗' :
360
364
  q.status === 'executing' ? '⟳' : '○';
@@ -362,34 +366,10 @@ ${finalQueue.queue.map(q => {
362
366
  }).join('\n')}
363
367
  `);
364
368
 
365
- // Update issue statuses in issues.jsonl
366
- const issuesPath = '.workflow/issues/issues.jsonl';
367
- const allIssues = Bash(`cat "${issuesPath}"`)
368
- .split('\n')
369
- .filter(line => line.trim())
370
- .map(line => JSON.parse(line));
371
-
372
- const issueIds = [...new Set(finalQueue.queue.map(q => q.issue_id))];
373
- for (const issueId of issueIds) {
374
- const issueTasks = finalQueue.queue.filter(q => q.issue_id === issueId);
375
-
376
- if (issueTasks.every(q => q.status === 'completed')) {
377
- console.log(`\n✓ Issue ${issueId} fully completed!`);
378
-
379
- // Update issue status
380
- const issueIndex = allIssues.findIndex(i => i.id === issueId);
381
- if (issueIndex !== -1) {
382
- allIssues[issueIndex].status = 'completed';
383
- allIssues[issueIndex].completed_at = new Date().toISOString();
384
- allIssues[issueIndex].updated_at = new Date().toISOString();
385
- }
386
- }
387
- }
388
-
389
- // Write updated issues.jsonl
390
- Write(issuesPath, allIssues.map(i => JSON.stringify(i)).join('\n'));
369
+ // Issue status updates are handled by ccw issue complete/fail endpoints
370
+ // No need to manually update issues.jsonl here
391
371
 
392
- if (summary.pending > 0) {
372
+ if (summary.pending_count > 0) {
393
373
  console.log(`
394
374
  ### Continue Execution
395
375
  Run \`/issue:execute\` again to execute remaining tasks.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: plan
3
3
  description: Batch plan issue resolution using issue-plan-agent (explore + plan closed-loop)
4
- argument-hint: "<issue-id>[,<issue-id>,...] [--batch-size 3]"
4
+ argument-hint: "<issue-id>[,<issue-id>,...] [--batch-size 3] --all-pending"
5
5
  allowed-tools: TodoWrite(*), Task(*), SlashCommand(*), AskUserQuestion(*), Bash(*), Read(*), Write(*)
6
6
  ---
7
7
 
@@ -78,24 +78,49 @@ Phase 4: Summary
78
78
  ### Phase 1: Issue Loading
79
79
 
80
80
  ```javascript
81
- // Parse input
82
- const issueIds = userInput.includes(',')
83
- ? userInput.split(',').map(s => s.trim())
84
- : [userInput.trim()];
85
-
86
- // Read issues.jsonl
81
+ // Parse input and flags
87
82
  const issuesPath = '.workflow/issues/issues.jsonl';
88
- const allIssues = Bash(`cat "${issuesPath}" 2>/dev/null || echo ''`)
89
- .split('\n')
90
- .filter(line => line.trim())
91
- .map(line => JSON.parse(line));
83
+ const batchSize = flags.batchSize || 3;
84
+
85
+ // Key fields for planning (avoid loading full issue data)
86
+ const PLAN_FIELDS = 'id,title,status,context,affected_components,lifecycle_requirements,priority,bound_solution_id';
87
+
88
+ let issueIds = [];
89
+
90
+ if (flags.allPending) {
91
+ // Use jq to filter pending/registered issues - extract only IDs
92
+ const pendingIds = Bash(`
93
+ cat "${issuesPath}" 2>/dev/null | \\
94
+ jq -r 'select(.status == "pending" or .status == "registered") | .id' 2>/dev/null || echo ''
95
+ `).trim();
96
+
97
+ issueIds = pendingIds ? pendingIds.split('\n').filter(Boolean) : [];
98
+
99
+ if (issueIds.length === 0) {
100
+ console.log('No pending issues found.');
101
+ return;
102
+ }
103
+ console.log(`Found ${issueIds.length} pending issues`);
104
+ } else {
105
+ // Parse comma-separated issue IDs
106
+ issueIds = userInput.includes(',')
107
+ ? userInput.split(',').map(s => s.trim())
108
+ : [userInput.trim()];
109
+ }
92
110
 
93
- // Load and validate issues
111
+ // Load issues using jq to extract only key fields
94
112
  const issues = [];
95
113
  for (const id of issueIds) {
96
- let issue = allIssues.find(i => i.id === id);
97
-
98
- if (!issue) {
114
+ // Use jq to find issue by ID and extract only needed fields
115
+ const issueJson = Bash(`
116
+ cat "${issuesPath}" 2>/dev/null | \\
117
+ jq -c 'select(.id == "${id}") | {${PLAN_FIELDS}}' 2>/dev/null | head -1
118
+ `).trim();
119
+
120
+ let issue;
121
+ if (issueJson) {
122
+ issue = JSON.parse(issueJson);
123
+ } else {
99
124
  console.log(`Issue ${id} not found. Creating...`);
100
125
  issue = {
101
126
  id,
@@ -114,12 +139,13 @@ for (const id of issueIds) {
114
139
  }
115
140
 
116
141
  // Group into batches
117
- const batchSize = flags.batchSize || 3;
118
142
  const batches = [];
119
143
  for (let i = 0; i < issues.length; i += batchSize) {
120
144
  batches.push(issues.slice(i, i + batchSize));
121
145
  }
122
146
 
147
+ console.log(`Processing ${issues.length} issues in ${batches.length} batch(es)`);
148
+
123
149
  TodoWrite({
124
150
  todos: batches.flatMap((batch, i) => [
125
151
  { content: `Plan batch ${i+1}`, status: 'pending', activeForm: `Planning batch ${i+1}` }
@@ -130,10 +156,13 @@ TodoWrite({
130
156
  ### Phase 2: Unified Explore + Plan (issue-plan-agent)
131
157
 
132
158
  ```javascript
159
+ // Ensure solutions directory exists
160
+ Bash(`mkdir -p .workflow/issues/solutions`);
161
+
133
162
  for (const [batchIndex, batch] of batches.entries()) {
134
163
  updateTodo(`Plan batch ${batchIndex + 1}`, 'in_progress');
135
164
 
136
- // Build issue prompt for agent with lifecycle requirements
165
+ // Build issue prompt for agent - agent writes solutions directly
137
166
  const issuePrompt = `
138
167
  ## Issues to Plan (Closed-Loop Tasks Required)
139
168
 
@@ -152,7 +181,29 @@ ${batch.map((issue, i) => `
152
181
  ## Project Root
153
182
  ${process.cwd()}
154
183
 
155
- ## Requirements - CLOSED-LOOP TASKS
184
+ ## Output Requirements
185
+
186
+ **IMPORTANT**: Write solutions DIRECTLY to files, do NOT return full solution content.
187
+
188
+ ### 1. Write Solution Files
189
+ For each issue, write solution to: \`.workflow/issues/solutions/{issue-id}.jsonl\`
190
+ - Append one JSON line per solution
191
+ - Solution must include all closed-loop task fields (see Solution Format below)
192
+
193
+ ### 2. Return Summary Only
194
+ After writing solutions, return ONLY a brief JSON summary:
195
+ \`\`\`json
196
+ {
197
+ "planned": [
198
+ { "issue_id": "XXX", "solution_id": "SOL-xxx", "task_count": 3, "description": "Brief description" }
199
+ ],
200
+ "conflicts": [
201
+ { "file": "path/to/file", "issues": ["ID1", "ID2"], "suggested_order": ["ID1", "ID2"] }
202
+ ]
203
+ }
204
+ \`\`\`
205
+
206
+ ## Closed-Loop Task Requirements
156
207
 
157
208
  Each task MUST include ALL lifecycle phases:
158
209
 
@@ -168,12 +219,10 @@ Each task MUST include ALL lifecycle phases:
168
219
 
169
220
  ### 3. Regression
170
221
  - regression: string[] (commands to run for regression check)
171
- - Based on issue's regression_scope setting
172
222
 
173
223
  ### 4. Acceptance
174
224
  - acceptance.criteria: string[] (testable acceptance criteria)
175
225
  - acceptance.verification: string[] (how to verify each criterion)
176
- - acceptance.manual_checks: string[] (manual checks if needed)
177
226
 
178
227
  ### 5. Commit
179
228
  - commit.type: feat|fix|refactor|test|docs|chore
@@ -188,7 +237,7 @@ Each task MUST include ALL lifecycle phases:
188
237
  4. Infer commit scope from affected files
189
238
  `;
190
239
 
191
- // Launch issue-plan-agent (combines explore + plan)
240
+ // Launch issue-plan-agent - agent writes solutions directly
192
241
  const result = Task(
193
242
  subagent_type="issue-plan-agent",
194
243
  run_in_background=false,
@@ -196,24 +245,18 @@ Each task MUST include ALL lifecycle phases:
196
245
  prompt=issuePrompt
197
246
  );
198
247
 
199
- // Parse agent output
200
- const agentOutput = JSON.parse(result);
201
-
202
- // Register solutions for each issue (append to solutions/{issue-id}.jsonl)
203
- for (const item of agentOutput.solutions) {
204
- const solutionPath = `.workflow/issues/solutions/${item.issue_id}.jsonl`;
248
+ // Parse brief summary from agent
249
+ const summary = JSON.parse(result);
205
250
 
206
- // Ensure solutions directory exists
207
- Bash(`mkdir -p .workflow/issues/solutions`);
208
-
209
- // Append solution as new line
210
- Bash(`echo '${JSON.stringify(item.solution)}' >> "${solutionPath}"`);
251
+ // Display planning results
252
+ for (const item of summary.planned || []) {
253
+ console.log(`✓ ${item.issue_id}: ${item.solution_id} (${item.task_count} tasks) - ${item.description}`);
211
254
  }
212
255
 
213
256
  // Handle conflicts if any
214
- if (agentOutput.conflicts?.length > 0) {
257
+ if (summary.conflicts?.length > 0) {
215
258
  console.log(`\n⚠ File conflicts detected:`);
216
- agentOutput.conflicts.forEach(c => {
259
+ summary.conflicts.forEach(c => {
217
260
  console.log(` ${c.file}: ${c.issues.join(', ')} → suggested: ${c.suggested_order.join(' → ')}`);
218
261
  });
219
262
  }
@@ -225,90 +268,86 @@ Each task MUST include ALL lifecycle phases:
225
268
  ### Phase 3: Solution Binding
226
269
 
227
270
  ```javascript
228
- // Re-read issues.jsonl
229
- let allIssuesUpdated = Bash(`cat "${issuesPath}"`)
230
- .split('\n')
231
- .filter(line => line.trim())
232
- .map(line => JSON.parse(line));
271
+ // Collect issues needing user selection (multiple solutions)
272
+ const needSelection = [];
233
273
 
234
274
  for (const issue of issues) {
235
275
  const solPath = `.workflow/issues/solutions/${issue.id}.jsonl`;
236
- const solutions = Bash(`cat "${solPath}" 2>/dev/null || echo ''`)
237
- .split('\n')
238
- .filter(line => line.trim())
239
- .map(line => JSON.parse(line));
240
-
241
- if (solutions.length === 0) {
242
- console.log(`⚠ No solutions for ${issue.id}`);
243
- continue;
244
- }
245
276
 
246
- let selectedSolId;
277
+ // Use jq to count solutions
278
+ const count = parseInt(Bash(`cat "${solPath}" 2>/dev/null | jq -s 'length' 2>/dev/null || echo '0'`).trim()) || 0;
247
279
 
248
- if (solutions.length === 1) {
280
+ if (count === 0) continue; // No solutions - skip silently (agent already reported)
281
+
282
+ if (count === 1) {
249
283
  // Auto-bind single solution
250
- selectedSolId = solutions[0].id;
251
- console.log(`✓ Auto-bound ${selectedSolId} to ${issue.id} (${solutions[0].tasks?.length || 0} tasks)`);
284
+ const solId = Bash(`cat "${solPath}" | jq -r '.id' | head -1`).trim();
285
+ bindSolution(issue.id, solId);
252
286
  } else {
253
- // Multiple solutions - ask user
254
- const answer = AskUserQuestion({
255
- questions: [{
256
- question: `Select solution for ${issue.id}:`,
257
- header: issue.id,
258
- multiSelect: false,
259
- options: solutions.map(s => ({
260
- label: `${s.id}: ${s.description || 'Solution'}`,
261
- description: `${s.tasks?.length || 0} tasks`
262
- }))
263
- }]
264
- });
265
-
266
- selectedSolId = extractSelectedSolutionId(answer);
267
- console.log(`✓ Bound ${selectedSolId} to ${issue.id}`);
287
+ // Multiple solutions - collect for batch selection
288
+ const options = Bash(`cat "${solPath}" | jq -c '{id, description, task_count: (.tasks | length)}'`).trim();
289
+ needSelection.push({ issue, options: options.split('\n').map(s => JSON.parse(s)) });
268
290
  }
291
+ }
269
292
 
270
- // Update issue in allIssuesUpdated
271
- const issueIndex = allIssuesUpdated.findIndex(i => i.id === issue.id);
272
- if (issueIndex !== -1) {
273
- allIssuesUpdated[issueIndex].bound_solution_id = selectedSolId;
274
- allIssuesUpdated[issueIndex].status = 'planned';
275
- allIssuesUpdated[issueIndex].planned_at = new Date().toISOString();
276
- allIssuesUpdated[issueIndex].updated_at = new Date().toISOString();
293
+ // Batch ask user for multiple-solution issues
294
+ if (needSelection.length > 0) {
295
+ const answer = AskUserQuestion({
296
+ questions: needSelection.map(({ issue, options }) => ({
297
+ question: `Select solution for ${issue.id}:`,
298
+ header: issue.id,
299
+ multiSelect: false,
300
+ options: options.map(s => ({
301
+ label: `${s.id} (${s.task_count} tasks)`,
302
+ description: s.description || 'Solution'
303
+ }))
304
+ }))
305
+ });
306
+
307
+ // Bind selected solutions
308
+ for (const { issue } of needSelection) {
309
+ const selectedSolId = extractSelectedSolutionId(answer, issue.id);
310
+ if (selectedSolId) bindSolution(issue.id, selectedSolId);
277
311
  }
278
-
279
- // Mark solution as bound in solutions file
280
- const updatedSolutions = solutions.map(s => ({
281
- ...s,
282
- is_bound: s.id === selectedSolId,
283
- bound_at: s.id === selectedSolId ? new Date().toISOString() : s.bound_at
284
- }));
285
- Write(solPath, updatedSolutions.map(s => JSON.stringify(s)).join('\n'));
286
312
  }
287
313
 
288
- // Write updated issues.jsonl
289
- Write(issuesPath, allIssuesUpdated.map(i => JSON.stringify(i)).join('\n'));
314
+ // Helper: bind solution to issue
315
+ function bindSolution(issueId, solutionId) {
316
+ const now = new Date().toISOString();
317
+ const solPath = `.workflow/issues/solutions/${issueId}.jsonl`;
318
+
319
+ // Update issue status
320
+ Bash(`
321
+ tmpfile=$(mktemp) && \\
322
+ cat "${issuesPath}" | jq -c 'if .id == "${issueId}" then . + {
323
+ bound_solution_id: "${solutionId}", status: "planned",
324
+ planned_at: "${now}", updated_at: "${now}"
325
+ } else . end' > "$tmpfile" && mv "$tmpfile" "${issuesPath}"
326
+ `);
327
+
328
+ // Mark solution as bound
329
+ Bash(`
330
+ tmpfile=$(mktemp) && \\
331
+ cat "${solPath}" | jq -c 'if .id == "${solutionId}" then . + {
332
+ is_bound: true, bound_at: "${now}"
333
+ } else . + {is_bound: false} end' > "$tmpfile" && mv "$tmpfile" "${solPath}"
334
+ `);
335
+ }
290
336
  ```
291
337
 
292
338
  ### Phase 4: Summary
293
339
 
294
340
  ```javascript
341
+ // Brief summary using jq
342
+ const stats = Bash(`
343
+ cat "${issuesPath}" 2>/dev/null | \\
344
+ jq -s '[.[] | select(.status == "planned")] | length' 2>/dev/null || echo '0'
345
+ `).trim();
346
+
295
347
  console.log(`
296
- ## Planning Complete
297
-
298
- **Issues Planned**: ${issues.length}
299
-
300
- ### Bound Solutions
301
- ${issues.map(i => {
302
- const issue = allIssuesUpdated.find(a => a.id === i.id);
303
- return issue?.bound_solution_id
304
- ? `✓ ${i.id}: ${issue.bound_solution_id}`
305
- : `○ ${i.id}: No solution bound`;
306
- }).join('\n')}
307
-
308
- ### Next Steps
309
- 1. Review: \`ccw issue status <issue-id>\`
310
- 2. Form queue: \`/issue:queue\`
311
- 3. Execute: \`/issue:execute\`
348
+ ## Done: ${issues.length} issues → ${stats} planned
349
+
350
+ Next: \`/issue:queue\` → \`/issue:execute\`
312
351
  `);
313
352
  ```
314
353
 
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoJH,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAy6BD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoJH,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAq9BD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
@@ -315,7 +315,8 @@ async function statusAction(issueId, options) {
315
315
  const issues = readIssues();
316
316
  const index = readQueueIndex();
317
317
  if (options.json) {
318
- console.log(JSON.stringify({ queue: queue._metadata, issues: issues.length, queues: index.queues.length }, null, 2));
318
+ // Return full queue for programmatic access
319
+ console.log(JSON.stringify(queue, null, 2));
319
320
  return;
320
321
  }
321
322
  console.log(chalk.bold.cyan('\nSystem Status\n'));
@@ -673,8 +674,10 @@ async function queueAction(subAction, issueId, options) {
673
674
  */
674
675
  async function nextAction(options) {
675
676
  const queue = readActiveQueue();
676
- // Find ready tasks
677
- const readyTasks = queue.queue.filter(item => {
677
+ // Priority 1: Resume executing tasks (interrupted/crashed)
678
+ const executingTasks = queue.queue.filter(item => item.status === 'executing');
679
+ // Priority 2: Find pending tasks with satisfied dependencies
680
+ const pendingTasks = queue.queue.filter(item => {
678
681
  if (item.status !== 'pending')
679
682
  return false;
680
683
  return item.depends_on.every(depId => {
@@ -682,6 +685,8 @@ async function nextAction(options) {
682
685
  return !dep || dep.status === 'completed';
683
686
  });
684
687
  });
688
+ // Combine: executing first, then pending
689
+ const readyTasks = [...executingTasks, ...pendingTasks];
685
690
  if (readyTasks.length === 0) {
686
691
  console.log(JSON.stringify({
687
692
  status: 'empty',
@@ -693,6 +698,7 @@ async function nextAction(options) {
693
698
  // Sort by execution order
694
699
  readyTasks.sort((a, b) => a.execution_order - b.execution_order);
695
700
  const nextItem = readyTasks[0];
701
+ const isResume = nextItem.status === 'executing';
696
702
  // Load task definition
697
703
  const solution = findSolution(nextItem.issue_id, nextItem.solution_id);
698
704
  const taskDef = solution?.tasks.find(t => t.id === nextItem.task_id);
@@ -700,22 +706,40 @@ async function nextAction(options) {
700
706
  console.log(JSON.stringify({ status: 'error', message: 'Task definition not found' }));
701
707
  process.exit(1);
702
708
  }
703
- // Mark as executing
704
- const idx = queue.queue.findIndex(q => q.queue_id === nextItem.queue_id);
705
- queue.queue[idx].status = 'executing';
706
- queue.queue[idx].started_at = new Date().toISOString();
707
- writeQueue(queue);
708
- // Update issue status
709
- updateIssue(nextItem.issue_id, { status: 'executing' });
709
+ // Only update status if not already executing (new task)
710
+ if (!isResume) {
711
+ const idx = queue.queue.findIndex(q => q.queue_id === nextItem.queue_id);
712
+ queue.queue[idx].status = 'executing';
713
+ queue.queue[idx].started_at = new Date().toISOString();
714
+ writeQueue(queue);
715
+ updateIssue(nextItem.issue_id, { status: 'executing' });
716
+ }
717
+ // Calculate queue stats for context
718
+ const stats = {
719
+ total: queue.queue.length,
720
+ completed: queue.queue.filter(q => q.status === 'completed').length,
721
+ failed: queue.queue.filter(q => q.status === 'failed').length,
722
+ executing: executingTasks.length,
723
+ pending: pendingTasks.length
724
+ };
725
+ const remaining = stats.pending + stats.executing;
710
726
  console.log(JSON.stringify({
711
727
  queue_id: nextItem.queue_id,
712
728
  issue_id: nextItem.issue_id,
713
729
  solution_id: nextItem.solution_id,
714
730
  task: taskDef,
715
731
  context: solution?.exploration_context || {},
732
+ resumed: isResume,
733
+ resume_note: isResume ? `Resuming interrupted task (started: ${nextItem.started_at})` : undefined,
716
734
  execution_hints: {
717
735
  executor: nextItem.assigned_executor,
718
736
  estimated_minutes: taskDef.estimated_minutes || 30
737
+ },
738
+ queue_progress: {
739
+ completed: stats.completed,
740
+ remaining: remaining,
741
+ total: stats.total,
742
+ progress: `${stats.completed}/${stats.total}`
719
743
  }
720
744
  }, null, 2));
721
745
  }
@@ -779,7 +803,7 @@ async function doneAction(queueId, options) {
779
803
  writeQueue(queue);
780
804
  }
781
805
  /**
782
- * retry - Retry failed tasks
806
+ * retry - Retry failed tasks, or reset stuck executing tasks (--force)
783
807
  */
784
808
  async function retryAction(issueId, options) {
785
809
  const queue = readActiveQueue();
@@ -788,7 +812,11 @@ async function retryAction(issueId, options) {
788
812
  return;
789
813
  }
790
814
  let updated = 0;
815
+ // Check for stuck executing tasks (started > 30 min ago with no completion)
816
+ const stuckThreshold = 30 * 60 * 1000; // 30 minutes
817
+ const now = Date.now();
791
818
  for (const item of queue.queue) {
819
+ // Retry failed tasks
792
820
  if (item.status === 'failed') {
793
821
  if (!issueId || item.issue_id === issueId) {
794
822
  item.status = 'pending';
@@ -798,9 +826,22 @@ async function retryAction(issueId, options) {
798
826
  updated++;
799
827
  }
800
828
  }
829
+ // Reset stuck executing tasks (optional: use --force or --reset-stuck)
830
+ else if (item.status === 'executing' && options.force) {
831
+ const startedAt = item.started_at ? new Date(item.started_at).getTime() : 0;
832
+ if (now - startedAt > stuckThreshold) {
833
+ if (!issueId || item.issue_id === issueId) {
834
+ console.log(chalk.yellow(`Resetting stuck task: ${item.queue_id} (started ${Math.round((now - startedAt) / 60000)} min ago)`));
835
+ item.status = 'pending';
836
+ item.started_at = undefined;
837
+ updated++;
838
+ }
839
+ }
840
+ }
801
841
  }
802
842
  if (updated === 0) {
803
- console.log(chalk.yellow('No failed tasks to retry'));
843
+ console.log(chalk.yellow('No failed/stuck tasks to retry'));
844
+ console.log(chalk.gray('Use --force to reset stuck executing tasks (>30 min)'));
804
845
  return;
805
846
  }
806
847
  // Reset queue status if it was failed
@@ -870,7 +911,7 @@ export async function issueCommand(subcommand, args, options) {
870
911
  console.log(chalk.gray(' queue add <issue-id> Add issue to active queue (or create new)'));
871
912
  console.log(chalk.gray(' queue switch <queue-id> Switch active queue'));
872
913
  console.log(chalk.gray(' queue archive Archive current queue'));
873
- console.log(chalk.gray(' retry [issue-id] Retry failed tasks'));
914
+ console.log(chalk.gray(' retry [issue-id] [--force] Retry failed/stuck tasks'));
874
915
  console.log();
875
916
  console.log(chalk.bold('Execution Endpoints:'));
876
917
  console.log(chalk.gray(' next Get next ready task (JSON)'));
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,iCAAiC;AACjC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC;AAsJH,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,kDAAkD;AAElD,SAAS,cAAc;IACrB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,yCAAyC;AAEzC,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,eAAe,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;IAClD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,OAAuB;IAC3D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACnF,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4CAA4C;AAE5C,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,SAAqB;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,UAAkB;IACvD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,OAAO,EAAE,EAAE,CAAC;AACrB,CAAC;AAED,2DAA2D;AAE3D,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB;IACxC,eAAe,EAAE,CAAC;IAClB,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,OAAO,EAAE,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC;IAElD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,kDAAkD;IAClD,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,EAAE,EAAE,mBAAmB,EAAE;QACzB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,SAAS,EAAE;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,eAAe,EAAE,CAAC;IAElB,yBAAyB;IACzB,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IACjD,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACvF,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC3F,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC3F,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACrF,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtD,mBAAmB;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE7D,eAAe;IACf,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;QACxC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe;QAChD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;QACtC,YAAY,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;KAClF,CAAC;IAEF,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,qCAAqC;AAErC;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAA2B,EAAE,OAAqB;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,kBAAkB,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO;QAC/B,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QAClC,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,OAAO,eAAe,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,OAAO,uBAAuB,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAA2B,EAAE,OAAqB;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,kBAAkB;QAClB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG;gBAClB,YAAY,EAAE,KAAK,CAAC,IAAI;gBACxB,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,QAAQ,EAAE,KAAK,CAAC,OAAO;aACxB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;YAE/B,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACnG,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CACrC,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IAEpC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,iBAAiB,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,OAA2B,EAAE,OAAqB;IAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,oBAAoB;QACpB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,4CAA4C;YAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,MAAM,aAAa,KAAK,CAAC,eAAe,IAAI,MAAM,GAAG,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,WAAW,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAA2B,EAAE,MAA0B,EAAE,OAAqB;IACtG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpD,wCAAwC;IACxC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAAa;YACvB,EAAE,EAAE,kBAAkB,EAAE;YACxB,WAAW,EAAE,cAAc;YAC3B,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,WAAW,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,MAAM,EAAE,CAAC;QACX,uBAAuB;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC/D,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,aAAa,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAe,CAAC;QAEjF,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,MAAM,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,eAAe;QACf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAiB;YAC5B,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;YACjD,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,CAAC,UAAU,CAAC;aACvB;YACD,UAAU,EAAE,CAAC,UAAU,CAAC;YACxB,UAAU,EAAE;gBACV,QAAQ,EAAE,CAAC,6BAA6B,CAAC;gBACzC,YAAY,EAAE,CAAC,qBAAqB,CAAC;aACtC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,gBAAgB,EAAE,eAAe,OAAO,CAAC,KAAK,EAAE;aACjD;YACD,UAAU,EAAE,EAAE;YACd,QAAQ,EAAG,OAAO,CAAC,QAAgB,IAAI,MAAM;SAC9C,CAAC;QAEF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,SAAS,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAA2B,EAAE,UAA8B,EAAE,OAAqB;IAC1G,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,8CAA8C;IAC9C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,MAAM,GAAa;gBACvB,EAAE,EAAE,UAAU,IAAI,kBAAkB,EAAE;gBACtC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,IAAI,mBAAmB;gBAC1E,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,UAAU,gBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,2BAA2B;QAC3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,KAAK,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,aAAa,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4BAA4B;IAC5B,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtD,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnC,WAAW,CAAC,OAAO,EAAE;QACnB,iBAAiB,EAAE,UAAU;QAC7B,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,UAAU,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,SAA6B,EAAE,OAA2B,EAAE,OAAqB;IAC1G,4BAA4B;IAC5B,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAExC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG;gBAClB,QAAQ,EAAE,KAAK,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,QAAQ,EAAE,KAAK,CAAC,GAAG;aACpB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;YAE3B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,OAAO,CAAC,GAAG,CACT,MAAM;gBACN,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACf,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,oCAAoC;QAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAChC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QAC1B,UAAU,CAAC,KAAK,CAAC,CAAC;QAElB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,SAAS,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,KAAK,GAAG,gBAAgB,EAAE,CAAC;QAC7B,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YACtF,IAAI,MAAM;gBAAE,SAAS;YAErB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC;gBACpC,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,MAAM,EAAE,SAAS;gBACjB,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACvC,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;oBACnF,OAAO,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC;gBAClC,CAAC,CAAC;gBACF,iBAAiB,EAAE,GAAG;gBACtB,iBAAiB,EAAE,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAe;gBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,KAAK,EAAE,CAAC;QACV,CAAC;QAED,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEhF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,WAAW,eAAe,KAAK,CAAC,SAAS,CAAC,aAAa,iBAAiB,KAAK,CAAC,SAAS,CAAC,eAAe,iBAAiB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC7M,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACzH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG;YAClB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,SAAS,EAAE,KAAK,CAAC,OAAO;SACzB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;QAE9B,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAAqB;IAC7C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,2DAA2D;IAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAE/E,6DAA6D;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,CAAC;IAExD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,gBAAgB;YACzB,YAAY,EAAE,KAAK,CAAC,SAAS;SAC9B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC;IAEjD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,oCAAoC;IACpC,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;QACzB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;QACnE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC7D,SAAS,EAAE,cAAc,CAAC,MAAM;QAChC,OAAO,EAAE,YAAY,CAAC,MAAM;KAC7B,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,QAAQ,EAAE,mBAAmB,IAAI,EAAE;QAC5C,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,uCAAuC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS;QACjG,eAAe,EAAE;YACf,QAAQ,EAAE,QAAQ,CAAC,iBAAiB;YACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;SACnD;QACD,cAAc,EAAE;YACd,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE;SAC9C;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAA2B,EAAE,OAAqB;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAE/D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,aAAa,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IAC1D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEzD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC;IACxE,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAEnE,IAAI,gBAAgB,EAAE,CAAC;QACrB,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,YAAY,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,OAAO,6BAA6B,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,YAAY,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,oCAAoC;IACpC,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAEpE,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;QACvG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,OAAqB;IAC3E,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,4EAA4E;IAC5E,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,qBAAqB;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,uEAAuE;aAClE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,GAAG,GAAG,SAAS,GAAG,cAAc,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC/H,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;oBACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;oBAC5B,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,KAAK,CAAC,CAAC;IAElB,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,OAAO,qBAAqB,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,uCAAuC;AAEvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,IAAuB,EACvB,OAAqB;IAErB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,OAAO;YACV,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,OAAO;YACV,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM;QACR,iBAAiB;QACjB,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC3F,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,UAAU;YACb,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC,CAAC;YAC1G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
@@ -519,7 +519,8 @@ async function statusAction(issueId: string | undefined, options: IssueOptions):
519
519
  const index = readQueueIndex();
520
520
 
521
521
  if (options.json) {
522
- console.log(JSON.stringify({ queue: queue._metadata, issues: issues.length, queues: index.queues.length }, null, 2));
522
+ // Return full queue for programmatic access
523
+ console.log(JSON.stringify(queue, null, 2));
523
524
  return;
524
525
  }
525
526
 
@@ -936,8 +937,11 @@ async function queueAction(subAction: string | undefined, issueId: string | unde
936
937
  async function nextAction(options: IssueOptions): Promise<void> {
937
938
  const queue = readActiveQueue();
938
939
 
939
- // Find ready tasks
940
- const readyTasks = queue.queue.filter(item => {
940
+ // Priority 1: Resume executing tasks (interrupted/crashed)
941
+ const executingTasks = queue.queue.filter(item => item.status === 'executing');
942
+
943
+ // Priority 2: Find pending tasks with satisfied dependencies
944
+ const pendingTasks = queue.queue.filter(item => {
941
945
  if (item.status !== 'pending') return false;
942
946
  return item.depends_on.every(depId => {
943
947
  const dep = queue.queue.find(q => q.queue_id === depId);
@@ -945,6 +949,9 @@ async function nextAction(options: IssueOptions): Promise<void> {
945
949
  });
946
950
  });
947
951
 
952
+ // Combine: executing first, then pending
953
+ const readyTasks = [...executingTasks, ...pendingTasks];
954
+
948
955
  if (readyTasks.length === 0) {
949
956
  console.log(JSON.stringify({
950
957
  status: 'empty',
@@ -957,6 +964,7 @@ async function nextAction(options: IssueOptions): Promise<void> {
957
964
  // Sort by execution order
958
965
  readyTasks.sort((a, b) => a.execution_order - b.execution_order);
959
966
  const nextItem = readyTasks[0];
967
+ const isResume = nextItem.status === 'executing';
960
968
 
961
969
  // Load task definition
962
970
  const solution = findSolution(nextItem.issue_id, nextItem.solution_id);
@@ -967,14 +975,24 @@ async function nextAction(options: IssueOptions): Promise<void> {
967
975
  process.exit(1);
968
976
  }
969
977
 
970
- // Mark as executing
971
- const idx = queue.queue.findIndex(q => q.queue_id === nextItem.queue_id);
972
- queue.queue[idx].status = 'executing';
973
- queue.queue[idx].started_at = new Date().toISOString();
974
- writeQueue(queue);
978
+ // Only update status if not already executing (new task)
979
+ if (!isResume) {
980
+ const idx = queue.queue.findIndex(q => q.queue_id === nextItem.queue_id);
981
+ queue.queue[idx].status = 'executing';
982
+ queue.queue[idx].started_at = new Date().toISOString();
983
+ writeQueue(queue);
984
+ updateIssue(nextItem.issue_id, { status: 'executing' });
985
+ }
975
986
 
976
- // Update issue status
977
- updateIssue(nextItem.issue_id, { status: 'executing' });
987
+ // Calculate queue stats for context
988
+ const stats = {
989
+ total: queue.queue.length,
990
+ completed: queue.queue.filter(q => q.status === 'completed').length,
991
+ failed: queue.queue.filter(q => q.status === 'failed').length,
992
+ executing: executingTasks.length,
993
+ pending: pendingTasks.length
994
+ };
995
+ const remaining = stats.pending + stats.executing;
978
996
 
979
997
  console.log(JSON.stringify({
980
998
  queue_id: nextItem.queue_id,
@@ -982,9 +1000,17 @@ async function nextAction(options: IssueOptions): Promise<void> {
982
1000
  solution_id: nextItem.solution_id,
983
1001
  task: taskDef,
984
1002
  context: solution?.exploration_context || {},
1003
+ resumed: isResume,
1004
+ resume_note: isResume ? `Resuming interrupted task (started: ${nextItem.started_at})` : undefined,
985
1005
  execution_hints: {
986
1006
  executor: nextItem.assigned_executor,
987
1007
  estimated_minutes: taskDef.estimated_minutes || 30
1008
+ },
1009
+ queue_progress: {
1010
+ completed: stats.completed,
1011
+ remaining: remaining,
1012
+ total: stats.total,
1013
+ progress: `${stats.completed}/${stats.total}`
988
1014
  }
989
1015
  }, null, 2));
990
1016
  }
@@ -1054,7 +1080,7 @@ async function doneAction(queueId: string | undefined, options: IssueOptions): P
1054
1080
  }
1055
1081
 
1056
1082
  /**
1057
- * retry - Retry failed tasks
1083
+ * retry - Retry failed tasks, or reset stuck executing tasks (--force)
1058
1084
  */
1059
1085
  async function retryAction(issueId: string | undefined, options: IssueOptions): Promise<void> {
1060
1086
  const queue = readActiveQueue();
@@ -1066,7 +1092,12 @@ async function retryAction(issueId: string | undefined, options: IssueOptions):
1066
1092
 
1067
1093
  let updated = 0;
1068
1094
 
1095
+ // Check for stuck executing tasks (started > 30 min ago with no completion)
1096
+ const stuckThreshold = 30 * 60 * 1000; // 30 minutes
1097
+ const now = Date.now();
1098
+
1069
1099
  for (const item of queue.queue) {
1100
+ // Retry failed tasks
1070
1101
  if (item.status === 'failed') {
1071
1102
  if (!issueId || item.issue_id === issueId) {
1072
1103
  item.status = 'pending';
@@ -1076,10 +1107,23 @@ async function retryAction(issueId: string | undefined, options: IssueOptions):
1076
1107
  updated++;
1077
1108
  }
1078
1109
  }
1110
+ // Reset stuck executing tasks (optional: use --force or --reset-stuck)
1111
+ else if (item.status === 'executing' && options.force) {
1112
+ const startedAt = item.started_at ? new Date(item.started_at).getTime() : 0;
1113
+ if (now - startedAt > stuckThreshold) {
1114
+ if (!issueId || item.issue_id === issueId) {
1115
+ console.log(chalk.yellow(`Resetting stuck task: ${item.queue_id} (started ${Math.round((now - startedAt) / 60000)} min ago)`));
1116
+ item.status = 'pending';
1117
+ item.started_at = undefined;
1118
+ updated++;
1119
+ }
1120
+ }
1121
+ }
1079
1122
  }
1080
1123
 
1081
1124
  if (updated === 0) {
1082
- console.log(chalk.yellow('No failed tasks to retry'));
1125
+ console.log(chalk.yellow('No failed/stuck tasks to retry'));
1126
+ console.log(chalk.gray('Use --force to reset stuck executing tasks (>30 min)'));
1083
1127
  return;
1084
1128
  }
1085
1129
 
@@ -1160,7 +1204,7 @@ export async function issueCommand(
1160
1204
  console.log(chalk.gray(' queue add <issue-id> Add issue to active queue (or create new)'));
1161
1205
  console.log(chalk.gray(' queue switch <queue-id> Switch active queue'));
1162
1206
  console.log(chalk.gray(' queue archive Archive current queue'));
1163
- console.log(chalk.gray(' retry [issue-id] Retry failed tasks'));
1207
+ console.log(chalk.gray(' retry [issue-id] [--force] Retry failed/stuck tasks'));
1164
1208
  console.log();
1165
1209
  console.log(chalk.bold('Execution Endpoints:'));
1166
1210
  console.log(chalk.gray(' next Get next ready task (JSON)'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-workflow",
3
- "version": "6.3.6",
3
+ "version": "6.3.7",
4
4
  "description": "JSON-driven multi-agent development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution",
5
5
  "type": "module",
6
6
  "main": "ccw/src/index.js",