claude-flow-novice 1.5.14 → 1.5.15

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.
@@ -599,13 +599,54 @@ class PostEditPipeline {
599
599
  const entrySections = existingLog.split('═'.repeat(80)).filter(s => s.trim());
600
600
 
601
601
  for (const section of entrySections) {
602
- const jsonMatch = section.match(/JSON:\s*(\{[\s\S]*?\})\s*$/m);
603
- if (jsonMatch) {
604
- try {
605
- const entry = JSON.parse(jsonMatch[1]);
606
- existingEntries.push(entry);
607
- } catch (e) {
608
- // Skip malformed entries
602
+ // Match JSON block more reliably - find JSON: followed by { until the closing }
603
+ const jsonStart = section.indexOf('JSON:');
604
+ if (jsonStart !== -1) {
605
+ const jsonText = section.substring(jsonStart + 5).trim();
606
+ // Find the complete JSON object by counting braces
607
+ let braceCount = 0;
608
+ let jsonEnd = 0;
609
+ let inString = false;
610
+ let escapeNext = false;
611
+
612
+ for (let i = 0; i < jsonText.length; i++) {
613
+ const char = jsonText[i];
614
+
615
+ if (escapeNext) {
616
+ escapeNext = false;
617
+ continue;
618
+ }
619
+
620
+ if (char === '\\') {
621
+ escapeNext = true;
622
+ continue;
623
+ }
624
+
625
+ if (char === '"') {
626
+ inString = !inString;
627
+ continue;
628
+ }
629
+
630
+ if (!inString) {
631
+ if (char === '{') braceCount++;
632
+ if (char === '}') {
633
+ braceCount--;
634
+ if (braceCount === 0) {
635
+ jsonEnd = i + 1;
636
+ break;
637
+ }
638
+ }
639
+ }
640
+ }
641
+
642
+ if (jsonEnd > 0) {
643
+ try {
644
+ const entry = JSON.parse(jsonText.substring(0, jsonEnd));
645
+ existingEntries.push(entry);
646
+ } catch (e) {
647
+ // Skip malformed entries
648
+ console.error(`Failed to parse JSON entry: ${e.message}`);
649
+ }
609
650
  }
610
651
  }
611
652
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow-novice",
3
- "version": "1.5.14",
3
+ "version": "1.5.15",
4
4
  "description": "Standalone Claude Flow for beginners - AI agent orchestration made easy with enhanced TDD testing pipeline. Enhanced init command creates complete agent system, MCP configuration with 30 essential tools, and automated hooks with single-file testing, real-time coverage analysis, and advanced validation. Fully standalone with zero external dependencies, complete project setup in one command.",
5
5
  "mcpName": "io.github.ruvnet/claude-flow",
6
6
  "main": ".claude-flow-novice/dist/index.js",