groove-dev 0.25.6 → 0.25.8
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/process.js +14 -0
- package/node_modules/@groove-dev/gui/dist/assets/{index-DlWsuLvF.js → index-DVW2lYyr.js} +1 -1
- package/node_modules/@groove-dev/gui/dist/index.html +1 -1
- package/node_modules/@groove-dev/gui/src/components/dashboard/fleet-panel.jsx +1 -1
- package/node_modules/@groove-dev/gui/src/components/dashboard/intel-panel.jsx +1 -1
- package/node_modules/@groove-dev/gui/src/components/dashboard/routing-chart.jsx +2 -2
- package/package.json +1 -1
- package/packages/daemon/src/process.js +14 -0
- package/packages/gui/dist/assets/{index-DlWsuLvF.js → index-DVW2lYyr.js} +1 -1
- package/packages/gui/dist/index.html +1 -1
- package/packages/gui/src/components/dashboard/fleet-panel.jsx +1 -1
- package/packages/gui/src/components/dashboard/intel-panel.jsx +1 -1
- package/packages/gui/src/components/dashboard/routing-chart.jsx +2 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
7
7
|
<title>Groove GUI</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-DVW2lYyr.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
|
|
@@ -73,7 +73,7 @@ const AgentRow = memo(function AgentRow({ agent, isRotating }) {
|
|
|
73
73
|
|
|
74
74
|
{/* Full-width context bar with threshold marker */}
|
|
75
75
|
<div className="flex items-center gap-2">
|
|
76
|
-
<div className="relative flex-1 h-[3px] bg-surface-
|
|
76
|
+
<div className="relative flex-1 h-[3px] bg-surface-4 rounded-full overflow-visible">
|
|
77
77
|
<div
|
|
78
78
|
className="absolute inset-y-0 left-0 rounded-full transition-all duration-700"
|
|
79
79
|
style={{
|
|
@@ -36,7 +36,7 @@ function SavingsBar({ label, value, total, color }) {
|
|
|
36
36
|
<span className="text-text-2">{label}</span>
|
|
37
37
|
<span className="text-text-1 tabular-nums">{fmtNum(value)}</span>
|
|
38
38
|
</div>
|
|
39
|
-
<div className="h-[2px] bg-surface-
|
|
39
|
+
<div className="h-[2px] bg-surface-4 rounded-full overflow-hidden">
|
|
40
40
|
<div
|
|
41
41
|
className="h-full rounded-full transition-all duration-500"
|
|
42
42
|
style={{ width: `${Math.min(pct, 100)}%`, background: color }}
|
|
@@ -34,7 +34,7 @@ const RoutingChart = memo(function RoutingChart({ routing, agentBreakdown }) {
|
|
|
34
34
|
<span className="text-2xs font-mono text-text-4 ml-auto tabular-nums">{fmtNum(total)} decisions</span>
|
|
35
35
|
</div>
|
|
36
36
|
{/* Stacked horizontal bar */}
|
|
37
|
-
<div className="h-[6px] bg-surface-
|
|
37
|
+
<div className="h-[6px] bg-surface-4 rounded-full overflow-hidden flex">
|
|
38
38
|
{tiers.map((tier) => {
|
|
39
39
|
const count = byTier[tier] || 0;
|
|
40
40
|
if (count === 0) return null;
|
|
@@ -86,7 +86,7 @@ const RoutingChart = memo(function RoutingChart({ routing, agentBreakdown }) {
|
|
|
86
86
|
<span className="text-2xs font-mono text-text-3 tabular-nums">{usage.agents} agent{usage.agents !== 1 ? 's' : ''}</span>
|
|
87
87
|
<span className="text-xs font-mono text-text-1 tabular-nums">{fmtNum(usage.tokens)}</span>
|
|
88
88
|
</div>
|
|
89
|
-
<div className="h-[3px] bg-surface-
|
|
89
|
+
<div className="h-[3px] bg-surface-4 rounded-full overflow-hidden">
|
|
90
90
|
<div
|
|
91
91
|
className="h-full rounded-full transition-all duration-500"
|
|
92
92
|
style={{ width: `${Math.max(barPct, 2)}%`, background: HEX.accent }}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.8",
|
|
4
4
|
"description": "Open-source agent orchestration layer — the AI company OS. MCP integrations (Slack, Gmail, Stripe, 15+), agent scheduling (cron), business roles (CMO, CFO, EA). GUI dashboard, multi-agent coordination, zero cold-start, infinite sessions. Works with Claude Code, Codex, Gemini CLI, Ollama.",
|
|
5
5
|
"license": "FSL-1.1-Apache-2.0",
|
|
6
6
|
"author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
|
|
@@ -250,6 +250,20 @@ export class ProcessManager {
|
|
|
250
250
|
spawnConfig.prompt = `You are a ${agent.role} agent. No task has been assigned yet. Introduce yourself briefly and ask the user what they would like you to work on. Stay focused — do not analyze the codebase until given a task.`;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
// Inject skill content into the prompt
|
|
254
|
+
if (config.skills?.length > 0 && this.daemon.skills) {
|
|
255
|
+
const skillSections = [];
|
|
256
|
+
for (const skillId of config.skills) {
|
|
257
|
+
const content = this.daemon.skills.getContent(skillId);
|
|
258
|
+
if (content) {
|
|
259
|
+
skillSections.push(`## Skill: ${skillId}\n\n${content}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
if (skillSections.length > 0) {
|
|
263
|
+
spawnConfig.prompt += '\n\n' + skillSections.join('\n\n');
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
253
267
|
// Apply PM review instructions for Auto permission mode
|
|
254
268
|
// Agents call the PM endpoint before risky operations for AI review
|
|
255
269
|
const permission = config.permission || 'full';
|