slashvibe-mcp 0.5.22 → 0.5.24
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/index.js +3 -1
- package/package.json +1 -1
- package/store/api.js +10 -0
- package/tools/status.js +21 -2
package/index.js
CHANGED
|
@@ -217,7 +217,9 @@ async function getPresenceFooter() {
|
|
|
217
217
|
// when it will actually resolve. See ROOM-PRESENCE-BRIDGE.md.
|
|
218
218
|
const liveRooms = others.filter(u => u.isLive && u.broadcastRoom);
|
|
219
219
|
if (liveRooms.length > 0) {
|
|
220
|
-
|
|
220
|
+
// Confirmed room-join format (coltrane lane, Jul 9): /room/<slug> serves
|
|
221
|
+
// 200; env override kept for other room backends.
|
|
222
|
+
const base = process.env.VIBE_ROOM_URL_BASE || 'https://vibeconferencing.com/room/';
|
|
221
223
|
footer += '\n';
|
|
222
224
|
footer += liveRooms.slice(0, 3).map(u => {
|
|
223
225
|
const where = `🔴 @${u.handle} live in the ${u.broadcastRoom}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slashvibe-mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.24",
|
|
4
4
|
"mcpName": "io.github.vibecodinginc/vibe",
|
|
5
5
|
"description": "Social layer for Claude Code - DMs, presence, Matrix multiplayer rooms, and connection between AI-assisted developers",
|
|
6
6
|
"main": "index.js",
|
package/store/api.js
CHANGED
|
@@ -1214,7 +1214,17 @@ async function sendArtifactCard(to, card) {
|
|
|
1214
1214
|
}
|
|
1215
1215
|
}
|
|
1216
1216
|
|
|
1217
|
+
// The "slower" primitive — set your one notification pace (normal|slower|quiet).
|
|
1218
|
+
async function setNotificationPace(pace) {
|
|
1219
|
+
try {
|
|
1220
|
+
return await request('POST', '/api/settings/notifications', { action: 'set_pace', pace });
|
|
1221
|
+
} catch (e) {
|
|
1222
|
+
return { success: false, error: e.message };
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1217
1226
|
module.exports = {
|
|
1227
|
+
setNotificationPace,
|
|
1218
1228
|
// Session
|
|
1219
1229
|
registerSession,
|
|
1220
1230
|
setSessionId,
|
package/tools/status.js
CHANGED
|
@@ -29,13 +29,13 @@ const SPECIAL_MODES = ['guided', 'freeform'];
|
|
|
29
29
|
|
|
30
30
|
const definition = {
|
|
31
31
|
name: 'vibe_status',
|
|
32
|
-
description: 'Set your mood/status.
|
|
32
|
+
description: 'Set your mood/status, or your notification pace. Mood: shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear. Pace: slower (only ping when away), quiet (no pushes), normal.',
|
|
33
33
|
inputSchema: {
|
|
34
34
|
type: 'object',
|
|
35
35
|
properties: {
|
|
36
36
|
mood: {
|
|
37
37
|
type: 'string',
|
|
38
|
-
description: '
|
|
38
|
+
description: 'A mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear) OR a notification pace (slower, quiet, normal)'
|
|
39
39
|
},
|
|
40
40
|
message: {
|
|
41
41
|
type: 'string',
|
|
@@ -57,6 +57,25 @@ async function handler(args) {
|
|
|
57
57
|
const moodKey = mood.toLowerCase().replace(/[^a-z]/g, '');
|
|
58
58
|
const handle = config.getHandle();
|
|
59
59
|
|
|
60
|
+
// The "slower" primitive (ratified in the Living Room): one notification pace
|
|
61
|
+
// across every surface, not a per-channel mute. `slower` = only ping me when
|
|
62
|
+
// I've stepped away; `quiet` = hold all pushes (badge still updates); `normal`
|
|
63
|
+
// = default. A first-class human command.
|
|
64
|
+
const PACE = { slower: 'slower', quiet: 'quiet', normal: 'normal', faster: 'normal' };
|
|
65
|
+
if (PACE[moodKey]) {
|
|
66
|
+
const pace = PACE[moodKey];
|
|
67
|
+
const result = await store.setNotificationPace(pace);
|
|
68
|
+
if (result?.success === false) {
|
|
69
|
+
return { display: `Couldn't set pace: ${result.error || 'unknown error'}` };
|
|
70
|
+
}
|
|
71
|
+
const blurb = {
|
|
72
|
+
slower: '🐢 **slower** — you\'ll only get pushed when you\'ve stepped away. The board still shows everything, quietly.',
|
|
73
|
+
quiet: '🤫 **quiet** — no pushes; unread still counts silently. Say `vibe status normal` to turn them back on.',
|
|
74
|
+
normal: '🔔 **normal** — notifications back to default.',
|
|
75
|
+
}[pace];
|
|
76
|
+
return { display: blurb };
|
|
77
|
+
}
|
|
78
|
+
|
|
60
79
|
// Handle special modes (guided/freeform)
|
|
61
80
|
if (moodKey === 'guided') {
|
|
62
81
|
config.setGuidedMode(true);
|