groove-dev 0.10.4 → 0.10.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/CLAUDE.md +7 -0
- package/node_modules/@groove-dev/cli/package.json +1 -1
- package/node_modules/@groove-dev/daemon/package.json +1 -1
- package/node_modules/@groove-dev/daemon/src/providers/codex.js +16 -3
- package/node_modules/@groove-dev/daemon/src/providers/gemini.js +3 -1
- package/node_modules/@groove-dev/gui/package.json +1 -1
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/daemon/package.json +1 -1
- package/packages/daemon/src/providers/codex.js +16 -3
- package/packages/daemon/src/providers/gemini.js +3 -1
- package/packages/gui/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -195,3 +195,10 @@ Fully functional multi-agent orchestration system. Tested end-to-end: planner
|
|
|
195
195
|
- Remote access (--host 0.0.0.0 + token auth)
|
|
196
196
|
- Semantic degradation detection
|
|
197
197
|
- Distribution: demo video, HN launch, Twitter content
|
|
198
|
+
|
|
199
|
+
<!-- GROOVE:START -->
|
|
200
|
+
## GROOVE Orchestration (auto-injected)
|
|
201
|
+
Active agents: 0
|
|
202
|
+
See AGENTS_REGISTRY.md for full agent state.
|
|
203
|
+
**Memory policy:** Ignore auto-memory. Do not read or write MEMORY.md. GROOVE manages all context.
|
|
204
|
+
<!-- GROOVE:END -->
|
|
@@ -37,8 +37,8 @@ export class CodexProvider extends Provider {
|
|
|
37
37
|
|
|
38
38
|
if (agent.model) args.push('--model', agent.model);
|
|
39
39
|
|
|
40
|
-
// Full autonomous operation — no approval prompts, no sandbox
|
|
41
|
-
args.push('
|
|
40
|
+
// Full autonomous operation — no approval prompts, no sandbox
|
|
41
|
+
args.push('--dangerously-bypass-approvals-and-sandbox');
|
|
42
42
|
|
|
43
43
|
if (agent.prompt) args.push(agent.prompt);
|
|
44
44
|
|
|
@@ -60,13 +60,26 @@ export class CodexProvider extends Provider {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
parseOutput(line) {
|
|
63
|
-
// Codex outputs plain text
|
|
63
|
+
// Codex outputs plain text and stderr logging
|
|
64
64
|
const trimmed = line.trim();
|
|
65
65
|
if (!trimmed) return null;
|
|
66
66
|
|
|
67
|
+
// Try to parse JSON (codex may output structured data in some modes)
|
|
68
|
+
try {
|
|
69
|
+
const data = JSON.parse(trimmed);
|
|
70
|
+
if (data.usage?.total_tokens) {
|
|
71
|
+
return { type: 'activity', data: trimmed, tokensUsed: data.usage.total_tokens };
|
|
72
|
+
}
|
|
73
|
+
} catch { /* plain text */ }
|
|
74
|
+
|
|
75
|
+
// Estimate tokens from text length (~4 chars per token)
|
|
76
|
+
// Not perfect but gives visibility into activity and burn rate
|
|
77
|
+
const estimatedTokens = Math.ceil(trimmed.length / 4);
|
|
78
|
+
|
|
67
79
|
return {
|
|
68
80
|
type: 'activity',
|
|
69
81
|
data: trimmed,
|
|
82
|
+
tokensUsed: estimatedTokens,
|
|
70
83
|
};
|
|
71
84
|
}
|
|
72
85
|
}
|
|
@@ -60,6 +60,8 @@ export class GeminiProvider extends Provider {
|
|
|
60
60
|
parseOutput(line) {
|
|
61
61
|
const trimmed = line.trim();
|
|
62
62
|
if (!trimmed) return null;
|
|
63
|
-
|
|
63
|
+
// Estimate tokens from output length (~4 chars per token)
|
|
64
|
+
const estimatedTokens = Math.ceil(trimmed.length / 4);
|
|
65
|
+
return { type: 'activity', data: trimmed, tokensUsed: estimatedTokens };
|
|
64
66
|
}
|
|
65
67
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "Open-source agent orchestration layer for AI coding tools. GUI dashboard, multi-agent coordination, zero cold-start (Journalist), infinite sessions (adaptive context rotation), AI Project Manager, Quick Launch. 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)",
|
|
@@ -37,8 +37,8 @@ export class CodexProvider extends Provider {
|
|
|
37
37
|
|
|
38
38
|
if (agent.model) args.push('--model', agent.model);
|
|
39
39
|
|
|
40
|
-
// Full autonomous operation — no approval prompts, no sandbox
|
|
41
|
-
args.push('
|
|
40
|
+
// Full autonomous operation — no approval prompts, no sandbox
|
|
41
|
+
args.push('--dangerously-bypass-approvals-and-sandbox');
|
|
42
42
|
|
|
43
43
|
if (agent.prompt) args.push(agent.prompt);
|
|
44
44
|
|
|
@@ -60,13 +60,26 @@ export class CodexProvider extends Provider {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
parseOutput(line) {
|
|
63
|
-
// Codex outputs plain text
|
|
63
|
+
// Codex outputs plain text and stderr logging
|
|
64
64
|
const trimmed = line.trim();
|
|
65
65
|
if (!trimmed) return null;
|
|
66
66
|
|
|
67
|
+
// Try to parse JSON (codex may output structured data in some modes)
|
|
68
|
+
try {
|
|
69
|
+
const data = JSON.parse(trimmed);
|
|
70
|
+
if (data.usage?.total_tokens) {
|
|
71
|
+
return { type: 'activity', data: trimmed, tokensUsed: data.usage.total_tokens };
|
|
72
|
+
}
|
|
73
|
+
} catch { /* plain text */ }
|
|
74
|
+
|
|
75
|
+
// Estimate tokens from text length (~4 chars per token)
|
|
76
|
+
// Not perfect but gives visibility into activity and burn rate
|
|
77
|
+
const estimatedTokens = Math.ceil(trimmed.length / 4);
|
|
78
|
+
|
|
67
79
|
return {
|
|
68
80
|
type: 'activity',
|
|
69
81
|
data: trimmed,
|
|
82
|
+
tokensUsed: estimatedTokens,
|
|
70
83
|
};
|
|
71
84
|
}
|
|
72
85
|
}
|
|
@@ -60,6 +60,8 @@ export class GeminiProvider extends Provider {
|
|
|
60
60
|
parseOutput(line) {
|
|
61
61
|
const trimmed = line.trim();
|
|
62
62
|
if (!trimmed) return null;
|
|
63
|
-
|
|
63
|
+
// Estimate tokens from output length (~4 chars per token)
|
|
64
|
+
const estimatedTokens = Math.ceil(trimmed.length / 4);
|
|
65
|
+
return { type: 'activity', data: trimmed, tokensUsed: estimatedTokens };
|
|
64
66
|
}
|
|
65
67
|
}
|