groove-dev 0.21.3 → 0.21.5
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/daemon/src/gateways/slack.js +10 -0
- package/node_modules/@groove-dev/gui/.groove/audit.log +10 -0
- package/node_modules/@groove-dev/gui/.groove/codebase-index.json +1 -1
- package/node_modules/@groove-dev/gui/.groove/credentials.json +8 -0
- package/node_modules/@groove-dev/gui/.groove/daemon.pid +1 -1
- package/node_modules/@groove-dev/gui/.groove/gateways/{slack-b7f12c.json → slack-e85bcb.json} +3 -3
- package/node_modules/@groove-dev/gui/.groove/timeline.json +240 -0
- package/node_modules/@groove-dev/gui/AGENTS_REGISTRY.md +1 -1
- package/package.json +1 -1
- package/packages/daemon/src/gateways/slack.js +10 -0
|
@@ -36,6 +36,8 @@ export class SlackGateway extends BaseGateway {
|
|
|
36
36
|
token: botToken,
|
|
37
37
|
appToken,
|
|
38
38
|
socketMode: true,
|
|
39
|
+
// Log all incoming events for debugging
|
|
40
|
+
logLevel: 'DEBUG',
|
|
39
41
|
});
|
|
40
42
|
|
|
41
43
|
// Global error handler — prevent crashes
|
|
@@ -43,9 +45,16 @@ export class SlackGateway extends BaseGateway {
|
|
|
43
45
|
console.log(`[Groove:Slack] App error: ${error.message}`);
|
|
44
46
|
});
|
|
45
47
|
|
|
48
|
+
// Catch-all: log every single event that comes through
|
|
49
|
+
this.app.use(async ({ event, body, next }) => {
|
|
50
|
+
console.log(`[Groove:Slack] Event received — type: ${body?.event?.type || body?.type || 'unknown'}, text: ${body?.event?.text?.slice(0, 50) || 'none'}`);
|
|
51
|
+
await next();
|
|
52
|
+
});
|
|
53
|
+
|
|
46
54
|
// Handle @mentions of the bot — primary way to interact
|
|
47
55
|
this.app.event('app_mention', async ({ event, say }) => {
|
|
48
56
|
try {
|
|
57
|
+
console.log(`[Groove:Slack] Mention received:`, JSON.stringify({ text: event.text, user: event.user, channel: event.channel }));
|
|
49
58
|
if (!event.text) return;
|
|
50
59
|
|
|
51
60
|
// Auto-capture channelId
|
|
@@ -78,6 +87,7 @@ export class SlackGateway extends BaseGateway {
|
|
|
78
87
|
// Handle direct messages to the bot
|
|
79
88
|
this.app.message(async ({ message, say }) => {
|
|
80
89
|
try {
|
|
90
|
+
console.log(`[Groove:Slack] Message received:`, JSON.stringify({ text: message.text, user: message.user, channel: message.channel, bot_id: message.bot_id, subtype: message.subtype }));
|
|
81
91
|
if (!message.text || message.bot_id || message.subtype) return;
|
|
82
92
|
|
|
83
93
|
// Auto-capture channelId from DMs or channels
|
|
@@ -144,3 +144,13 @@
|
|
|
144
144
|
{"t":"2026-04-09T21:10:08.674Z","action":"gateway.test","id":"slack-4cb274"}
|
|
145
145
|
{"t":"2026-04-09T21:14:23.876Z","action":"gateway.delete","id":"slack-4cb274"}
|
|
146
146
|
{"t":"2026-04-09T21:14:45.607Z","action":"gateway.create","id":"slack-b7f12c","type":"slack"}
|
|
147
|
+
{"t":"2026-04-09T21:24:22.887Z","action":"gateway.credential.set","id":"slack-b7f12c","key":"bot_token"}
|
|
148
|
+
{"t":"2026-04-09T21:24:22.892Z","action":"gateway.credential.set","id":"slack-b7f12c","key":"app_token"}
|
|
149
|
+
{"t":"2026-04-09T21:24:23.660Z","action":"gateway.connect","id":"slack-b7f12c","type":"slack"}
|
|
150
|
+
{"t":"2026-04-09T21:28:23.642Z","action":"gateway.connect","id":"slack-b7f12c","type":"slack"}
|
|
151
|
+
{"t":"2026-04-09T21:31:47.702Z","action":"gateway.delete","id":"slack-b7f12c"}
|
|
152
|
+
{"t":"2026-04-09T21:31:52.792Z","action":"gateway.create","id":"slack-e85bcb","type":"slack"}
|
|
153
|
+
{"t":"2026-04-09T21:32:09.990Z","action":"gateway.credential.set","id":"slack-e85bcb","key":"bot_token"}
|
|
154
|
+
{"t":"2026-04-09T21:32:09.994Z","action":"gateway.credential.set","id":"slack-e85bcb","key":"app_token"}
|
|
155
|
+
{"t":"2026-04-09T21:32:10.600Z","action":"gateway.connect","id":"slack-e85bcb","type":"slack"}
|
|
156
|
+
{"t":"2026-04-09T21:32:16.196Z","action":"gateway.test","id":"slack-e85bcb"}
|
|
@@ -2,5 +2,13 @@
|
|
|
2
2
|
"anthropic-api": {
|
|
3
3
|
"key": "bee44e798e85b64b04e5198bd44074f0:a0de1b79cca1a00842ca83193e383128:fb7b942b82313c940f802fd2c54f5945756ce6b65dae652b1534acd38d9cca19cdfaad8eee267f56e11f2c2ec6cd8db16c4a4139ddfe0777517437a3a4b5beb53e89210e31c1cfc1f964bba8b26ca75b93f62d36ea1dbc19d3910a91c8a976a2c4369b233a5d00f799e33ebd",
|
|
4
4
|
"setAt": "2026-04-08T02:20:01.107Z"
|
|
5
|
+
},
|
|
6
|
+
"gateway:slack-e85bcb:bot_token": {
|
|
7
|
+
"key": "a4e8ef1fc92f94b6e726a07d9233cdea:a4e2c82090064bdd261a050ba857663c:533618f2b31d80ed5da3df08540850fb395b4e8c766f7e7b4013e434d691fcac67876e36714054808d62b27ce5b8c278fa664774d92648f102a6",
|
|
8
|
+
"setAt": "2026-04-09T21:32:09.989Z"
|
|
9
|
+
},
|
|
10
|
+
"gateway:slack-e85bcb:app_token": {
|
|
11
|
+
"key": "88794ed049bc3bfabc37fd4a2d85b08c:06885f6a00a3629206d67260e9089a55:68237df57e98018895b363d58e8de155147980a59dbf97c27f16b3c99ff71ce0e68df8883c86bc0ce430efea22a41b92cabf317e3890379d4796cd4f29d119699bc2a4dd1df668f235e5293b4d6220f08e0b7945b308db9c7e81fe7d083f5b2c0ba7",
|
|
12
|
+
"setAt": "2026-04-09T21:32:09.994Z"
|
|
5
13
|
}
|
|
6
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
89789
|
package/node_modules/@groove-dev/gui/.groove/gateways/{slack-b7f12c.json → slack-e85bcb.json}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "slack-
|
|
2
|
+
"id": "slack-e85bcb",
|
|
3
3
|
"type": "slack",
|
|
4
4
|
"enabled": true,
|
|
5
|
-
"chatId":
|
|
5
|
+
"chatId": "C0ARYHCFC90",
|
|
6
6
|
"allowedUsers": [],
|
|
7
7
|
"notifications": {
|
|
8
8
|
"preset": "critical"
|
|
9
9
|
},
|
|
10
10
|
"commandPermission": "full",
|
|
11
|
-
"createdAt": "2026-04-09T21:
|
|
11
|
+
"createdAt": "2026-04-09T21:31:52.792Z"
|
|
12
12
|
}
|
|
@@ -10967,6 +10967,246 @@
|
|
|
10967
10967
|
"agents": 1,
|
|
10968
10968
|
"running": 0,
|
|
10969
10969
|
"cacheHitRate": 0.8360697165954649
|
|
10970
|
+
},
|
|
10971
|
+
{
|
|
10972
|
+
"t": 1775769614746,
|
|
10973
|
+
"tokens": 3005468,
|
|
10974
|
+
"costUsd": 0.42406725000000006,
|
|
10975
|
+
"agents": 1,
|
|
10976
|
+
"running": 0,
|
|
10977
|
+
"cacheHitRate": 0.8360697165954649
|
|
10978
|
+
},
|
|
10979
|
+
{
|
|
10980
|
+
"t": 1775769644747,
|
|
10981
|
+
"tokens": 3005468,
|
|
10982
|
+
"costUsd": 0.42406725000000006,
|
|
10983
|
+
"agents": 1,
|
|
10984
|
+
"running": 0,
|
|
10985
|
+
"cacheHitRate": 0.8360697165954649
|
|
10986
|
+
},
|
|
10987
|
+
{
|
|
10988
|
+
"t": 1775769674746,
|
|
10989
|
+
"tokens": 3005468,
|
|
10990
|
+
"costUsd": 0.42406725000000006,
|
|
10991
|
+
"agents": 1,
|
|
10992
|
+
"running": 0,
|
|
10993
|
+
"cacheHitRate": 0.8360697165954649
|
|
10994
|
+
},
|
|
10995
|
+
{
|
|
10996
|
+
"t": 1775769706568,
|
|
10997
|
+
"tokens": 3005468,
|
|
10998
|
+
"costUsd": 0.42406725000000006,
|
|
10999
|
+
"agents": 1,
|
|
11000
|
+
"running": 0,
|
|
11001
|
+
"cacheHitRate": 0.8360697165954649
|
|
11002
|
+
},
|
|
11003
|
+
{
|
|
11004
|
+
"t": 1775769736570,
|
|
11005
|
+
"tokens": 3005468,
|
|
11006
|
+
"costUsd": 0.42406725000000006,
|
|
11007
|
+
"agents": 1,
|
|
11008
|
+
"running": 0,
|
|
11009
|
+
"cacheHitRate": 0.8360697165954649
|
|
11010
|
+
},
|
|
11011
|
+
{
|
|
11012
|
+
"t": 1775769766568,
|
|
11013
|
+
"tokens": 3005468,
|
|
11014
|
+
"costUsd": 0.42406725000000006,
|
|
11015
|
+
"agents": 1,
|
|
11016
|
+
"running": 0,
|
|
11017
|
+
"cacheHitRate": 0.8360697165954649
|
|
11018
|
+
},
|
|
11019
|
+
{
|
|
11020
|
+
"t": 1775769796569,
|
|
11021
|
+
"tokens": 3005468,
|
|
11022
|
+
"costUsd": 0.42406725000000006,
|
|
11023
|
+
"agents": 1,
|
|
11024
|
+
"running": 0,
|
|
11025
|
+
"cacheHitRate": 0.8360697165954649
|
|
11026
|
+
},
|
|
11027
|
+
{
|
|
11028
|
+
"t": 1775769826568,
|
|
11029
|
+
"tokens": 3005468,
|
|
11030
|
+
"costUsd": 0.42406725000000006,
|
|
11031
|
+
"agents": 1,
|
|
11032
|
+
"running": 0,
|
|
11033
|
+
"cacheHitRate": 0.8360697165954649
|
|
11034
|
+
},
|
|
11035
|
+
{
|
|
11036
|
+
"t": 1775769856568,
|
|
11037
|
+
"tokens": 3005468,
|
|
11038
|
+
"costUsd": 0.42406725000000006,
|
|
11039
|
+
"agents": 1,
|
|
11040
|
+
"running": 0,
|
|
11041
|
+
"cacheHitRate": 0.8360697165954649
|
|
11042
|
+
},
|
|
11043
|
+
{
|
|
11044
|
+
"t": 1775769886568,
|
|
11045
|
+
"tokens": 3005468,
|
|
11046
|
+
"costUsd": 0.42406725000000006,
|
|
11047
|
+
"agents": 1,
|
|
11048
|
+
"running": 0,
|
|
11049
|
+
"cacheHitRate": 0.8360697165954649
|
|
11050
|
+
},
|
|
11051
|
+
{
|
|
11052
|
+
"t": 1775769916568,
|
|
11053
|
+
"tokens": 3005468,
|
|
11054
|
+
"costUsd": 0.42406725000000006,
|
|
11055
|
+
"agents": 1,
|
|
11056
|
+
"running": 0,
|
|
11057
|
+
"cacheHitRate": 0.8360697165954649
|
|
11058
|
+
},
|
|
11059
|
+
{
|
|
11060
|
+
"t": 1775769946568,
|
|
11061
|
+
"tokens": 3005468,
|
|
11062
|
+
"costUsd": 0.42406725000000006,
|
|
11063
|
+
"agents": 1,
|
|
11064
|
+
"running": 0,
|
|
11065
|
+
"cacheHitRate": 0.8360697165954649
|
|
11066
|
+
},
|
|
11067
|
+
{
|
|
11068
|
+
"t": 1775769976568,
|
|
11069
|
+
"tokens": 3005468,
|
|
11070
|
+
"costUsd": 0.42406725000000006,
|
|
11071
|
+
"agents": 1,
|
|
11072
|
+
"running": 0,
|
|
11073
|
+
"cacheHitRate": 0.8360697165954649
|
|
11074
|
+
},
|
|
11075
|
+
{
|
|
11076
|
+
"t": 1775770006568,
|
|
11077
|
+
"tokens": 3005468,
|
|
11078
|
+
"costUsd": 0.42406725000000006,
|
|
11079
|
+
"agents": 1,
|
|
11080
|
+
"running": 0,
|
|
11081
|
+
"cacheHitRate": 0.8360697165954649
|
|
11082
|
+
},
|
|
11083
|
+
{
|
|
11084
|
+
"t": 1775770036568,
|
|
11085
|
+
"tokens": 3005468,
|
|
11086
|
+
"costUsd": 0.42406725000000006,
|
|
11087
|
+
"agents": 1,
|
|
11088
|
+
"running": 0,
|
|
11089
|
+
"cacheHitRate": 0.8360697165954649
|
|
11090
|
+
},
|
|
11091
|
+
{
|
|
11092
|
+
"t": 1775770066566,
|
|
11093
|
+
"tokens": 3005468,
|
|
11094
|
+
"costUsd": 0.42406725000000006,
|
|
11095
|
+
"agents": 1,
|
|
11096
|
+
"running": 0,
|
|
11097
|
+
"cacheHitRate": 0.8360697165954649
|
|
11098
|
+
},
|
|
11099
|
+
{
|
|
11100
|
+
"t": 1775770102951,
|
|
11101
|
+
"tokens": 3005468,
|
|
11102
|
+
"costUsd": 0.42406725000000006,
|
|
11103
|
+
"agents": 1,
|
|
11104
|
+
"running": 0,
|
|
11105
|
+
"cacheHitRate": 0.8360697165954649
|
|
11106
|
+
},
|
|
11107
|
+
{
|
|
11108
|
+
"t": 1775770132953,
|
|
11109
|
+
"tokens": 3005468,
|
|
11110
|
+
"costUsd": 0.42406725000000006,
|
|
11111
|
+
"agents": 1,
|
|
11112
|
+
"running": 0,
|
|
11113
|
+
"cacheHitRate": 0.8360697165954649
|
|
11114
|
+
},
|
|
11115
|
+
{
|
|
11116
|
+
"t": 1775770162951,
|
|
11117
|
+
"tokens": 3005468,
|
|
11118
|
+
"costUsd": 0.42406725000000006,
|
|
11119
|
+
"agents": 1,
|
|
11120
|
+
"running": 0,
|
|
11121
|
+
"cacheHitRate": 0.8360697165954649
|
|
11122
|
+
},
|
|
11123
|
+
{
|
|
11124
|
+
"t": 1775770192951,
|
|
11125
|
+
"tokens": 3005468,
|
|
11126
|
+
"costUsd": 0.42406725000000006,
|
|
11127
|
+
"agents": 1,
|
|
11128
|
+
"running": 0,
|
|
11129
|
+
"cacheHitRate": 0.8360697165954649
|
|
11130
|
+
},
|
|
11131
|
+
{
|
|
11132
|
+
"t": 1775770222951,
|
|
11133
|
+
"tokens": 3005468,
|
|
11134
|
+
"costUsd": 0.42406725000000006,
|
|
11135
|
+
"agents": 1,
|
|
11136
|
+
"running": 0,
|
|
11137
|
+
"cacheHitRate": 0.8360697165954649
|
|
11138
|
+
},
|
|
11139
|
+
{
|
|
11140
|
+
"t": 1775770252950,
|
|
11141
|
+
"tokens": 3005468,
|
|
11142
|
+
"costUsd": 0.42406725000000006,
|
|
11143
|
+
"agents": 1,
|
|
11144
|
+
"running": 0,
|
|
11145
|
+
"cacheHitRate": 0.8360697165954649
|
|
11146
|
+
},
|
|
11147
|
+
{
|
|
11148
|
+
"t": 1775770282949,
|
|
11149
|
+
"tokens": 3005468,
|
|
11150
|
+
"costUsd": 0.42406725000000006,
|
|
11151
|
+
"agents": 1,
|
|
11152
|
+
"running": 0,
|
|
11153
|
+
"cacheHitRate": 0.8360697165954649
|
|
11154
|
+
},
|
|
11155
|
+
{
|
|
11156
|
+
"t": 1775770312950,
|
|
11157
|
+
"tokens": 3005468,
|
|
11158
|
+
"costUsd": 0.42406725000000006,
|
|
11159
|
+
"agents": 1,
|
|
11160
|
+
"running": 0,
|
|
11161
|
+
"cacheHitRate": 0.8360697165954649
|
|
11162
|
+
},
|
|
11163
|
+
{
|
|
11164
|
+
"t": 1775770342948,
|
|
11165
|
+
"tokens": 3005468,
|
|
11166
|
+
"costUsd": 0.42406725000000006,
|
|
11167
|
+
"agents": 1,
|
|
11168
|
+
"running": 0,
|
|
11169
|
+
"cacheHitRate": 0.8360697165954649
|
|
11170
|
+
},
|
|
11171
|
+
{
|
|
11172
|
+
"t": 1775770372948,
|
|
11173
|
+
"tokens": 3005468,
|
|
11174
|
+
"costUsd": 0.42406725000000006,
|
|
11175
|
+
"agents": 1,
|
|
11176
|
+
"running": 0,
|
|
11177
|
+
"cacheHitRate": 0.8360697165954649
|
|
11178
|
+
},
|
|
11179
|
+
{
|
|
11180
|
+
"t": 1775770402948,
|
|
11181
|
+
"tokens": 3005468,
|
|
11182
|
+
"costUsd": 0.42406725000000006,
|
|
11183
|
+
"agents": 1,
|
|
11184
|
+
"running": 0,
|
|
11185
|
+
"cacheHitRate": 0.8360697165954649
|
|
11186
|
+
},
|
|
11187
|
+
{
|
|
11188
|
+
"t": 1775770432946,
|
|
11189
|
+
"tokens": 3005468,
|
|
11190
|
+
"costUsd": 0.42406725000000006,
|
|
11191
|
+
"agents": 1,
|
|
11192
|
+
"running": 0,
|
|
11193
|
+
"cacheHitRate": 0.8360697165954649
|
|
11194
|
+
},
|
|
11195
|
+
{
|
|
11196
|
+
"t": 1775770462945,
|
|
11197
|
+
"tokens": 3005468,
|
|
11198
|
+
"costUsd": 0.42406725000000006,
|
|
11199
|
+
"agents": 1,
|
|
11200
|
+
"running": 0,
|
|
11201
|
+
"cacheHitRate": 0.8360697165954649
|
|
11202
|
+
},
|
|
11203
|
+
{
|
|
11204
|
+
"t": 1775770492947,
|
|
11205
|
+
"tokens": 3005468,
|
|
11206
|
+
"costUsd": 0.42406725000000006,
|
|
11207
|
+
"agents": 1,
|
|
11208
|
+
"running": 0,
|
|
11209
|
+
"cacheHitRate": 0.8360697165954649
|
|
10970
11210
|
}
|
|
10971
11211
|
],
|
|
10972
11212
|
"events": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.5",
|
|
4
4
|
"description": "Open-source agent orchestration layer — the AI company OS. 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.",
|
|
5
5
|
"license": "FSL-1.1-Apache-2.0",
|
|
6
6
|
"author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
|
|
@@ -36,6 +36,8 @@ export class SlackGateway extends BaseGateway {
|
|
|
36
36
|
token: botToken,
|
|
37
37
|
appToken,
|
|
38
38
|
socketMode: true,
|
|
39
|
+
// Log all incoming events for debugging
|
|
40
|
+
logLevel: 'DEBUG',
|
|
39
41
|
});
|
|
40
42
|
|
|
41
43
|
// Global error handler — prevent crashes
|
|
@@ -43,9 +45,16 @@ export class SlackGateway extends BaseGateway {
|
|
|
43
45
|
console.log(`[Groove:Slack] App error: ${error.message}`);
|
|
44
46
|
});
|
|
45
47
|
|
|
48
|
+
// Catch-all: log every single event that comes through
|
|
49
|
+
this.app.use(async ({ event, body, next }) => {
|
|
50
|
+
console.log(`[Groove:Slack] Event received — type: ${body?.event?.type || body?.type || 'unknown'}, text: ${body?.event?.text?.slice(0, 50) || 'none'}`);
|
|
51
|
+
await next();
|
|
52
|
+
});
|
|
53
|
+
|
|
46
54
|
// Handle @mentions of the bot — primary way to interact
|
|
47
55
|
this.app.event('app_mention', async ({ event, say }) => {
|
|
48
56
|
try {
|
|
57
|
+
console.log(`[Groove:Slack] Mention received:`, JSON.stringify({ text: event.text, user: event.user, channel: event.channel }));
|
|
49
58
|
if (!event.text) return;
|
|
50
59
|
|
|
51
60
|
// Auto-capture channelId
|
|
@@ -78,6 +87,7 @@ export class SlackGateway extends BaseGateway {
|
|
|
78
87
|
// Handle direct messages to the bot
|
|
79
88
|
this.app.message(async ({ message, say }) => {
|
|
80
89
|
try {
|
|
90
|
+
console.log(`[Groove:Slack] Message received:`, JSON.stringify({ text: message.text, user: message.user, channel: message.channel, bot_id: message.bot_id, subtype: message.subtype }));
|
|
81
91
|
if (!message.text || message.bot_id || message.subtype) return;
|
|
82
92
|
|
|
83
93
|
// Auto-capture channelId from DMs or channels
|