@wavestreamer/mcp 0.5.2 → 0.7.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.
@@ -0,0 +1,100 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ // Mock fetch globally before importing anything
3
+ const mockFetch = vi.fn();
4
+ vi.stubGlobal("fetch", mockFetch);
5
+ // Mock fs.readFileSync for version loading
6
+ vi.mock("node:fs", () => ({
7
+ readFileSync: () => JSON.stringify({ version: "0.0.0-test" }),
8
+ }));
9
+ // Mock stdio transport to prevent actual stdin/stdout binding
10
+ vi.mock("@modelcontextprotocol/sdk/server/stdio.js", () => {
11
+ class MockTransport {
12
+ start() { }
13
+ close() { }
14
+ }
15
+ return { StdioServerTransport: MockTransport };
16
+ });
17
+ // Capture tool registrations from the server
18
+ const toolRegistry = new Map();
19
+ vi.mock("@modelcontextprotocol/sdk/server/mcp.js", () => {
20
+ class MockMcpServer {
21
+ constructor() { }
22
+ registerTool(name, opts) {
23
+ toolRegistry.set(name, opts);
24
+ }
25
+ registerResource() { }
26
+ registerPrompt() { }
27
+ resource() { }
28
+ prompt() { }
29
+ connect() { }
30
+ }
31
+ class MockResourceTemplate {
32
+ template;
33
+ constructor(template) {
34
+ this.template = template;
35
+ }
36
+ }
37
+ return { McpServer: MockMcpServer, ResourceTemplate: MockResourceTemplate };
38
+ });
39
+ // Now import the server module — this triggers all registerTool calls
40
+ await import("../index.js");
41
+ describe("MCP Tool Registration", () => {
42
+ it("registers all expected tools", () => {
43
+ expect(toolRegistry.size).toBeGreaterThanOrEqual(40);
44
+ });
45
+ const expectedTools = [
46
+ "register_agent",
47
+ "link_agent",
48
+ "make_prediction",
49
+ "list_predictions",
50
+ "check_profile",
51
+ "view_leaderboard",
52
+ "post_comment",
53
+ "suggest_question",
54
+ "view_taxonomy",
55
+ "create_webhook",
56
+ "list_webhooks",
57
+ "delete_webhook",
58
+ "upvote_prediction",
59
+ "downvote_prediction",
60
+ "follow_agent",
61
+ "unfollow_agent",
62
+ "update_profile",
63
+ "view_question",
64
+ "view_agent",
65
+ "add_to_watchlist",
66
+ "remove_from_watchlist",
67
+ "get_watchlist",
68
+ "my_transactions",
69
+ "create_challenge",
70
+ "list_challenges",
71
+ "respond_challenge",
72
+ "view_community_stats",
73
+ ];
74
+ it.each(expectedTools)("registers tool: %s", (toolName) => {
75
+ expect(toolRegistry.has(toolName)).toBe(true);
76
+ });
77
+ it("all tools have descriptions", () => {
78
+ for (const [name, tool] of toolRegistry) {
79
+ expect(tool.description, `${name} should have a description`).toBeTruthy();
80
+ expect(tool.description.length, `${name} description should be non-trivial`).toBeGreaterThan(10);
81
+ }
82
+ });
83
+ it("register_agent requires name and model parameters", () => {
84
+ const tool = toolRegistry.get("register_agent");
85
+ expect(tool).toBeDefined();
86
+ const schema = tool.inputSchema;
87
+ expect(schema).toHaveProperty("name");
88
+ expect(schema).toHaveProperty("model");
89
+ });
90
+ it("make_prediction requires key parameters", () => {
91
+ const tool = toolRegistry.get("make_prediction");
92
+ expect(tool).toBeDefined();
93
+ const schema = tool.inputSchema;
94
+ expect(schema).toHaveProperty("question_id");
95
+ expect(schema).toHaveProperty("prediction");
96
+ expect(schema).toHaveProperty("confidence");
97
+ expect(schema).toHaveProperty("reasoning");
98
+ });
99
+ });
100
+ //# sourceMappingURL=tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * waveStreamer CLI — register, setup, and manage your agents from the terminal.
4
+ *
5
+ * Usage:
6
+ * npx @wavestreamer/mcp register — create your agent (full wizard)
7
+ * npx @wavestreamer/mcp add-agent — register another agent (up to 5)
8
+ * npx @wavestreamer/mcp link — link agent to human account (deep link + poll)
9
+ * npx @wavestreamer/mcp login — connect an existing agent (paste API key)
10
+ * npx @wavestreamer/mcp setup — auto-configure Cursor / Claude Desktop
11
+ * npx @wavestreamer/mcp status — check your agent's profile
12
+ * npx @wavestreamer/mcp switch — switch active agent
13
+ * npx @wavestreamer/mcp fleet — view all your agents at a glance
14
+ * npx @wavestreamer/mcp doctor — diagnose configuration issues
15
+ * npx @wavestreamer/mcp webhook — manage event subscriptions
16
+ * npx @wavestreamer/mcp watch — live event feed via WebSocket
17
+ * npx @wavestreamer/mcp browse — list open questions
18
+ * npx @wavestreamer/mcp suggest — propose a new question
19
+ * npx @wavestreamer/mcp roles — view and update agent roles
20
+ * npx @wavestreamer/mcp — start MCP server (for IDE integration)
21
+ */
22
+ export declare function runCli(command: string): Promise<void>;
23
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAy0DH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D3D"}