grokbot-mcp 0.1.1 → 0.1.2

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":"mcp-tools-dispatch.d.ts","sourceRoot":"","sources":["../src/mcp-tools-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAK7B,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,mBAAmB,CAMhE,CAAC;AA0CF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,mBAAmB,CAyBjE,CAAC"}
1
+ {"version":3,"file":"mcp-tools-dispatch.d.ts","sourceRoot":"","sources":["../src/mcp-tools-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAY7B,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,mBAAmB,CAUhE,CAAC;AA8CF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,mBAAmB,CA2BjE,CAAC"}
@@ -1,11 +1,20 @@
1
1
  import { isActive, } from "grokbot-core";
2
2
  import { plural, waitHint, } from "./mcp-tool-parts.js";
3
- /** Shorter than typical MCP client request timeouts, so ask returns its job id first. */
4
- const MCP_ASK_TIMEOUT_SECONDS = 45;
3
+ /**
4
+ * Well under the ~300 s at which MCP hosts kill a tool call (Hermes), so ask and wait
5
+ * return a still-running result with the job id first instead of dying mid-wait.
6
+ */
7
+ const MCP_WAIT_TIMEOUT_SECONDS = 45;
8
+ /** What a finished result means, shared by every tool that waits on a job. */
9
+ const OUTCOMES = '"done" means the bot\'s run for this message ended, not that the task is verified; "ambiguous" means one run answered this message together with another, and the result holds every reply of that run';
5
10
  export const DISPATCH_OVERRIDES = {
6
11
  ask: {
7
- note: `Waits ${MCP_ASK_TIMEOUT_SECONDS} s unless timeout is set; a pending result carries a job id, and grokbot_wait resumes it`,
8
- defaults: { timeout: MCP_ASK_TIMEOUT_SECONDS },
12
+ note: `Waits ${MCP_WAIT_TIMEOUT_SECONDS} s unless timeout is set; a still-running result carries a job id, and grokbot_wait resumes it. ${OUTCOMES}`,
13
+ defaults: { timeout: MCP_WAIT_TIMEOUT_SECONDS },
14
+ },
15
+ wait: {
16
+ note: `Waits ${MCP_WAIT_TIMEOUT_SECONDS} s unless timeout is set, to stay under MCP host time limits; a still-running result carries the job id, so call grokbot_wait again with it. ${OUTCOMES}`,
17
+ defaults: { timeout: MCP_WAIT_TIMEOUT_SECONDS },
9
18
  },
10
19
  interrupt: { destructive: true },
11
20
  };
@@ -13,8 +22,12 @@ function outcomeText(who, jobId, outcome) {
13
22
  switch (outcome.status) {
14
23
  case "done":
15
24
  return `${who} replied:\n${outcome.finalReply}`;
25
+ case "ambiguous":
26
+ return `${who} finished, but the reply is ambiguous: ${outcome.reason}. Every reply of that run, in order:\n${outcome.replyText}`;
16
27
  case "pending":
17
- return `${who} is still working (${outcome.reason}). Job ${jobId} is saved; ${waitHint(jobId)} to keep waiting.`;
28
+ return outcome.queued
29
+ ? `${outcome.reason}. Job ${jobId} is saved; ${waitHint(jobId)} to send it and keep waiting.`
30
+ : `${who} is still working (${outcome.reason}). Job ${jobId} is saved; ${waitHint(jobId)} to keep waiting.`;
18
31
  case "awaiting-approval":
19
32
  return `${who} is waiting for owner approval (${outcome.reason}). Approve it in the Grok Bot app, then ${waitHint(jobId)}.`;
20
33
  }
@@ -57,8 +70,10 @@ export const DISPATCH_SUMMARIES = {
57
70
  ...members.map(memberText),
58
71
  ].join("\n"),
59
72
  ask: ({ jobId, agent, outcome }) => outcomeText(agent.name, jobId, outcome),
60
- send: ({ jobId, agent }) => `Sent to ${agent.name}. Job ${jobId} is saved; ${waitHint(jobId)} for the reply.`,
61
- wait: ({ jobId, agentId, outcome }) => outcomeText(`Agent ${agentId}`, jobId, outcome),
73
+ send: ({ jobId, agent, queued }) => queued
74
+ ? `Queued for ${agent.name}: it is busy, so the message goes out once it is free. Job ${jobId} is saved; ${waitHint(jobId)} to send it and get the reply.`
75
+ : `Sent to ${agent.name}. Job ${jobId} is saved; ${waitHint(jobId)} for the reply.`,
76
+ wait: ({ jobId, agentId, agentName, outcome }) => outcomeText(agentName ?? `Agent ${agentId}`, jobId, outcome),
62
77
  tail: ({ agent, entries }) => [
63
78
  `${agent.name}, last ${plural(entries.length, "entry", "entries")}:`,
64
79
  ...entries.map((e) => `#${e.seq} ${entryText(e)}`),
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-dispatch.js","sourceRoot":"","sources":["../src/mcp-tools-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools-dispatch.js","sourceRoot":"","sources":["../src/mcp-tools-dispatch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grokbot-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "MCP server over grokbot-core for driving a GrokBot workforce from any MCP-compatible agent.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,7 +18,7 @@
18
18
  "!dist/fixtures"
19
19
  ],
20
20
  "dependencies": {
21
- "grokbot-core": "^0.1.1"
21
+ "grokbot-core": "^0.1.2"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",