@oneie/mcp 0.4.4 → 0.4.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/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { lifecycleTools } from "./tools/lifecycle.js";
8
8
  export { observabilityTools } from "./tools/observability.js";
9
9
  export { videoTools } from "./tools/video.js";
10
10
  export { broadcastTools } from "./tools/broadcast.js";
11
+ export { messagingTools } from "./tools/messaging.js";
11
12
  export declare const MCP_VERSION = "0.3.0";
12
13
  export declare const MCP_TOOLS: {
13
14
  substrate: readonly ["signal", "ask", "mark", "warn", "fade", "follow", "select", "recall", "reveal", "forget", "frontier", "know", "highways"];
@@ -18,5 +19,6 @@ export declare const MCP_TOOLS: {
18
19
  video: readonly ["create_room", "delete_room", "contact_call", "invite_to_call", "schedule_webinar", "create_session", "quick_call", "start_recording", "start_stream", "video_summary", "get_room_status"];
19
20
  broadcast: readonly ["broadcast_create", "broadcast_list", "broadcast_get", "broadcast_send"];
20
21
  newsletter: readonly ["newsletter_get", "newsletter_update"];
22
+ messaging: readonly ["message"];
21
23
  };
22
24
  export declare function createOneRouter(): import("./serve.js").McpRouter;
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { observabilityTools } from "./tools/observability.js";
7
7
  import { socialTools } from "./tools/social.js";
8
8
  import { videoTools } from "./tools/video.js";
9
9
  import { broadcastTools } from "./tools/broadcast.js";
10
+ import { messagingTools } from "./tools/messaging.js";
10
11
  export { createRouter, serve } from "./serve.js";
11
12
  export { readEnv } from "./env.js";
12
13
  export { substrateTools } from "./tools/substrate.js";
@@ -15,6 +16,7 @@ export { lifecycleTools } from "./tools/lifecycle.js";
15
16
  export { observabilityTools } from "./tools/observability.js";
16
17
  export { videoTools } from "./tools/video.js";
17
18
  export { broadcastTools } from "./tools/broadcast.js";
19
+ export { messagingTools } from "./tools/messaging.js";
18
20
  export const MCP_VERSION = "0.3.0";
19
21
  export const MCP_TOOLS = {
20
22
  substrate: ["signal", "ask", "mark", "warn", "fade", "follow", "select", "recall", "reveal", "forget", "frontier", "know", "highways"],
@@ -25,10 +27,11 @@ export const MCP_TOOLS = {
25
27
  video: ["create_room", "delete_room", "contact_call", "invite_to_call", "schedule_webinar", "create_session", "quick_call", "start_recording", "start_stream", "video_summary", "get_room_status"],
26
28
  broadcast: ["broadcast_create", "broadcast_list", "broadcast_get", "broadcast_send"],
27
29
  newsletter: ["newsletter_get", "newsletter_update"],
30
+ messaging: ["message"],
28
31
  };
29
32
  export function createOneRouter() {
30
33
  const router = createRouter();
31
- for (const tool of [...substrateTools(), ...lifecycleTools(), ...observabilityTools(), ...discoveryTools(), ...socialTools(), ...videoTools(), ...broadcastTools()]) {
34
+ for (const tool of [...substrateTools(), ...lifecycleTools(), ...observabilityTools(), ...discoveryTools(), ...socialTools(), ...videoTools(), ...broadcastTools(), ...messagingTools()]) {
32
35
  router.register(tool);
33
36
  }
34
37
  return router;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAU;IAC/I,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAU;IAC1N,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAU;IAC1I,SAAS,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,WAAW,CAAU;IAClE,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,CAAU;IAC/E,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,CAAU;IAC3M,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,CAAU;IAC7F,UAAU,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAU;CAC7D,CAAC;AAEF,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC;QACpK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAAC,OAAO,UAAU,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAClI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { McpTool } from "../serve.js";
2
+ /** messaging_* tool group — direct message into an actor's / workspace's inbox.
3
+ * Wraps the shipped `notify` receiver via ask(): one verb, both actor kinds —
4
+ * channels routes the door (Telegram/Discord/peer inbox), mirrors into the web
5
+ * inbox, and nudges any open client live. Distinct from broadcast_* (email
6
+ * newsletters to a list tag); this reaches one named recipient. */
7
+ export declare function messagingTools(): McpTool[];
@@ -0,0 +1,49 @@
1
+ async function apiCall(baseUrl, apiKey, path, init = {}) {
2
+ const headers = new Headers(init.headers);
3
+ headers.set("Accept", "application/json");
4
+ if (init.body && !headers.has("Content-Type"))
5
+ headers.set("Content-Type", "application/json");
6
+ if (apiKey)
7
+ headers.set("Authorization", `Bearer ${apiKey}`);
8
+ const res = await fetch(`${baseUrl.replace(/\/$/, "")}${path}`, { ...init, headers });
9
+ if (!res.ok)
10
+ throw new Error(`${init.method ?? "GET"} ${path} → ${res.status}`);
11
+ if (res.status === 204)
12
+ return null;
13
+ const ct = res.headers.get("content-type") ?? "";
14
+ return ct.includes("json") ? res.json() : res.text();
15
+ }
16
+ function ask(env, receiver, data) {
17
+ return apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent(receiver)}`, {
18
+ method: "POST",
19
+ body: JSON.stringify({ data }),
20
+ });
21
+ }
22
+ /** messaging_* tool group — direct message into an actor's / workspace's inbox.
23
+ * Wraps the shipped `notify` receiver via ask(): one verb, both actor kinds —
24
+ * channels routes the door (Telegram/Discord/peer inbox), mirrors into the web
25
+ * inbox, and nudges any open client live. Distinct from broadcast_* (email
26
+ * newsletters to a list tag); this reaches one named recipient. */
27
+ export function messagingTools() {
28
+ return [
29
+ {
30
+ name: "message",
31
+ description: "Send a direct message to one actor or workspace inbox by uid/slug (e.g. 'jcoffey'). Mirrors into the web inbox and routes to any connected channel. For a specific recipient — not an email blast (use broadcast_* for list newsletters).",
32
+ inputSchema: {
33
+ type: "object",
34
+ properties: {
35
+ receiver: { type: "string", description: "Target actor uid or workspace slug (e.g. 'jcoffey')" },
36
+ content: { type: "string", description: "Message body (max 8000 chars)" },
37
+ kind: { type: "string", description: "Optional message kind label (e.g. 'announcement')" },
38
+ },
39
+ required: ["receiver", "content"],
40
+ },
41
+ handler: async (args, env) => ask(env, "notify", {
42
+ receiver: args.receiver,
43
+ body: args.content,
44
+ kind: args.kind ?? "message",
45
+ }),
46
+ },
47
+ ];
48
+ }
49
+ //# sourceMappingURL=messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,MAA0B,EAAE,IAAY,EAAE,OAAoB,EAAE;IACtG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAC/F,IAAI,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,GAAyC,EAAE,QAAgB,EAAE,IAAa;IACrF,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;QAClF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;;;oEAIoE;AACpE,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EACT,2OAA2O;YAC7O,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;oBAChG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBACzE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;iBAC3F;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;aAClC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE;gBACjB,QAAQ,EAAG,IAA6B,CAAC,QAAQ;gBACjD,IAAI,EAAG,IAA4B,CAAC,OAAO;gBAC3C,IAAI,EAAG,IAA0B,CAAC,IAAI,IAAI,SAAS;aACpD,CAAC;SACL;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneie/mcp",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "ONE substrate MCP server — 12 substrate verbs + 3 discovery tools.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",