hpmcp 0.0.1 → 0.0.3

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.js CHANGED
File without changes
package/dist/mcp.js CHANGED
@@ -1,5 +1,12 @@
1
1
  import { InitializeRequestSchema, ListToolsRequestSchema, CallToolRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { getClient } from "./remote.js";
3
+ const TIMEOUT_MS = 5000;
4
+ function withTimeout(promise, ms = TIMEOUT_MS) {
5
+ return Promise.race([
6
+ promise,
7
+ new Promise((_, reject) => setTimeout(() => reject(new Error("timeout")), ms)),
8
+ ]);
9
+ }
3
10
  export function registerHandlers(server, cache) {
4
11
  server.setRequestHandler(InitializeRequestSchema, async () => {
5
12
  const cached = await cache.get("init");
@@ -8,10 +15,12 @@ export function registerHandlers(server, cache) {
8
15
  const c = getClient();
9
16
  if (c) {
10
17
  try {
18
+ const caps = withTimeout(Promise.resolve(c.getServerCapabilities()));
19
+ const ver = withTimeout(Promise.resolve(c.getServerVersion()));
11
20
  const result = {
12
21
  protocolVersion: "2024-11-05",
13
- capabilities: c.getServerCapabilities() ?? {},
14
- serverInfo: c.getServerVersion() ?? { name: "hpmcp", version: "0.0.1" },
22
+ capabilities: (await caps) ?? {},
23
+ serverInfo: (await ver) ?? { name: "hpmcp", version: "0.0.1" },
15
24
  };
16
25
  await cache.set(["init"], result);
17
26
  return result;
@@ -33,7 +42,7 @@ export function registerHandlers(server, cache) {
33
42
  const c = getClient();
34
43
  if (c) {
35
44
  try {
36
- const { tools } = await c.listTools();
45
+ const { tools } = await withTimeout(c.listTools());
37
46
  const result = { tools };
38
47
  await cache.set(["tools_list"], result);
39
48
  return result;
@@ -53,7 +62,7 @@ export function registerHandlers(server, cache) {
53
62
  const c = getClient();
54
63
  if (c) {
55
64
  try {
56
- const result = await c.callTool({ name, arguments: args });
65
+ const result = await withTimeout(c.callTool({ name, arguments: args }));
57
66
  await cache.set(["tool_call", name, argsKey], result);
58
67
  return result;
59
68
  }
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/remote.js CHANGED
@@ -1,24 +1,16 @@
1
1
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
- import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
2
+ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
3
3
  let client = null;
4
4
  export async function connect(url, token) {
5
- const controller = new AbortController();
6
- const timer = setTimeout(() => controller.abort(), 10000);
7
- try {
8
- const transport = new SSEClientTransport(new URL(url), {
9
- requestInit: {
10
- headers: { "x-heroui-personal-token": token },
11
- signal: controller.signal,
12
- },
13
- });
14
- client = new Client({ name: "hpmcp", version: "0.0.1" }, { capabilities: {} });
15
- await client.connect(transport);
16
- console.error(`[hpmcp] connected to ${url}`);
17
- return client;
18
- }
19
- finally {
20
- clearTimeout(timer);
21
- }
5
+ const transport = new StreamableHTTPClientTransport(new URL(url), {
6
+ requestInit: {
7
+ headers: { "x-heroui-personal-token": token },
8
+ },
9
+ });
10
+ client = new Client({ name: "hpmcp", version: "0.0.1" }, { capabilities: {} });
11
+ await client.connect(transport);
12
+ console.error(`[hpmcp] connected to ${url}`);
13
+ return client;
22
14
  }
23
15
  export function getClient() {
24
16
  return client;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACrD,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE;gBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;QAChE,WAAW,EAAE;YACX,OAAO,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE;SAC9C;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "hpmcp",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "type": "module",
5
5
  "bin": {
6
- "hpmcp": "./dist/index.js"
6
+ "hpmcp": "dist/index.js"
7
7
  },
8
8
  "files": [
9
9
  "dist"