@relaycast/mcp 0.3.4 → 0.4.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"piggyback.d.ts","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAiBnD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,YAAY,EAC9B,cAAc,EAAE,MAAM,WAAW,EACjC,SAAS,CAAC,EAAE,YAAY,GACvB,IAAI,CAgGN"}
1
+ {"version":3,"file":"piggyback.d.ts","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAiCnD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,YAAY,EAC9B,cAAc,EAAE,MAAM,WAAW,EACjC,SAAS,CAAC,EAAE,YAAY,GACvB,IAAI,CAiGN"}
package/dist/piggyback.js CHANGED
@@ -12,9 +12,15 @@ const MESSAGE_TOOLS = new Set([
12
12
  'trigger_webhook',
13
13
  'invoke_command',
14
14
  ]);
15
+ function hasContentArray(value) {
16
+ return (typeof value === 'object' &&
17
+ value !== null &&
18
+ Array.isArray(value.content));
19
+ }
15
20
  export function enablePiggyback(mcpServer, getSession, getAgentClient, telemetry) {
16
21
  const original = mcpServer.registerTool.bind(mcpServer);
17
- mcpServer.registerTool = (name, config, handler) => {
22
+ const mutableServer = mcpServer;
23
+ mutableServer.registerTool = (name, config, handler) => {
18
24
  if (!handler) {
19
25
  return original(name, config, handler);
20
26
  }
@@ -72,7 +78,7 @@ export function enablePiggyback(mcpServer, getSession, getAgentClient, telemetry
72
78
  (inbox.unreadDms?.length ?? 0) > 0 ||
73
79
  (inbox.recentReactions?.length ?? 0) > 0;
74
80
  console.debug('[piggyback] inbox fetch ok — channels=%d mentions=%d dms=%d reactions=%d', inbox.unreadChannels?.length ?? 0, inbox.mentions?.length ?? 0, inbox.unreadDms?.length ?? 0, inbox.recentReactions?.length ?? 0);
75
- if (hasUnread && Array.isArray(result?.content)) {
81
+ if (hasUnread && hasContentArray(result)) {
76
82
  const selfName = getSession().agentName;
77
83
  const inboxText = formatInbox(inbox, selfName);
78
84
  if (inboxText) {
@@ -1 +1 @@
1
- {"version":3,"file":"piggyback.js","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piggyback.js","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ws-bridge.d.ts","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAqDlE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA6B;gBAGhD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,mBAAmB,EAClC,cAAc,EAAE,cAAc;IAOhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;CAOb"}
1
+ {"version":3,"file":"ws-bridge.d.ts","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAO9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAmDlE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA6B;gBAGhD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,mBAAmB,EAClC,cAAc,EAAE,cAAc;IAOhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;CAOb"}
@@ -1,30 +1,35 @@
1
+ function getStringEventField(event, field) {
2
+ const candidate = event[field];
3
+ return typeof candidate === 'string' ? candidate : null;
4
+ }
1
5
  /**
2
6
  * Maps a WebSocket ServerEvent to the relay:// resource URIs it affects.
3
7
  */
4
8
  export function eventToResourceUris(event) {
5
9
  switch (event.type) {
6
- case 'message.created':
7
- return [
8
- 'relay://inbox',
9
- `relay://channels/${event.channel}/messages`,
10
- ];
11
- case 'message.updated':
12
- return [`relay://channels/${event.channel}/messages`];
13
- case 'thread.reply':
14
- return [
15
- 'relay://inbox',
16
- `relay://messages/${event.parentId}/thread`,
17
- ];
10
+ case 'message.created': {
11
+ const channel = getStringEventField(event, 'channel');
12
+ return channel
13
+ ? ['relay://inbox', `relay://channels/${channel}/messages`]
14
+ : ['relay://inbox'];
15
+ }
16
+ case 'message.updated': {
17
+ const channel = getStringEventField(event, 'channel');
18
+ return channel ? [`relay://channels/${channel}/messages`] : [];
19
+ }
20
+ case 'thread.reply': {
21
+ const parentId = getStringEventField(event, 'parentId');
22
+ return parentId
23
+ ? ['relay://inbox', `relay://messages/${parentId}/thread`]
24
+ : ['relay://inbox'];
25
+ }
18
26
  case 'dm.received':
19
- return [
20
- 'relay://inbox',
21
- `relay://dm/${event.conversationId}`,
22
- ];
23
- case 'group_dm.received':
24
- return [
25
- 'relay://inbox',
26
- `relay://dm/${event.conversationId}`,
27
- ];
27
+ case 'group_dm.received': {
28
+ const conversationId = getStringEventField(event, 'conversationId');
29
+ return conversationId
30
+ ? ['relay://inbox', `relay://dm/${conversationId}`]
31
+ : ['relay://inbox'];
32
+ }
28
33
  case 'agent.online':
29
34
  case 'agent.offline':
30
35
  return ['relay://agents'];
@@ -35,13 +40,10 @@ export function eventToResourceUris(event) {
35
40
  case 'member.left':
36
41
  return ['relay://channels'];
37
42
  case 'webhook.received':
38
- return [
39
- `relay://channels/${event.channel}/messages`,
40
- ];
41
- case 'command.invoked':
42
- return [
43
- `relay://channels/${event.channel}/messages`,
44
- ];
43
+ case 'command.invoked': {
44
+ const channel = getStringEventField(event, 'channel');
45
+ return channel ? [`relay://channels/${channel}/messages`] : [];
46
+ }
45
47
  case 'message.read':
46
48
  return [];
47
49
  case 'file.uploaded':
@@ -1 +1 @@
1
- {"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relaycast/mcp",
3
- "version": "0.3.4",
3
+ "version": "0.4.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,8 +13,8 @@
13
13
  "lint": "eslint src/"
14
14
  },
15
15
  "dependencies": {
16
- "@relaycast/sdk": "0.3.4",
17
- "@relaycast/types": "0.3.4",
16
+ "@relaycast/sdk": "0.4.1",
17
+ "@relaycast/types": "0.4.1",
18
18
  "@modelcontextprotocol/sdk": "^1.26.0",
19
19
  "express": "^5.2.1",
20
20
  "zod": "^4.3.6"