groove-dev 0.10.1 → 0.10.3
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/cli/package.json +1 -1
- package/node_modules/@groove-dev/daemon/package.json +1 -1
- package/node_modules/@groove-dev/daemon/src/process.js +9 -0
- package/node_modules/@groove-dev/daemon/src/providers/codex.js +5 -2
- package/node_modules/@groove-dev/daemon/src/providers/gemini.js +3 -0
- 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/process.js +9 -0
- package/packages/daemon/src/providers/codex.js +5 -2
- package/packages/daemon/src/providers/gemini.js +3 -0
- package/packages/gui/package.json +1 -1
|
@@ -165,6 +165,15 @@ For normal file edits within your scope, proceed without review.
|
|
|
165
165
|
const spawnLine = `[${new Date().toISOString()}] GROOVE spawning: ${command} [${safeArgs.length} args]\n`;
|
|
166
166
|
logStream.write(spawnLine);
|
|
167
167
|
|
|
168
|
+
// Inject API key from credential store if the provider needs one
|
|
169
|
+
const providerMeta = getProvider(agent.provider);
|
|
170
|
+
if (providerMeta?.constructor?.envKey) {
|
|
171
|
+
const storedKey = this.daemon.credentials.getKey(agent.provider);
|
|
172
|
+
if (storedKey) {
|
|
173
|
+
env[providerMeta.constructor.envKey] = storedKey;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
168
177
|
// Spawn the process
|
|
169
178
|
const proc = cpSpawn(command, args, {
|
|
170
179
|
cwd: agent.workingDir || this.daemon.projectDir,
|
|
@@ -11,6 +11,9 @@ export class CodexProvider extends Provider {
|
|
|
11
11
|
static authType = 'api-key';
|
|
12
12
|
static envKey = 'OPENAI_API_KEY';
|
|
13
13
|
static models = [
|
|
14
|
+
{ id: 'gpt-5.4', name: 'GPT-5.4', tier: 'heavy' },
|
|
15
|
+
{ id: 'gpt-5.4-mini', name: 'GPT-5.4 Mini', tier: 'medium' },
|
|
16
|
+
{ id: 'gpt-5.4-nano', name: 'GPT-5.4 Nano', tier: 'light' },
|
|
14
17
|
{ id: 'o3', name: 'o3', tier: 'heavy' },
|
|
15
18
|
{ id: 'o4-mini', name: 'o4-mini', tier: 'medium' },
|
|
16
19
|
];
|
|
@@ -33,8 +36,8 @@ export class CodexProvider extends Provider {
|
|
|
33
36
|
|
|
34
37
|
if (agent.model) args.push('--model', agent.model);
|
|
35
38
|
|
|
36
|
-
//
|
|
37
|
-
args.push('
|
|
39
|
+
// Full autonomous operation — no approval prompts, no sandbox restrictions
|
|
40
|
+
args.push('-a', 'never', '--sandbox', 'danger-full-access');
|
|
38
41
|
|
|
39
42
|
if (agent.prompt) args.push(agent.prompt);
|
|
40
43
|
|
|
@@ -11,6 +11,9 @@ export class GeminiProvider extends Provider {
|
|
|
11
11
|
static authType = 'api-key';
|
|
12
12
|
static envKey = 'GEMINI_API_KEY';
|
|
13
13
|
static models = [
|
|
14
|
+
{ id: 'gemini-3.0-pro', name: 'Gemini 3.0 Pro', tier: 'heavy' },
|
|
15
|
+
{ id: 'gemini-3.0-flash', name: 'Gemini 3.0 Flash', tier: 'medium' },
|
|
16
|
+
{ id: 'gemini-3.0-flash-lite', name: 'Gemini 3.0 Flash Lite', tier: 'light' },
|
|
14
17
|
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', tier: 'heavy' },
|
|
15
18
|
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', tier: 'medium' },
|
|
16
19
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
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)",
|
|
@@ -165,6 +165,15 @@ For normal file edits within your scope, proceed without review.
|
|
|
165
165
|
const spawnLine = `[${new Date().toISOString()}] GROOVE spawning: ${command} [${safeArgs.length} args]\n`;
|
|
166
166
|
logStream.write(spawnLine);
|
|
167
167
|
|
|
168
|
+
// Inject API key from credential store if the provider needs one
|
|
169
|
+
const providerMeta = getProvider(agent.provider);
|
|
170
|
+
if (providerMeta?.constructor?.envKey) {
|
|
171
|
+
const storedKey = this.daemon.credentials.getKey(agent.provider);
|
|
172
|
+
if (storedKey) {
|
|
173
|
+
env[providerMeta.constructor.envKey] = storedKey;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
168
177
|
// Spawn the process
|
|
169
178
|
const proc = cpSpawn(command, args, {
|
|
170
179
|
cwd: agent.workingDir || this.daemon.projectDir,
|
|
@@ -11,6 +11,9 @@ export class CodexProvider extends Provider {
|
|
|
11
11
|
static authType = 'api-key';
|
|
12
12
|
static envKey = 'OPENAI_API_KEY';
|
|
13
13
|
static models = [
|
|
14
|
+
{ id: 'gpt-5.4', name: 'GPT-5.4', tier: 'heavy' },
|
|
15
|
+
{ id: 'gpt-5.4-mini', name: 'GPT-5.4 Mini', tier: 'medium' },
|
|
16
|
+
{ id: 'gpt-5.4-nano', name: 'GPT-5.4 Nano', tier: 'light' },
|
|
14
17
|
{ id: 'o3', name: 'o3', tier: 'heavy' },
|
|
15
18
|
{ id: 'o4-mini', name: 'o4-mini', tier: 'medium' },
|
|
16
19
|
];
|
|
@@ -33,8 +36,8 @@ export class CodexProvider extends Provider {
|
|
|
33
36
|
|
|
34
37
|
if (agent.model) args.push('--model', agent.model);
|
|
35
38
|
|
|
36
|
-
//
|
|
37
|
-
args.push('
|
|
39
|
+
// Full autonomous operation — no approval prompts, no sandbox restrictions
|
|
40
|
+
args.push('-a', 'never', '--sandbox', 'danger-full-access');
|
|
38
41
|
|
|
39
42
|
if (agent.prompt) args.push(agent.prompt);
|
|
40
43
|
|
|
@@ -11,6 +11,9 @@ export class GeminiProvider extends Provider {
|
|
|
11
11
|
static authType = 'api-key';
|
|
12
12
|
static envKey = 'GEMINI_API_KEY';
|
|
13
13
|
static models = [
|
|
14
|
+
{ id: 'gemini-3.0-pro', name: 'Gemini 3.0 Pro', tier: 'heavy' },
|
|
15
|
+
{ id: 'gemini-3.0-flash', name: 'Gemini 3.0 Flash', tier: 'medium' },
|
|
16
|
+
{ id: 'gemini-3.0-flash-lite', name: 'Gemini 3.0 Flash Lite', tier: 'light' },
|
|
14
17
|
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', tier: 'heavy' },
|
|
15
18
|
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', tier: 'medium' },
|
|
16
19
|
];
|