groove-dev 0.10.1 → 0.10.2

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/cli",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE CLI — manage AI coding agents from your terminal",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/daemon",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE daemon — agent orchestration engine",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -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
  ];
@@ -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
  ];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/gui",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE GUI — visual agent control plane",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groove-dev",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
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)",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/cli",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE CLI — manage AI coding agents from your terminal",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/daemon",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE daemon — agent orchestration engine",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -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
  ];
@@ -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
  ];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/gui",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "GROOVE GUI — visual agent control plane",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",