groove-dev 0.26.30 → 0.26.31
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.
|
@@ -51,7 +51,7 @@ export class Registry extends EventEmitter {
|
|
|
51
51
|
if (!agent) return null;
|
|
52
52
|
|
|
53
53
|
// Only allow known fields to prevent prototype pollution
|
|
54
|
-
const SAFE_FIELDS = ['status', 'pid', 'tokensUsed', 'contextUsage', 'lastActivity', 'model', 'provider', 'name', 'routingMode', 'routingReason', 'sessionId', 'skills', 'integrations', 'workingDir', 'effort', 'costUsd', 'durationMs', 'turns', 'inputTokens', 'outputTokens', 'teamId'];
|
|
54
|
+
const SAFE_FIELDS = ['status', 'pid', 'tokensUsed', 'contextUsage', 'lastActivity', 'model', 'provider', 'name', 'routingMode', 'routingReason', 'sessionId', 'skills', 'integrations', 'workingDir', 'effort', 'costUsd', 'durationMs', 'turns', 'inputTokens', 'outputTokens', 'teamId', 'permission', 'scope'];
|
|
55
55
|
for (const key of Object.keys(updates)) {
|
|
56
56
|
if (SAFE_FIELDS.includes(key)) {
|
|
57
57
|
agent[key] = updates[key];
|
|
@@ -12,22 +12,28 @@ const MODES = {
|
|
|
12
12
|
AUTO_FLOOR: 'auto-floor', // Auto, but never below a floor model
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
// Role-based tier hints for new agents with no classifier data yet
|
|
15
|
+
// Role-based tier hints for new agents with no classifier data yet.
|
|
16
|
+
// Default everything to heavy — intelligence out of the box. Users can
|
|
17
|
+
// downgrade to auto/medium if they want to optimize cost. A failed task
|
|
18
|
+
// at a cheaper model costs more than a successful one at the best model.
|
|
16
19
|
const ROLE_HINTS = {
|
|
17
|
-
planner: 'heavy',
|
|
18
|
-
fullstack: 'heavy',
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
testing: '
|
|
25
|
-
devops: '
|
|
26
|
-
database: '
|
|
27
|
-
analyst: '
|
|
28
|
-
docs: '
|
|
29
|
-
support: '
|
|
30
|
-
ea: '
|
|
20
|
+
planner: 'heavy',
|
|
21
|
+
fullstack: 'heavy',
|
|
22
|
+
frontend: 'heavy',
|
|
23
|
+
backend: 'heavy',
|
|
24
|
+
slides: 'heavy',
|
|
25
|
+
creative: 'heavy',
|
|
26
|
+
security: 'heavy',
|
|
27
|
+
testing: 'heavy',
|
|
28
|
+
devops: 'heavy',
|
|
29
|
+
database: 'heavy',
|
|
30
|
+
analyst: 'heavy',
|
|
31
|
+
docs: 'heavy',
|
|
32
|
+
support: 'heavy',
|
|
33
|
+
ea: 'heavy',
|
|
34
|
+
cmo: 'heavy',
|
|
35
|
+
cfo: 'heavy',
|
|
36
|
+
home: 'heavy',
|
|
31
37
|
};
|
|
32
38
|
|
|
33
39
|
export class ModelRouter {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.31",
|
|
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)",
|
|
@@ -51,7 +51,7 @@ export class Registry extends EventEmitter {
|
|
|
51
51
|
if (!agent) return null;
|
|
52
52
|
|
|
53
53
|
// Only allow known fields to prevent prototype pollution
|
|
54
|
-
const SAFE_FIELDS = ['status', 'pid', 'tokensUsed', 'contextUsage', 'lastActivity', 'model', 'provider', 'name', 'routingMode', 'routingReason', 'sessionId', 'skills', 'integrations', 'workingDir', 'effort', 'costUsd', 'durationMs', 'turns', 'inputTokens', 'outputTokens', 'teamId'];
|
|
54
|
+
const SAFE_FIELDS = ['status', 'pid', 'tokensUsed', 'contextUsage', 'lastActivity', 'model', 'provider', 'name', 'routingMode', 'routingReason', 'sessionId', 'skills', 'integrations', 'workingDir', 'effort', 'costUsd', 'durationMs', 'turns', 'inputTokens', 'outputTokens', 'teamId', 'permission', 'scope'];
|
|
55
55
|
for (const key of Object.keys(updates)) {
|
|
56
56
|
if (SAFE_FIELDS.includes(key)) {
|
|
57
57
|
agent[key] = updates[key];
|
|
@@ -12,22 +12,28 @@ const MODES = {
|
|
|
12
12
|
AUTO_FLOOR: 'auto-floor', // Auto, but never below a floor model
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
// Role-based tier hints for new agents with no classifier data yet
|
|
15
|
+
// Role-based tier hints for new agents with no classifier data yet.
|
|
16
|
+
// Default everything to heavy — intelligence out of the box. Users can
|
|
17
|
+
// downgrade to auto/medium if they want to optimize cost. A failed task
|
|
18
|
+
// at a cheaper model costs more than a successful one at the best model.
|
|
16
19
|
const ROLE_HINTS = {
|
|
17
|
-
planner: 'heavy',
|
|
18
|
-
fullstack: 'heavy',
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
testing: '
|
|
25
|
-
devops: '
|
|
26
|
-
database: '
|
|
27
|
-
analyst: '
|
|
28
|
-
docs: '
|
|
29
|
-
support: '
|
|
30
|
-
ea: '
|
|
20
|
+
planner: 'heavy',
|
|
21
|
+
fullstack: 'heavy',
|
|
22
|
+
frontend: 'heavy',
|
|
23
|
+
backend: 'heavy',
|
|
24
|
+
slides: 'heavy',
|
|
25
|
+
creative: 'heavy',
|
|
26
|
+
security: 'heavy',
|
|
27
|
+
testing: 'heavy',
|
|
28
|
+
devops: 'heavy',
|
|
29
|
+
database: 'heavy',
|
|
30
|
+
analyst: 'heavy',
|
|
31
|
+
docs: 'heavy',
|
|
32
|
+
support: 'heavy',
|
|
33
|
+
ea: 'heavy',
|
|
34
|
+
cmo: 'heavy',
|
|
35
|
+
cfo: 'heavy',
|
|
36
|
+
home: 'heavy',
|
|
31
37
|
};
|
|
32
38
|
|
|
33
39
|
export class ModelRouter {
|