groove-dev 0.24.4 → 0.24.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.
- package/node_modules/@groove-dev/daemon/src/api.js +5 -1
- package/node_modules/@groove-dev/daemon/src/process.js +19 -2
- package/node_modules/@groove-dev/gui/dist/assets/{index-D4juRNU_.js → index-CuL9rJki.js} +125 -125
- package/node_modules/@groove-dev/gui/dist/assets/index-DjxlUkR9.css +1 -0
- package/node_modules/@groove-dev/gui/dist/index.html +2 -2
- package/node_modules/@groove-dev/gui/src/components/dashboard/fleet-panel.jsx +16 -4
- package/node_modules/@groove-dev/gui/src/components/dashboard/intel-panel.jsx +22 -2
- package/node_modules/@groove-dev/gui/src/components/dashboard/token-chart.jsx +96 -116
- package/node_modules/@groove-dev/gui/src/stores/groove.js +4 -0
- package/package.json +1 -1
- package/packages/daemon/src/api.js +5 -1
- package/packages/daemon/src/process.js +19 -2
- package/packages/gui/dist/assets/{index-D4juRNU_.js → index-CuL9rJki.js} +125 -125
- package/packages/gui/dist/assets/index-DjxlUkR9.css +1 -0
- package/packages/gui/dist/index.html +2 -2
- package/packages/gui/src/components/dashboard/fleet-panel.jsx +16 -4
- package/packages/gui/src/components/dashboard/intel-panel.jsx +22 -2
- package/packages/gui/src/components/dashboard/token-chart.jsx +96 -116
- package/packages/gui/src/stores/groove.js +4 -0
- package/node_modules/@groove-dev/gui/dist/assets/index-AXS9JOJD.css +0 -1
- package/packages/gui/dist/assets/index-AXS9JOJD.css +0 -1
|
@@ -1562,8 +1562,9 @@ Keep responses concise. Help them think, don't lecture them about the system the
|
|
|
1562
1562
|
// Safety net: if planner forgot the QC agent, auto-add one
|
|
1563
1563
|
if (phase2.length === 0 && phase1.length >= 2) {
|
|
1564
1564
|
phase2 = [{
|
|
1565
|
+
name: 'qc-agent',
|
|
1565
1566
|
role: 'fullstack', phase: 2, scope: [],
|
|
1566
|
-
prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch. Output the localhost URL where the app can be accessed.',
|
|
1567
|
+
prompt: 'QC Senior Dev: All builder agents have completed. Audit their changes for correctness, fix any issues, run tests, build the project, commit all changes, and launch the dev server. Output the localhost URL where the app can be accessed.',
|
|
1567
1568
|
}];
|
|
1568
1569
|
}
|
|
1569
1570
|
|
|
@@ -1717,6 +1718,7 @@ Keep responses concise. Help them think, don't lecture them about the system the
|
|
|
1717
1718
|
outputTokens: tokenData.outputTokens || 0,
|
|
1718
1719
|
cacheHitRate: agentCacheTotal > 0 ? Math.round(((tokenData.cacheReadTokens || 0) / agentCacheTotal) * 1000) / 1000 : 0,
|
|
1719
1720
|
contextUsage: a.contextUsage || 0,
|
|
1721
|
+
rotationThreshold: daemon.adaptive.getThreshold(a.provider, a.role),
|
|
1720
1722
|
durationMs: a.durationMs || tokenData.totalDurationMs || 0,
|
|
1721
1723
|
turns: a.turns || tokenData.totalTurns || 0,
|
|
1722
1724
|
modelDistribution: tokenData.modelDistribution || {},
|
|
@@ -1772,6 +1774,8 @@ Keep responses concise. Help them think, don't lecture them about the system the
|
|
|
1772
1774
|
journalist: {
|
|
1773
1775
|
...journalistStatus,
|
|
1774
1776
|
lastSummary: lastSynthesis?.summary || '',
|
|
1777
|
+
projectMap: lastSynthesis?.projectMap || '',
|
|
1778
|
+
decisions: lastSynthesis?.decisions || '',
|
|
1775
1779
|
recentHistory: journalistHistory,
|
|
1776
1780
|
},
|
|
1777
1781
|
timeline: timelineData,
|
|
@@ -317,6 +317,9 @@ For normal file edits within your scope, proceed without review.
|
|
|
317
317
|
model: output.model,
|
|
318
318
|
estimatedCostUsd: output.estimatedCostUsd,
|
|
319
319
|
});
|
|
320
|
+
// Feed router cost log for tier tracking
|
|
321
|
+
const tier = this.daemon.classifier.classify(agent.id);
|
|
322
|
+
this.daemon.router.recordUsage(agent.id, output.model || current.model, output.tokensUsed, tier);
|
|
320
323
|
}
|
|
321
324
|
}
|
|
322
325
|
// Record session result data (cost, duration, turns)
|
|
@@ -445,8 +448,22 @@ For normal file edits within your scope, proceed without review.
|
|
|
445
448
|
role: agent.role,
|
|
446
449
|
});
|
|
447
450
|
this.daemon.audit.log('phase2.autoSpawn', { id: agent.id, name: agent.name, role: agent.role });
|
|
448
|
-
}).catch(() => {
|
|
449
|
-
|
|
451
|
+
}).catch((err) => {
|
|
452
|
+
console.error(`[Groove] Phase 2 spawn failed for ${config.role}: ${err.message}`);
|
|
453
|
+
this.daemon.broadcast({
|
|
454
|
+
type: 'phase2:failed',
|
|
455
|
+
role: config.role,
|
|
456
|
+
error: err.message,
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
} catch (err) {
|
|
460
|
+
console.error(`[Groove] Phase 2 config invalid for ${config.role}: ${err.message}`);
|
|
461
|
+
this.daemon.broadcast({
|
|
462
|
+
type: 'phase2:failed',
|
|
463
|
+
role: config.role,
|
|
464
|
+
error: err.message,
|
|
465
|
+
});
|
|
466
|
+
}
|
|
450
467
|
}
|
|
451
468
|
}
|
|
452
469
|
}
|