groove-dev 0.27.72 → 0.27.74
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/api.js +10 -7
- package/node_modules/@groove-dev/daemon/src/providers/claude-code.js +2 -1
- package/node_modules/@groove-dev/daemon/src/providers/codex.js +3 -1
- package/node_modules/@groove-dev/daemon/src/providers/gemini.js +2 -1
- package/node_modules/@groove-dev/daemon/src/providers/index.js +21 -8
- package/node_modules/@groove-dev/gui/dist/assets/{index-CHSXqfwy.js → index-DFP3r2yE.js} +167 -167
- package/node_modules/@groove-dev/gui/dist/assets/index-QR7lyguO.css +1 -0
- package/node_modules/@groove-dev/gui/dist/index.html +2 -2
- package/node_modules/@groove-dev/gui/package.json +1 -1
- package/node_modules/@groove-dev/gui/src/components/editor/editor-tabs.jsx +5 -5
- package/node_modules/@groove-dev/gui/src/components/settings/ProviderSetupWizard.jsx +7 -2
- package/node_modules/@groove-dev/gui/src/stores/groove.js +41 -52
- package/node_modules/@groove-dev/gui/src/views/editor.jsx +2 -9
- package/node_modules/@groove-dev/gui/src/views/settings.jsx +79 -9
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/daemon/package.json +1 -1
- package/packages/daemon/src/api.js +10 -7
- package/packages/daemon/src/providers/claude-code.js +2 -1
- package/packages/daemon/src/providers/codex.js +3 -1
- package/packages/daemon/src/providers/gemini.js +2 -1
- package/packages/daemon/src/providers/index.js +21 -8
- package/packages/gui/dist/assets/{index-CHSXqfwy.js → index-DFP3r2yE.js} +167 -167
- package/packages/gui/dist/assets/index-QR7lyguO.css +1 -0
- package/packages/gui/dist/index.html +2 -2
- package/packages/gui/package.json +1 -1
- package/packages/gui/src/components/editor/editor-tabs.jsx +5 -5
- package/packages/gui/src/components/settings/ProviderSetupWizard.jsx +7 -2
- package/packages/gui/src/stores/groove.js +41 -52
- package/packages/gui/src/views/editor.jsx +2 -9
- package/packages/gui/src/views/settings.jsx +79 -9
- package/node_modules/@groove-dev/gui/dist/assets/index-74E3YTkT.css +0 -1
- package/packages/gui/dist/assets/index-74E3YTkT.css +0 -1
- package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js +0 -68
- package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js +0 -1420
- package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js +0 -17
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js +0 -22
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js +0 -34
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js +0 -101
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js +0 -2534
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js +0 -789
- package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_language.js +0 -115
- package/packages/gui/node_modules/.vite/deps/@codemirror_language.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_search.js +0 -1136
- package/packages/gui/node_modules/.vite/deps/@codemirror_search.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_state.js +0 -63
- package/packages/gui/node_modules/.vite/deps/@codemirror_state.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js +0 -179
- package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@codemirror_view.js +0 -104
- package/packages/gui/node_modules/.vite/deps/@codemirror_view.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-context-menu.js +0 -1202
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-context-menu.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js +0 -365
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js +0 -757
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js +0 -219
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js +0 -562
- package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js +0 -46
- package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js +0 -121
- package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js +0 -9237
- package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/@xyflow_react.js +0 -9934
- package/packages/gui/node_modules/.vite/deps/@xyflow_react.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/_metadata.json +0 -259
- package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js +0 -5169
- package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js +0 -2000
- package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js +0 -1776
- package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-4JHIKDUF.js +0 -435
- package/packages/gui/node_modules/.vite/deps/chunk-4JHIKDUF.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js +0 -292
- package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js +0 -1004
- package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-FOR2E6IR.js +0 -105
- package/packages/gui/node_modules/.vite/deps/chunk-FOR2E6IR.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js +0 -23
- package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js +0 -1062
- package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-PGL3TTJA.js +0 -1115
- package/packages/gui/node_modules/.vite/deps/chunk-PGL3TTJA.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-PGMATLPZ.js +0 -2294
- package/packages/gui/node_modules/.vite/deps/chunk-PGMATLPZ.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js +0 -42
- package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-QX3PPTYO.js +0 -315
- package/packages/gui/node_modules/.vite/deps/chunk-QX3PPTYO.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js +0 -10985
- package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-SPKVQGZX.js +0 -701
- package/packages/gui/node_modules/.vite/deps/chunk-SPKVQGZX.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js +0 -280
- package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-YEUURE4V.js +0 -264
- package/packages/gui/node_modules/.vite/deps/chunk-YEUURE4V.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js +0 -3459
- package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/chunk-Z5NIFSCT.js +0 -1106
- package/packages/gui/node_modules/.vite/deps/chunk-Z5NIFSCT.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/clsx.js +0 -22
- package/packages/gui/node_modules/.vite/deps/clsx.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/framer-motion.js +0 -12732
- package/packages/gui/node_modules/.vite/deps/framer-motion.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/lucide-react.js +0 -29653
- package/packages/gui/node_modules/.vite/deps/lucide-react.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/package.json +0 -3
- package/packages/gui/node_modules/.vite/deps/react-dom.js +0 -6
- package/packages/gui/node_modules/.vite/deps/react-dom.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/react-dom_client.js +0 -20217
- package/packages/gui/node_modules/.vite/deps/react-dom_client.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/react.js +0 -5
- package/packages/gui/node_modules/.vite/deps/react.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js +0 -278
- package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js +0 -6
- package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/tailwind-merge.js +0 -3263
- package/packages/gui/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
- package/packages/gui/node_modules/.vite/deps/zustand.js +0 -56
- package/packages/gui/node_modules/.vite/deps/zustand.js.map +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.74",
|
|
4
4
|
"description": "Open-source agent orchestration layer — the AI company OS. Local model agent engine (GGUF/Ollama/llama-server), HuggingFace model browser, 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, any local model.",
|
|
5
5
|
"license": "FSL-1.1-Apache-2.0",
|
|
6
6
|
"author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
|
|
@@ -5658,20 +5658,23 @@ Keep responses concise. Help them think, don't lecture them about the system the
|
|
|
5658
5658
|
} catch { /* non-fatal */ }
|
|
5659
5659
|
};
|
|
5660
5660
|
|
|
5661
|
-
// Serve GUI static files (built GUI) — no-cache headers
|
|
5661
|
+
// Serve GUI static files (built GUI) — no-cache headers prevent stale bundles on SSH reconnect
|
|
5662
5662
|
const guiPath = process.env.GROOVE_GUI_PATH || resolve(__dirname, '../../gui/dist');
|
|
5663
|
-
app.use(express.static(guiPath, {
|
|
5664
|
-
|
|
5665
|
-
|
|
5663
|
+
app.use(express.static(guiPath, {
|
|
5664
|
+
etag: false,
|
|
5665
|
+
maxAge: 0,
|
|
5666
|
+
lastModified: false,
|
|
5667
|
+
setHeaders: (res) => {
|
|
5666
5668
|
res.set('Cache-Control', 'no-store, no-cache, must-revalidate');
|
|
5667
5669
|
res.set('Pragma', 'no-cache');
|
|
5668
|
-
}
|
|
5669
|
-
|
|
5670
|
-
});
|
|
5670
|
+
},
|
|
5671
|
+
}));
|
|
5671
5672
|
|
|
5672
5673
|
// SPA fallback
|
|
5673
5674
|
app.get('*', (req, res, next) => {
|
|
5674
5675
|
if (req.path.startsWith('/api/')) return next();
|
|
5676
|
+
res.set('Cache-Control', 'no-store, no-cache, must-revalidate');
|
|
5677
|
+
res.set('Pragma', 'no-cache');
|
|
5675
5678
|
res.sendFile(resolve(guiPath, 'index.html'), (err) => {
|
|
5676
5679
|
if (err) res.status(404).json({ error: 'GUI not built yet. Run: npm run build:gui' });
|
|
5677
5680
|
});
|
|
@@ -46,7 +46,8 @@ export class ClaudeCodeProvider extends Provider {
|
|
|
46
46
|
|
|
47
47
|
static isInstalled() {
|
|
48
48
|
try {
|
|
49
|
-
|
|
49
|
+
const cmd = process.platform === 'win32' ? 'where claude' : 'which claude';
|
|
50
|
+
execSync(cmd, { stdio: 'ignore' });
|
|
50
51
|
return true;
|
|
51
52
|
} catch {
|
|
52
53
|
return false;
|
|
@@ -36,6 +36,7 @@ export class CodexProvider extends Provider {
|
|
|
36
36
|
// Auth hint — Codex uses its own auth system, not just env vars
|
|
37
37
|
static authHint = 'Codex requires `codex login` — run: echo "YOUR_KEY" | codex login --with-api-key';
|
|
38
38
|
static models = [
|
|
39
|
+
{ id: 'gpt-5.5', name: 'GPT-5.5', tier: 'heavy', maxContext: 200000, pricing: { input: 0.03, output: 0.12 } },
|
|
39
40
|
{ id: 'gpt-5.4-pro', name: 'GPT-5.4 Pro', tier: 'heavy', maxContext: 200000, pricing: { input: 0.015, output: 0.06 } },
|
|
40
41
|
{ id: 'gpt-5.4', name: 'GPT-5.4', tier: 'heavy', maxContext: 200000, pricing: { input: 0.005, output: 0.02 } },
|
|
41
42
|
{ id: 'gpt-5.4-mini', name: 'GPT-5.4 Mini', tier: 'medium', maxContext: 200000, pricing: { input: 0.001, output: 0.004 } },
|
|
@@ -46,7 +47,8 @@ export class CodexProvider extends Provider {
|
|
|
46
47
|
|
|
47
48
|
static isInstalled() {
|
|
48
49
|
try {
|
|
49
|
-
|
|
50
|
+
const cmd = process.platform === 'win32' ? 'where codex' : 'which codex';
|
|
51
|
+
execSync(cmd, { stdio: 'ignore' });
|
|
50
52
|
return true;
|
|
51
53
|
} catch {
|
|
52
54
|
return false;
|
|
@@ -40,7 +40,8 @@ export class GeminiProvider extends Provider {
|
|
|
40
40
|
|
|
41
41
|
static isInstalled() {
|
|
42
42
|
try {
|
|
43
|
-
|
|
43
|
+
const cmd = process.platform === 'win32' ? 'where gemini' : 'which gemini';
|
|
44
|
+
execSync(cmd, { stdio: 'ignore' });
|
|
44
45
|
return true;
|
|
45
46
|
} catch {
|
|
46
47
|
return false;
|
|
@@ -37,17 +37,30 @@ export function getProviderPath(id) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
(function augmentPath() {
|
|
40
|
-
const
|
|
40
|
+
const isWin = process.platform === 'win32';
|
|
41
|
+
const extra = isWin ? [] : ['/usr/local/bin', '/opt/homebrew/bin'];
|
|
41
42
|
try {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
43
|
+
const suppressErr = isWin ? '2>NUL' : '2>/dev/null';
|
|
44
|
+
const npmPrefix = execSync(`npm config get prefix ${suppressErr}`, { encoding: 'utf8', timeout: 5000 }).trim();
|
|
45
|
+
if (npmPrefix) {
|
|
46
|
+
extra.push(isWin ? npmPrefix : `${npmPrefix}/bin`);
|
|
47
|
+
}
|
|
45
48
|
} catch { /* npm itself may not be in PATH yet */ }
|
|
46
|
-
const home = process.env.HOME || '';
|
|
47
|
-
if (home)
|
|
49
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
50
|
+
if (home) {
|
|
51
|
+
if (isWin) {
|
|
52
|
+
extra.push(`${home}\\AppData\\Roaming\\npm`);
|
|
53
|
+
} else {
|
|
54
|
+
extra.push(`${home}/.npm-global/bin`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (isWin) {
|
|
58
|
+
const pf = process.env.ProgramFiles || 'C:\\Program Files';
|
|
59
|
+
extra.push(`${pf}\\nodejs`);
|
|
60
|
+
}
|
|
48
61
|
const cur = process.env.PATH || '';
|
|
49
|
-
const toAdd = extra.filter(p => p && !cur.split(
|
|
50
|
-
if (toAdd.length) process.env.PATH = [...toAdd, cur].join(
|
|
62
|
+
const toAdd = extra.filter(p => p && !cur.split(pathDelimiter).includes(p));
|
|
63
|
+
if (toAdd.length) process.env.PATH = [...toAdd, cur].join(pathDelimiter);
|
|
51
64
|
})();
|
|
52
65
|
|
|
53
66
|
const providers = {
|