claude-flow-novice 2.18.30 → 2.18.32

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.
@@ -6,7 +6,7 @@ allowed-tools: ["Task", "TaskOutput", "TodoWrite", "Read", "Bash"]
6
6
 
7
7
  # CFN Fix Errors - Agent Coordination Mode
8
8
 
9
- **Version:** 1.1.0 | **Date:** 2025-12-21 | **Status:** Production Ready
9
+ **Version:** 1.2.0 | **Date:** 2025-12-21 | **Status:** Production Ready
10
10
 
11
11
  ## Quick Overview
12
12
 
@@ -58,16 +58,56 @@ echo "Session ID: $SESSION_ID | Language: $LANGUAGE | Max Parallel: $MAX_PARALLE
58
58
  **For Rust:**
59
59
  ```bash
60
60
  cd [PROJECT_ROOT]
61
- SQLX_OFFLINE=true cargo check 2>&1 | grep "^error\[" | awk -F':' '{print $1}' | sort | uniq -c | sort -rn
61
+ # Cargo errors: file paths are on lines starting with "-->"
62
+ SQLX_OFFLINE=true cargo check 2>&1 | grep "^\s*-->" | awk '{print $2}' | awk -F':' '{print $1}' | sort | uniq -c | sort -rn
62
63
  ```
63
64
 
64
- **For TypeScript:**
65
+ **For TypeScript (tsc):**
65
66
  ```bash
66
67
  cd [PROJECT_ROOT]
67
- # Try common script names: typecheck, type-check, or tsc
68
+ # TypeScript compiler errors: file paths before first parenthesis
68
69
  npm run typecheck 2>&1 | grep "error TS" | awk -F'(' '{print $1}' | sort | uniq -c | sort -rn
69
70
  ```
70
71
 
72
+ **For TypeScript (ESLint):**
73
+ ```bash
74
+ cd [PROJECT_ROOT]
75
+ # ESLint: file paths are on separate lines, extract .ts/.tsx files
76
+ npm run lint 2>&1 > /tmp/eslint-output.txt
77
+ grep -B1 "error" /tmp/eslint-output.txt | grep -v "error\|--" | grep "\.tsx\?$" | sort | uniq -c | sort -rn
78
+ ```
79
+
80
+ **Alternative (Universal TypeScript/ESLint parser):**
81
+ ```bash
82
+ # Save full output first
83
+ npm run lint 2>&1 > /tmp/lint-output.txt || npm run typecheck 2>&1 > /tmp/lint-output.txt
84
+
85
+ # Parse with Python for robust extraction
86
+ python3 << 'PARSE_SCRIPT'
87
+ import re
88
+ from collections import defaultdict
89
+
90
+ error_counts = defaultdict(int)
91
+ current_file = None
92
+
93
+ with open('/tmp/lint-output.txt', 'r') as f:
94
+ for line in f:
95
+ # ESLint format: file path on its own line
96
+ if line.strip().endswith('.ts') or line.strip().endswith('.tsx'):
97
+ current_file = line.strip()
98
+ # ESLint error line
99
+ elif re.search(r'^\s+\d+:\d+\s+(error|warning)', line) and current_file:
100
+ error_counts[current_file] += 1
101
+ # TSC format: file.ts(line,col): error TS
102
+ elif match := re.match(r'^(.+\.tsx?)\(\d+,\d+\):\s+error', line):
103
+ error_counts[match.group(1)] += 1
104
+
105
+ # Print sorted by error count
106
+ for file, count in sorted(error_counts.items(), key=lambda x: -x[1])[:30]:
107
+ print(f"{count:6d} {file}")
108
+ PARSE_SCRIPT
109
+ ```
110
+
71
111
  **OUTPUT FORMAT:**
72
112
  ```
73
113
  45 src/api/handler.ts
@@ -296,5 +336,6 @@ phase2Queue = ["src/db.ts", "src/models.ts"]
296
336
 
297
337
  ## Version History
298
338
 
339
+ - v1.2.0 (2025-12-21) - Fixed error file extraction patterns for Rust and TypeScript/ESLint
299
340
  - v1.1.0 (2025-12-21) - Clarified instructions, removed pseudocode confusion
300
341
  - v1.0.0 (2025-12-21) - Initial coordination mode implementation
@@ -12,11 +12,15 @@
12
12
  * - Targeted crate compile testing
13
13
  */
14
14
 
15
+ import * as dotenv from 'dotenv';
15
16
  import createCerebrasClient from './cerebras-wrapper.js';
16
17
  import * as fs from 'fs';
17
18
  import * as path from 'path';
18
19
  import { execSync } from 'child_process';
19
20
 
21
+ // Load environment variables from .env file
22
+ dotenv.config();
23
+
20
24
  // ============== CONFIGURATION ==============
21
25
 
22
26
  // Parse --file and --agent-id parameters
@@ -9,10 +9,14 @@
9
9
  * - Phase 2: Dedicated agent cleanup (high quality)
10
10
  */
11
11
 
12
+ import * as dotenv from 'dotenv';
12
13
  import Cerebras from '@cerebras/cerebras_cloud_sdk';
13
14
  import * as fs from 'fs';
14
15
  import * as path from 'path';
15
16
  import { execFileSync, spawnSync } from 'child_process';
17
+
18
+ // Load environment variables from .env file
19
+ dotenv.config();
16
20
  import {
17
21
  gateLineCountDelta,
18
22
  gateMethodSignature,
@@ -167,9 +171,9 @@ function validateApiKey(apiKey: string | undefined): boolean {
167
171
  return false;
168
172
  }
169
173
 
170
- // Check for basic format (starts with sk- and reasonable length)
171
- if (!apiKey.startsWith('sk-') || apiKey.length < 20) {
172
- console.error('❌ Security: Invalid API key format');
174
+ // Check for basic format (starts with sk- or csk- and reasonable length)
175
+ if ((!apiKey.startsWith('sk-') && !apiKey.startsWith('csk-')) || apiKey.length < 20) {
176
+ console.error('❌ Security: Invalid API key format (expected sk-* or csk-*)');
173
177
  return false;
174
178
  }
175
179
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow-novice",
3
- "version": "2.18.30",
3
+ "version": "2.18.32",
4
4
  "description": "Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture\n\nIncludes Local RuVector Accelerator and all CFN skills for complete functionality.",
5
5
  "main": "index.js",
6
6
  "type": "module",