slashvibe-mcp 0.2.6 → 0.2.8

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.
Files changed (90) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -41
  3. package/config.js +2 -5
  4. package/index.js +51 -60
  5. package/intelligence/index.js +2 -9
  6. package/package.json +4 -11
  7. package/store/api.js +174 -127
  8. package/store/profiles.js +12 -160
  9. package/store/sqlite.js +347 -0
  10. package/tools/_actions.js +17 -230
  11. package/tools/_discovery.js +26 -119
  12. package/tools/_shared/index.js +0 -64
  13. package/tools/artifact-create.js +3 -14
  14. package/tools/discover.js +34 -314
  15. package/tools/dm.js +5 -22
  16. package/tools/feed.js +3 -22
  17. package/tools/help.js +2 -2
  18. package/tools/idea.js +1 -8
  19. package/tools/inbox.js +105 -248
  20. package/tools/init.js +9 -52
  21. package/tools/open.js +5 -42
  22. package/tools/request.js +2 -16
  23. package/tools/settings.js +2 -90
  24. package/tools/ship.js +2 -8
  25. package/tools/start.js +3 -96
  26. package/tools/status.js +6 -53
  27. package/tools/suggest-tags.js +8 -6
  28. package/tools/update.js +1 -1
  29. package/analytics.js +0 -107
  30. package/auth-store.js +0 -148
  31. package/auto-update.js +0 -125
  32. package/bridges/bridge-monitor.js +0 -388
  33. package/bridges/discord-bot.js +0 -431
  34. package/bridges/farcaster.js +0 -299
  35. package/bridges/telegram.js +0 -261
  36. package/bridges/webhook-health.js +0 -420
  37. package/bridges/webhook-server.js +0 -437
  38. package/bridges/whatsapp.js +0 -441
  39. package/bridges/x-webhook.js +0 -423
  40. package/games/arcade.js +0 -406
  41. package/games/chess.js +0 -451
  42. package/games/colorguess.js +0 -343
  43. package/games/crossword-words.js +0 -171
  44. package/games/crossword.js +0 -461
  45. package/games/drawing.js +0 -347
  46. package/games/gameroulette.js +0 -300
  47. package/games/gamerouter.js +0 -336
  48. package/games/gamestatus.js +0 -337
  49. package/games/guessnumber.js +0 -209
  50. package/games/hangman.js +0 -279
  51. package/games/memory.js +0 -338
  52. package/games/multiplayer-tictactoe.js +0 -389
  53. package/games/pixelart.js +0 -399
  54. package/games/quickduel.js +0 -354
  55. package/games/riddle.js +0 -371
  56. package/games/rockpaperscissors.js +0 -291
  57. package/games/snake.js +0 -406
  58. package/games/storybuilder.js +0 -343
  59. package/games/tictactoe.js +0 -345
  60. package/games/twentyquestions.js +0 -286
  61. package/games/twotruths.js +0 -207
  62. package/games/werewolf.js +0 -508
  63. package/games/wordassociation.js +0 -247
  64. package/games/wordchain.js +0 -135
  65. package/intelligence/interests.js +0 -369
  66. package/notification-emitter.js +0 -77
  67. package/tools/_work-context.js +0 -338
  68. package/tools/_work-context.manual-test.js +0 -199
  69. package/tools/_work-context.test.js +0 -260
  70. package/tools/analytics.js +0 -191
  71. package/tools/approve.js +0 -197
  72. package/tools/artifacts-price.js +0 -107
  73. package/tools/broadcast.js +0 -286
  74. package/tools/chat.js +0 -202
  75. package/tools/earnings.js +0 -126
  76. package/tools/follow.js +0 -224
  77. package/tools/friends.js +0 -192
  78. package/tools/gig-browse.js +0 -206
  79. package/tools/gig-complete.js +0 -139
  80. package/tools/plan.js +0 -225
  81. package/tools/proof-of-work.js +0 -139
  82. package/tools/schedule.js +0 -367
  83. package/tools/session.js +0 -420
  84. package/tools/session_price.js +0 -128
  85. package/tools/stuck.js +0 -297
  86. package/tools/subscribe.js +0 -148
  87. package/tools/subscriptions.js +0 -134
  88. package/tools/watch.js +0 -157
  89. package/tools/withdraw.js +0 -145
  90. package/tools/work-summary.js +0 -96
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Slash Vibe, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,70 +1,87 @@
1
- # vibe-mcp
1
+ # /vibe MCP Server
2
2
 
3
- Social layer for Claude Code. DMs, presence, and connection between AI-assisted developers.
3
+ The social layer for Claude Code. DMs, presence, and connection between AI developers.
4
+
5
+ ## What is /vibe?
6
+
7
+ /vibe brings social connection to the terminal. While you're building with Claude Code, /vibe lets you:
8
+
9
+ - **See who's online** - Know when other developers are in flow
10
+ - **Send DMs** - Message fellow builders without leaving your terminal
11
+ - **Share your presence** - Let others know what you're working on
12
+ - **Build reputation** - Your sessions become proof of work
4
13
 
5
14
  ## Installation
6
15
 
7
16
  ```bash
8
- # Install globally
9
- npm install -g vibe-mcp
10
-
11
- # Or add to Claude Code MCP config
12
- claude mcp add vibe-mcp
17
+ npx slashvibe-mcp
13
18
  ```
14
19
 
15
- ## Manual Setup
16
-
17
- Add to `~/.claude.json`:
20
+ Or add to your Claude Code MCP settings (`~/.claude.json`):
18
21
 
19
22
  ```json
20
23
  {
21
24
  "mcpServers": {
22
25
  "vibe": {
23
26
  "command": "npx",
24
- "args": ["vibe-mcp"],
25
- "env": {
26
- "VIBE_API_URL": "https://www.slashvibe.dev"
27
- }
27
+ "args": ["-y", "slashvibe-mcp"]
28
28
  }
29
29
  }
30
30
  }
31
31
  ```
32
32
 
33
- ## Features
33
+ ## Quick Start
34
+
35
+ 1. Install the MCP server
36
+ 2. Authenticate: `vibe_auth` tool will guide you
37
+ 3. Check who's online: `vibe_presence`
38
+ 4. Send a message: `vibe_dm`
39
+
40
+ ## Available Tools
34
41
 
35
- - **Presence** - See who's online building with Claude Code
36
- - **DMs** - Direct messages between developers
37
- - **Memory** - Remember context about connections
38
- - **Status** - Share what you're working on
39
- - **Games** - Play tic-tac-toe while coding
42
+ | Tool | Description |
43
+ |------|-------------|
44
+ | `vibe_auth` | Authenticate with slashvibe.dev |
45
+ | `vibe_presence` | See who's online now |
46
+ | `vibe_dm` | Send a direct message |
47
+ | `vibe_inbox` | Check your messages |
48
+ | `vibe_ship` | Announce what you shipped |
49
+ | `vibe_idea` | Share an idea with the community |
50
+ | `vibe_discover` | Find interesting builders |
51
+ | `vibe_remember` | Save context about a connection |
52
+ | `vibe_recall` | Recall memories about someone |
40
53
 
41
- ## Commands
54
+ ## The Platform
42
55
 
43
- Once installed, use these in Claude Code:
56
+ This MCP server connects to [slashvibe.dev](https://slashvibe.dev), where:
44
57
 
45
- | Command | Description |
46
- |---------|-------------|
47
- | `vibe` | Check inbox and see who's online |
48
- | `vibe who` | List online users |
49
- | `vibe dm @handle "message"` | Send a DM |
50
- | `vibe status shipping` | Set your status |
51
- | `vibe remember @handle "note"` | Save a memory |
52
- | `vibe recall @handle` | Recall memories |
58
+ - Your identity persists across sessions
59
+ - Your work builds reputation over time
60
+ - The community grows through genuine connection
53
61
 
54
- ## API
62
+ ## Philosophy
55
63
 
56
- The MCP server connects to `slashvibe.dev` for:
57
- - User presence and discovery
58
- - Message routing
59
- - Identity verification
64
+ We believe AI development should be social, not solitary. The terminal is where real work happens - decisions, debugging, breakthroughs. /vibe makes that visible and connectable.
60
65
 
61
- ## Related
66
+ **Empathy. Collaboration. Shared value creation.**
62
67
 
63
- - [GitHub](https://github.com/VibeCodingInc/vibe-mcp) - Source code
64
- - [slashvibe.dev](https://slashvibe.dev) - Web presence
65
- - [Spirit Protocol](https://spiritprotocol.io) - Parent ecosystem
66
- - [AIRC](https://airc.chat) - Agent identity protocol
68
+ ## Contributing
69
+
70
+ We welcome contributions! Please read our [Contributor License Agreement](./CLA.md) before submitting pull requests.
71
+
72
+ - Report bugs via [GitHub Issues](https://github.com/VibeCodingInc/vibe-mcp/issues)
73
+ - Propose features via [Discussions](https://github.com/VibeCodingInc/vibe-mcp/discussions)
74
+ - Submit PRs for review
67
75
 
68
76
  ## License
69
77
 
70
- MIT
78
+ MIT - see [LICENSE](./LICENSE)
79
+
80
+ ## Links
81
+
82
+ - [slashvibe.dev](https://slashvibe.dev) - The platform
83
+ - [Twitter](https://twitter.com/slashvibe) - Updates
84
+
85
+ ---
86
+
87
+ Built with obsession by [Slash Vibe, Inc.](https://slashvibe.dev)
package/config.js CHANGED
@@ -243,16 +243,13 @@ function savePrivyToken(token) {
243
243
 
244
244
  /**
245
245
  * Check if user has Privy auth (vs legacy keypair)
246
- * Accepts both 'privy' and 'browser' as valid auth methods
247
246
  */
248
247
  function hasPrivyAuth() {
249
- const validAuthMethods = ['privy', 'browser'];
250
-
251
248
  const data = getSessionData();
252
- if (validAuthMethods.includes(data?.authMethod) && data?.token) return true;
249
+ if (data?.authMethod === 'privy' && data?.token) return true;
253
250
 
254
251
  const cfg = load();
255
- return validAuthMethods.includes(cfg?.authMethod) && cfg?.privyToken;
252
+ return cfg?.authMethod === 'privy' && cfg?.privyToken;
256
253
  }
257
254
 
258
255
  /**
package/index.js CHANGED
@@ -11,7 +11,6 @@ const config = require('./config');
11
11
  const store = require('./store');
12
12
  const prompts = require('./prompts');
13
13
  const NotificationEmitter = require('./notification-emitter');
14
- const authStore = require('./auth-store');
15
14
 
16
15
  // Tools that shouldn't show presence footer (would be redundant/noisy)
17
16
  const SKIP_FOOTER_TOOLS = ['vibe_init', 'vibe_doctor', 'vibe_test', 'vibe_update', 'vibe_settings', 'vibe_notifications'];
@@ -37,6 +36,9 @@ function inferPromptFromArgs(toolName, args) {
37
36
  case 'context': return 'share context';
38
37
  case 'summarize': return 'summarize session';
39
38
  case 'bye': return 'end session';
39
+ case 'remember': return `remember about ${handle}`;
40
+ case 'recall': return `recall ${handle}`;
41
+ case 'forget': return `forget ${handle}`;
40
42
  case 'board': return args.content ? 'post to board' : 'view board';
41
43
  case 'observe': return args.content ? 'record observation' : 'view observations';
42
44
  case 'invite': return 'generate invite';
@@ -48,19 +50,19 @@ function inferPromptFromArgs(toolName, args) {
48
50
  case 'release': return `release ${args.reservation_id || 'reservation'}`;
49
51
  case 'reservations': return 'list reservations';
50
52
  case 'solo_game': return `play ${args.game || 'game'}`;
51
- case 'game': return `play ${args.game || 'game'} with ${handle}`;
53
+ case 'tictactoe': return `play tic-tac-toe ${args.difficulty || ''}`.trim();
54
+ case 'wordassociation': return args.word ? `word association: ${args.word}` : 'play word association';
52
55
  case 'multiplayer_game': return `multiplayer ${args.game || 'game'}`;
53
56
  case 'drawing': return args.action ? `drawing ${args.action}` : 'collaborative drawing';
54
57
  case 'crossword': return `crossword ${args.action || 'daily'}`;
58
+ case 'away': return args.message ? `set away: "${args.message}"` : 'go away';
59
+ case 'back': return 'come back';
55
60
  case 'discover': return `discover ${args.command || 'suggest'}`;
56
61
  case 'suggest_tags': return `suggest tags ${args.command || 'suggest'}`;
57
- case 'settings': return args.mute ? `mute for ${args.mute}` : 'view settings';
62
+ case 'skills_exchange': return `skills exchange ${args.command || 'browse'}`;
63
+ case 'workshop_buddy': return `workshop buddy ${args.command || 'find'}`;
58
64
  case 'create_artifact': return `create ${args.template || 'artifact'}: ${args.title || 'untitled'}`;
59
65
  case 'view_artifact': return args.slug ? `view artifact ${args.slug}` : `list ${args.list || 'artifacts'}`;
60
- case 'broadcast': return args.action ? `broadcast ${args.action}` : 'broadcast status';
61
- case 'watch': return args.target ? `watch ${args.target}` : 'list live broadcasts';
62
- case 'session': return args.action ? `session ${args.action}` : 'list sessions';
63
- case 'chat': return args.message ? `chat "${args.message.slice(0, 30)}..."` : 'view chat';
64
66
  default: return `${action} ${handle}`.trim() || null;
65
67
  }
66
68
  }
@@ -162,8 +164,8 @@ async function getPresenceFooter() {
162
164
  }
163
165
  }
164
166
 
165
- // Load core tools (always available)
166
- const coreTools = {
167
+ // Load all tools
168
+ const tools = {
167
169
  // Entry point
168
170
  vibe_start: require('./tools/start'),
169
171
  // Core
@@ -178,22 +180,29 @@ const coreTools = {
178
180
  vibe_open: require('./tools/open'),
179
181
  vibe_status: require('./tools/status'),
180
182
  vibe_context: require('./tools/context'),
181
- vibe_work_summary: require('./tools/work-summary'), // Ambient context for composing messages
182
183
  vibe_summarize: require('./tools/summarize'),
183
184
  vibe_bye: require('./tools/bye'),
184
185
  vibe_game: require('./tools/game'),
185
186
  vibe_solo_game: require('./tools/solo-game'),
186
187
  vibe_party_game: require('./tools/party-game'),
188
+ vibe_tictactoe: require('./tools/tictactoe'),
189
+ vibe_wordassociation: require('./tools/wordassociation'),
187
190
  vibe_multiplayer_game: require('./tools/multiplayer-game'),
188
191
  vibe_drawing: require('./tools/drawing'),
192
+ // Nostalgia Stack
189
193
  vibe_crossword: require('./tools/crossword'),
194
+ vibe_away: require('./tools/away'),
195
+ vibe_back: require('./tools/back'),
190
196
  // AIRC Handoff (v1) — context portability
191
197
  vibe_handoff: require('./tools/handoff'),
192
198
  // File reservations (advisory locks)
193
199
  vibe_reserve: require('./tools/reserve'),
194
200
  vibe_release: require('./tools/release'),
195
201
  vibe_reservations: require('./tools/reservations'),
196
- // Memory tools removedsimplified UX
202
+ // Memory tools (Tier 1 Collaborative Memory)
203
+ vibe_remember: require('./tools/remember'),
204
+ vibe_recall: require('./tools/recall'),
205
+ vibe_forget: require('./tools/forget'),
197
206
  // Consent (AIRC compliance)
198
207
  vibe_consent: require('./tools/consent'),
199
208
  // Trust & Safety
@@ -211,23 +220,20 @@ const coreTools = {
211
220
  vibe_ship: require('./tools/ship'),
212
221
  vibe_feed: require('./tools/feed'),
213
222
  vibe_insights: require('./tools/insights'),
214
- // Launch Analytics — Real-time metrics dashboard
215
- vibe_analytics: require('./tools/analytics'),
216
223
  // Artifacts — Just-in-time social objects
217
224
  vibe_create_artifact: require('./tools/artifact-create'),
218
225
  vibe_view_artifact: require('./tools/artifact-view'),
219
- // Plans — Async approval workflow
220
- vibe_plan: require('./tools/plan'),
221
- vibe_approve: require('./tools/approve'),
222
226
  // Discovery & Matchmaking
223
227
  vibe_discover: require('./tools/discover'),
224
228
  vibe_suggest_tags: require('./tools/suggest-tags'),
225
- // Follow system
226
- vibe_follow: require('./tools/follow'),
227
- // GitHub friends import (Plaxo move)
228
- vibe_friends: require('./tools/friends'),
229
- // Scheduling
230
- vibe_schedule: require('./tools/schedule'),
229
+ vibe_skills_exchange: require('./tools/skills-exchange'),
230
+ vibe_workshop_buddy: require('./tools/workshop-buddy'),
231
+ // Admin tools
232
+ vibe_admin_inbox: require('./tools/admin-inbox'),
233
+ // Diagnostics
234
+ vibe_test: require('./tools/test'),
235
+ vibe_doctor: require('./tools/doctor'),
236
+ vibe_update: require('./tools/update'),
231
237
  // @echo feedback agent (by Flynn)
232
238
  vibe_echo: require('./tools/echo'),
233
239
  // X/Twitter bridge
@@ -236,59 +242,29 @@ const coreTools = {
236
242
  // Unified social inbox (Phase 1a)
237
243
  vibe_social_inbox: require('./tools/social-inbox'),
238
244
  vibe_social_post: require('./tools/social-post'),
245
+ // Language evolution
246
+ vibe_patterns: require('./tools/patterns'),
239
247
  // Settings
240
248
  vibe_settings: require('./tools/settings'),
241
249
  // External notification channels
242
250
  vibe_notifications: require('./tools/notifications'),
243
251
  // Background presence agent (Claude Code 2.1)
244
252
  vibe_presence_agent: require('./tools/presence-agent'),
253
+ vibe_mute: require('./tools/mute'),
245
254
  // Onboarding checklist
246
255
  vibe_onboarding: require('./tools/onboarding'),
247
256
  // VIBE L2 tools
248
257
  vibe_l2: require('./tools/l2'),
249
258
  vibe_l2_status: require('./tools/l2-status'),
250
259
  vibe_shipback: require('./tools/shipback'),
251
- vibe_bridge: require('./tools/l2-bridge'),
252
- // Gig Marketplace & Proof-of-Work
253
- vibe_gig_browse: require('./tools/gig-browse'),
254
- vibe_gig_complete: require('./tools/gig-complete'),
255
- vibe_proof_of_work: require('./tools/proof-of-work'),
256
- vibe_artifacts_price: require('./tools/artifacts-price'),
257
- // Watch Me Code — Live broadcasting & sessions
258
- vibe_broadcast: require('./tools/broadcast'),
259
- vibe_watch: require('./tools/watch'),
260
- vibe_session: require('./tools/session'),
261
- vibe_chat: require('./tools/chat'),
262
- // Help Signal — Symbiosis layer
263
- vibe_stuck: require('./tools/stuck'),
264
- // VIBE Economy — Earnings, Withdrawals, Subscriptions
265
- vibe_earnings: require('./tools/earnings'),
266
- vibe_withdraw: require('./tools/withdraw'),
267
- vibe_session_price: require('./tools/session_price'),
268
- vibe_subscribe: require('./tools/subscribe'),
269
- vibe_subscriptions: require('./tools/subscriptions')
260
+ vibe_bridge: require('./tools/l2-bridge')
270
261
  };
271
262
 
272
- // Admin tools (only loaded when VIBE_ADMIN=true)
273
- const adminTools = process.env.VIBE_ADMIN === 'true' ? {
274
- vibe_admin_inbox: require('./tools/admin-inbox'),
275
- vibe_test: require('./tools/test'),
276
- vibe_doctor: require('./tools/doctor'),
277
- vibe_update: require('./tools/update'),
278
- vibe_patterns: require('./tools/patterns'),
279
- } : {};
280
-
281
- // Combine tools
282
- const tools = { ...coreTools, ...adminTools };
283
-
284
263
  /**
285
264
  * MCP Protocol Handler
286
265
  */
287
266
  class VibeMCPServer {
288
267
  constructor() {
289
- // Hydrate auth state from disk FIRST (before any tools need it)
290
- authStore.hydrate();
291
-
292
268
  // Initialize notification emitter
293
269
  this.notifier = new NotificationEmitter(this);
294
270
 
@@ -369,10 +345,9 @@ class VibeMCPServer {
369
345
  // Emit list_changed notification for state-changing tools
370
346
  // This triggers Claude to refresh without reconnection
371
347
  const stateChangingTools = [
372
- 'vibe_dm', 'vibe_ping', 'vibe_react',
348
+ 'vibe_dm', 'vibe_ping', 'vibe_react', 'vibe_remember',
373
349
  'vibe_status', 'vibe_context', 'vibe_handoff',
374
- 'vibe_reserve', 'vibe_release',
375
- 'vibe_broadcast', 'vibe_session', 'vibe_chat'
350
+ 'vibe_reserve', 'vibe_release'
376
351
  ];
377
352
  if (stateChangingTools.includes(params.name)) {
378
353
  // Debounced notification (prevents spam)
@@ -385,13 +360,29 @@ class VibeMCPServer {
385
360
  footer = await getPresenceFooter();
386
361
  }
387
362
 
363
+ // Build simplified hint indicator for Claude (human-readable)
364
+ let hintIndicator = '';
365
+ if (result.hint) {
366
+ // Simple format: <!-- vibe: hint_type @handle (count) -->
367
+ const hint = result.hint;
368
+ const handle = result.suggestion?.handle || result.for_handle || '';
369
+ const count = result.unread_count || '';
370
+
371
+ // Build minimal hint string
372
+ let hintParts = [hint];
373
+ if (handle) hintParts.push(`@${handle.replace('@', '')}`);
374
+ if (count) hintParts.push(`(${count})`);
375
+
376
+ hintIndicator = `\n\n<!-- vibe: ${hintParts.join(' ')} -->`;
377
+ }
378
+
388
379
  return {
389
380
  jsonrpc: '2.0',
390
381
  id,
391
382
  result: {
392
383
  content: [{
393
384
  type: 'text',
394
- text: (result.display || JSON.stringify(result, null, 2)) + footer
385
+ text: (result.display || JSON.stringify(result, null, 2)) + hintIndicator + footer
395
386
  }]
396
387
  }
397
388
  };
@@ -1,19 +1,17 @@
1
1
  /**
2
2
  * Intelligence Module — Ambient Social Awareness
3
3
  *
4
- * Five layers of intelligence:
4
+ * Four layers of intelligence:
5
5
  * 1. Infer — Smart state detection from context signals
6
6
  * 2. Serendipity — Surface meaningful coincidences
7
7
  * 3. Proactive — Background agent for social moments
8
8
  * 4. Patterns — Persistent behavioral memory (work, social, creative)
9
- * 5. Interests — Live interest inference from context (Phase 2)
10
9
  */
11
10
 
12
11
  const infer = require('./infer');
13
12
  const serendipity = require('./serendipity');
14
13
  const proactive = require('./proactive');
15
14
  const patterns = require('./patterns');
16
- const interests = require('./interests');
17
15
 
18
16
  module.exports = {
19
17
  // Inference
@@ -36,10 +34,5 @@ module.exports = {
36
34
  setSessionStart: proactive.setSessionStart,
37
35
 
38
36
  // Patterns (persistent behavioral memory)
39
- patterns,
40
-
41
- // Interests (live context inference - Phase 2)
42
- inferLiveInterests: interests.inferLiveInterests,
43
- mergeInterests: interests.mergeInterests,
44
- formatLiveInterests: interests.formatLiveInterests
37
+ patterns
45
38
  };
package/package.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
2
  "name": "slashvibe-mcp",
3
- "version": "0.2.6",
4
- "mcpName": "io.github.vibecodinginc/vibe",
3
+ "version": "0.2.8",
4
+ "mcpName": "io.github.brightseth/vibe",
5
5
  "description": "Social layer for Claude Code - DMs, presence, and connection between AI-assisted developers",
6
6
  "main": "index.js",
7
7
  "bin": {
8
8
  "slashvibe-mcp": "./index.js"
9
9
  },
10
10
  "scripts": {
11
- "start": "node index.js",
12
- "test": "node --test tools/*.test.js",
13
- "test:context": "node --test tools/_work-context.test.js"
11
+ "start": "node index.js"
14
12
  },
15
13
  "keywords": [
16
14
  "mcp",
@@ -36,15 +34,11 @@
36
34
  },
37
35
  "files": [
38
36
  "index.js",
39
- "auth-store.js",
40
- "auto-update.js",
41
37
  "config.js",
42
38
  "crypto.js",
43
39
  "discord.js",
44
40
  "memory.js",
45
41
  "notify.js",
46
- "notification-emitter.js",
47
- "analytics.js",
48
42
  "presence.js",
49
43
  "prompts.js",
50
44
  "twitter.js",
@@ -53,11 +47,10 @@
53
47
  "store/",
54
48
  "protocol/",
55
49
  "intelligence/",
56
- "games/",
57
- "bridges/",
58
50
  "README.md"
59
51
  ],
60
52
  "dependencies": {
53
+ "better-sqlite3": "^11.0.0",
61
54
  "crossword-layout-generator": "^0.1.1"
62
55
  }
63
56
  }